Add A Software License

Intention
I'm submitting a bug report.
Environment
Github
Description
Current behavior:
Browsing the Github repository yields no apparent information on the source code licensing.
Expected/desired behavior:
I would expect to find a software license in a LICENSE file.
What is the motivation / use case for changing the behavior?
I want the community to feel comfortable contributing to this project and using it. (Also, you may want to consider setting up a CLA for contributors if you don't have one. I recommend using CLA Assistant. That is what the Aurelia team is using now to automate the process.) If something happens to the Aurelia Tools Team, it would be great to know that this application has a license model that allows a new set of developers to "carry the torch" in the future, without any negative legal ramifications.

Very important issue - thank you for bringing it up. I will discuss it tomorrow with @JeroenVinke and @Thanood and set everything up.
Even before seeing what Aurelia team uses, I was in favor of MIT license, so that is my proposal for Aurelia Tools team.

I like the MIT license.

done

Need to engage CLA assistant (https://cla-assistant.io/)
Find a good CLA and put it a gist


Enhancement proposal: Core Policy Module

Related issues:

https://github.com/open-cluster-management-io/enhancements/issues/54
https://github.com/open-cluster-management-io/community/issues/150

we should also consider other alternatives in the proposal like:

should we have a common sdk library but not only for policy only? Will it be suitable in this use case?
can we build the helpers in the existing repo? we should clarify why a separated repo is better.

Thanks for the comments @qiujian16, you make some good points. I've brough in more design details from my prototype into the design section here, but I'll also try to address each point you made in this comment.

is it a duck type with some validation func? The reasoning of these validation

Part of the intent is for a golang struct that new policy types would embed/inline, like most CRDs do with metav1.TypeMeta. Fields inside the struct would be the ones required or used by the policy framework.
For example, we can look at the ConfigurationPolicy type definition, and the policy types in stolostron: CertificatePolicy and IamPolicy. All of these re-define type RemediationAction string, and add kubebuilder validation. But if one of them drifts from what the policy-framework expects, they could run into trouble. Actually we just ran into an issue like this where one would not allow enforce, but the template-sync was still trying to create CRs with that specified, causing errors.
There are other fields like this that are in some ways required by the policy framework, but there are also pieces that are more like "best practices" that we should keep track of. For example: the framework has no hard requirements for the format or content of policy status fields, but if they were consistent, then other tools could read them nicely (eg a common UI).

Is it some common helper funcs? What helper funcs we are expecting?

Some of the fields in the common struct should have some common behavior that each policy controller should not need to re-create / copy. For example, the namespaceSelector. Currently each controller has a function to parse the fiels and find the selected namespaces, like this. The implementations have diverged slightly, which could be confusing in the future.
We have also discussed adding a label selector to this field, in addition to the current includes and excludes lists, and currently each controller would need to copy that in order to stay consistent. So a common place for this behavior would help add new features in the future.

I would also want some example like how a developer can use this library to build the controller.

I think an example would be good, but I wasn't sure if I should include it in the proposal. If you'd like, I can move the tutorial out of the "non-goals".

should we have a common sdk library but not only for policy only? Will it be suitable in this use case?

We currently have the common library for addons, is that the kind of thing you mean? I imagined eventually using that library in this one, since authors of policy controllers will want a way to deploy and manage the controllers. It just wasn't an initial goal of mine.
I think the policy components are separate enough that it could be confusing to include the policy library in the addon library. Like how we don't currently have the policy APIs in the api repo, although maybe that could be a separate discussion.

can we build the helpers in the existing repo? we should clarify why a separated repo is better.

The current policy repostories are: spec-sync, status-sync, template-sync, and propagator (I think the current addon-controller repo is a placeholder for https://github.com/open-cluster-management-io/enhancements/issues/43). Each of these is a controller, responsible for specific behavior in the policy framework, but none of them describe the entire framework. In stolostron, we have a governance-policy-framework repo, which describes the overall behavior, and some of the API, but we don't have that in this community yet.
I feel like a new repository in this community is needed to explain the policy framework overall, and this library would be able to do that.

Added some more details to the example struct, although I would expect the exact wordings to change in the actual library.
From some other discussions a new name for the repository came up as well: "policy-nucleus", capturing the idea of a central/core piece that doesn't conflict with existing "core" or "framework" names.
@dhaiducek @mprahl what do you think?

/unhold

I'm fine with this repo name, but the final decision can be made outside of this enhancement proposal.


add DMS support for discrete systems

code already developed but needs refactoring and cleanup

devel branch availble here

Closing, this issue is stale and will probably not be worked on.


SIMD.js Lowerer BugFix + Unittest updates

Lowerer bug fix for Uint16x8 Equal builtin to use the right
instruction.
Lowerer bug fix for Min/Max operations for Float32x4 type to use
legalization.
Updating simd unittests.

Instead of PR #651 to merge with release/1.2 branch

@LouisLaf signed off on the previous PR so I'm bringing this in to test and then I will merge it

@arunetm you can handle merging this :)


Installation on RPi 2 fails

Here is the error message:
compilation terminated.
pcap_binding.target.mk:93: recipe for target 'Release/obj.target/pcap_binding/src/pcap_binding.o' failed
make: *** [Release/obj.target/pcap_binding/src/pcap_binding.o] Error 1
make: Leaving directory '/usr/lib/node_modules/homebridge-platform-ring-video-doorbell/node_modules/pcap2/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.35-v7+
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/homebridge-platform-ring-video-doorbell/node_modules/pcap2
gyp ERR! node -v v6.9.3
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
/usr/lib
└── (empty)
npm ERR! Linux 4.4.35-v7+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "homebridge-platform-ring-video-doorbell" "--unsafe-perm"
npm ERR! node v6.9.3
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the pcap2 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs pcap2
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls pcap2
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /home/pi/npm-debug.log
npm ERR! code 1

I also encountered this problem, I believe I had several issues at once which makes pinpointing precisely what fixed it tricky but I believe the thing that did it was installing libpcap-dev package.
apt-get install libpcap-dev
I then installed this module with the following,
sudo npm install -g --unsafe-perm homebridge-platform-ring-video-doorbell
It may well be that actually it was only one of these steps that fixed it, or none of them, I was getting so annoyed by this point I was not being especially scientific! It is however working now on my Pi

It seems that it works for me as well. Thanks a lot mate.

Great! Glad I was able to help!

Well i am not so sure. I will get back to you.

@kieranmjones - thanks for the pointer. i'll update the README on the next push (probably this weekend)

Anyone tried this on FreeBSD (FreeNAS Jail)?  Looks like libpcap-dev is not a package we can install, yet we receive the same error when attempting the npm install.

(-;


How does --warnings_allowlist_file works? I tried many ways but no luck

Hello,
I'm trying to use --warnings_allowlist_file to dismiss this warning type:
warning JSC_UNRECOGNIZED_TYPE_ERROR: Bad type annotation. Unknown type XYZ
I know it is reading my file because if it doesn't find the file the compiler just crash with:
java.lang.RuntimeException: java.io.FileNotFoundException: pallowlist.txt (The system cannot find the file specified)
Is the path absolute, relative?, what is the format of the line? I feel my warning is not correct or not accepted, but no error is shown

Could you give an example of how your file is currently formatted?
From https://github.com/google/closure-compiler/wiki/Flags-and-Options#warning-and-error-management:

A file containing warnings to suppress. Each line should be of the form :?

The file name should match how it's reported in the compiler error message.

Could you give an example of how your file is currently formatted?

Yes, I just tried changing the file path to exactly match the compiler output error, this is the error:
swit/js/swit/phys/PhysBody.js:9:13: WARNING - [JSC_UNRECOGNIZED_TYPE_ERROR] Bad type annotation. Unknown type XYZ
I edited the name for clarity, the type doesn't exist because it is just legacy old code and this is the only warning on our code.
I'm trying now with:
swit/js/swit/B2D/B2DBody.js:9? JSC_UNRECOGNIZED_TYPE_ERROR
but I also tried pasting the whole line exactly, not luck, maybe it is just something dumb I'm missing. I'm using v20240317 version of the compiler.

Does this work?
swit/js/swit/phys/PhysBody.js:9 Bad type annotation. Unknown type XYZ

Does this work?
swit/js/swit/phys/PhysBody.js:9 Bad type annotation. Unknown type XYZ

No luck, I tried with (?) character also. For the record the class in more like X.Y.Z not sure if that is important.
Does this work for you? In the mean time we added an exception in our build scripts and are ignoring this warning, it was getting annoying. Thanks.

Can you try pasting the warning message from JSCompiler exactly how it appears. i.e. swit/js/swit/phys/PhysBody.js:9:13: WARNING - [JSC_UNRECOGNIZED_TYPE_ERROR] Bad type annotation. Unknown type XYZ

Can you try pasting the warning message from JSCompiler exactly how it appears. i.e. swit/js/swit/phys/PhysBody.js:9:13: WARNING - [JSC_UNRECOGNIZED_TYPE_ERROR] Bad type annotation. Unknown type XYZ

I remember I tried that, just in case I tried all these, none works:
swit/js/swit/B2D/B2DBody.js:9:13: WARNING - [JSC_UNRECOGNIZED_TYPE_ERROR] Bad type annotation. Unknown type XYZ

swit/js/swit/B2D/B2DBody.js:9:13? WARNING - [JSC_UNRECOGNIZED_TYPE_ERROR] Bad type annotation. Unknown type XYZ

swit/js/swit/B2D/B2DBody.js:9? WARNING - [JSC_UNRECOGNIZED_TYPE_ERROR] Bad type annotation. Unknown type XYZ

swit/js/swit/B2D/B2DBody.js:9 WARNING - [JSC_UNRECOGNIZED_TYPE_ERROR] Bad type annotation. Unknown type XYZ

swit/js/swit/B2D/B2DBody.js:9? Bad type annotation. Unknown type XYZ


Release sdk/resourcemanager/automanage/armautomanage v0.1.0

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

/azp run prepare-pipelines

/azp run go - armautomanage - ci

/check-enforcer override


Feat onResourceBuild callback

What is this about
This PR adds a callback for sync operations to allow further customization of the resources created.
Both for nih-nlm and cmsdotgov syncs.
Issue ticket numbers
N/A
How can this be tested?
Use the sync operation with a custom onResourceBuild callback.
Known limitations/edge cases
N/A

Codecov Report
Base: 20.43% // Head: 93.44% // Increases project coverage by +73.01% :tada:

Coverage data is based on head (d35ab25) compared to base (b52c88e).
Patch coverage: 94.59% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@             Coverage Diff             @@
##             main      #45       +/-   ##
===========================================
+ Coverage   20.43%   93.44%   +73.01%
===========================================
  Files          22        6       -16
  Lines       14846      290    -14556
  Branches     1138       82     -1056
===========================================
- Hits         3034      271     -2763
+ Misses      11812       19    -11793

Impacted Files
Coverage Δ

packages/nih-nlm/r4b/rxnorm/rxnorm-sync.ts
92.13% <92.50%> (+0.08%)
:arrow_up:

packages/cmsdotgov/r4b/nppes/npiregistry-sync.ts
90.21% <97.05%> (+0.10%)
:arrow_up:

packages/core/r4b/builders.ts

packages/core/r4b/merge.ts

...n/src/commands/run/helpers/elementImmediatePath.ts

packages/core/r4b/types.ts

packages/core/r4b/search-builder.ts

...medplum/r4b/medplum-fhir-restful-client-adapter.ts

.../codegen/src/commands/run/helpers/safeNameAsVar.ts

... and 10 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Mediapipe's pose tracking tracks only one person?

I tried a video clip using mediapipe's pose tracking. Is it only for one person, every frame, there is only one person detected.
How can I have multiple people detection in a frame, is it possible?
Then detection, needs to be close to camera. A bit further away person is not detected.
Compared to another model, another one better than pose track's performance.
Is there anyway to improve detection?
I can share video if needs to test.

Hi @nyanmn Can you provide more details regarding above issue.

So it detects only one person.

Yes, It is intended as of now.

Is there any suggestion how to change graph that detects multiple people?
Do I need to retrain?
Any tutorial mediapipe to change graph?

@sgowroji
Did you run the TFLite model for pose key-point detection?
Actually, I want to run pose_landmark_upper_body.tflite
But I face difficulty to parse the output of the TFLite model.
Can you please help me if you got key-points using this model.
Thanks,

Hi @nyanmn
Pose landmarks model is intended to be used with an image of a single person for now.
We can't guarantee the same quality if there will be another person in the same model input image.
Hopefully, in the future, we'll extend the model's ability to work on this case. We are actively working on improving the model right now.
As for the detector, it detects all people in the frame. We pick the one with the highest confidence right now.
But you can create a graph that tracks several people. Take a look at how multi-hand tracking is implemented:
https://github.com/google/mediapipe/blob/master/mediapipe/graphs/hand_tracking/hand_tracking_desktop_live.pbtxt
As for the distance to the camera, the pose detector is trained for closeup cases (less than 4 meters).
No easy way to change that except retraining the model. But if you need that, you can try running a detection on several crops from the image (e.g., split it into a grid) and then combining results with non-maximum suppression.

Hi @nyanmn, Closing this issue as above comment  addressed your query.

I think this issue should not be closed because

people would try to find open issue for the same problem, they will post the request or question repeatedly if this issue was closed
The solution is not really presented in this repo and it should. This should be marked as feature request that need to be added officially. We should have API to get multiple set of landmarks instead of making our own. In fact this library should always provide multi body result even it not really usable, and just has num variable set as 1 by default (and maybe explicitly state that 1 is only the stable number as of now)

https://www.linkedin.com/posts/bharaths5673_yolo-mediapipe-cpu-activity-6954752592426004480-dHlP?utm_source=linkedin_share&utm_medium=member_desktop_web

Are there any progress on this feature?

Please reopen this issue


DefaultAfterRollbackProcessor.isProcessInTransaction() flag should be considered in process() method

In what version(s) of Spring for Apache Kafka are you seeing this issue?
For example:
2.8.11 (but see in the currrent master as well)
Describe the bug
In DefaultAfterRollbackProcessor there's isProcessInTransaction() flag described as:
	/**
	 * Return true to invoke
	 * {@link #process(List, Consumer, MessageListenerContainer, Exception, boolean, ContainerProperties.EOSMode)}
	 * in a new transaction. Because the container cannot infer the desired behavior, the
	 * processor is responsible for sending the offset to the transaction if it decides to
	 * skip the failing record.
	 * @return true to run in a transaction; default false.
	 * @since 2.2.5
	 * @see #process(List, Consumer, MessageListenerContainer, Exception, boolean,
	 * ContainerProperties.EOSMode)
	 */

But this is not considered in process() method which is a part of the public interface of this class and one can expect to work. So, if you call this method yourself, in case you use isCommitRecovered() flag plus use transactional kafka template, you will end up with "no transaction" exception. This flag is only considered by default from org.springframework.kafka.listener.KafkaMessageListenerContainer.ListenerConsumer#recordAfterRollback.
To Reproduce
With transactional KafkaTemplate set isCommitRecovered() to true and try to execute process() method yourself. This end with a "no transaction" exception.
Expected behavior
The above invocation should be wrapped properly into transaction.

Any chances that you can contribute that fix: https://github.com/spring-projects/spring-kafka/blob/main/CONTRIBUTING.adoc?
Thanks

Might try to look at this, but for that I'd have to know one thing. This is called non-transactionally from KafkaMessageListenerContainer.ListenerConsumer.batchAfterRollback()  and transactionally from KafkaMessageListenerContainer.ListenerConsumer.recordAfterRollback(). Is there any reason for this non-transactional call and it should be preserved? I mean, in case batch processing is used in non-transactional processing, KafkaTemplate would also be non-transactional and in the related code of DefaultAfterRollbackProcessor there will be no transaction...
In other words, can we call process() from ``KafkaMessageListenerContainer.ListenerConsumer.batchAfterRollback()with the same transaction conditions asKafkaMessageListenerContainer.ListenerConsumer.recordAfterRollback()`?
That's probably a question to @garyrussell

@l0co, I can look at this issue (unless you are still considering sending a fix). Could you paste here the minimum required to reproduce this error from an application? Did you create your own AfterRollbackProcessor in the application and then call process on it? Please provide some code snippets; that would speed things up. Thanks!

@sobychacko Hello. I planned to submit something here but the end of the year is a bit hot in my company and I haven't found time yet, so feel free to provide a fix.
Yes, I have my own AfterRollbackProcessor with the following code:
Runnable process = () -> strategy.processor().process(consumerRecords, consumer, container, exception, recoverable, eosMode);
if (strategy.processor().isProcessInTransaction())
	kafkaEventTemplate.doTransactionally(process);
else
	process.run();

So, the processing is delegated to a stretegy, but I have manually to wrap this in kafka transactional code. While it should work out-of-the-box. I think the fix can be adding own transactional wrapping in org.springframework.kafka.listener.DefaultAfterRollbackProcessor.process():
	public void process(List<ConsumerRecord<K, V>> records, Consumer<K, V> consumer,
			@Nullable MessageListenerContainer container, Exception exception, boolean recoverable, EOSMode eosMode) {

		if (SeekUtils.doSeeks(((List) records), consumer, exception, recoverable,
				getRecoveryStrategy((List) records, exception), container, this.logger)
					&& isCommitRecovered() && this.kafkaTemplate.isTransactional()) {
			// do manual transactional wrapping here --->
				ConsumerRecord<K, V> skipped = records.get(0);
				if (EOSMode.V1.equals(eosMode.getMode())) {
					this.kafkaTemplate.sendOffsetsToTransaction(
							Collections.singletonMap(new TopicPartition(skipped.topic(), skipped.partition()),
									createOffsetAndMetadata(container, skipped.offset() + 1)));
				}
				else {
					this.kafkaTemplate.sendOffsetsToTransaction(
							Collections.singletonMap(new TopicPartition(skipped.topic(), skipped.partition()),
									createOffsetAndMetadata(container, skipped.offset() + 1)), consumer.groupMetadata());
				}
		// end transactional wrapping here
		}

		if (!recoverable && this.backOff != null) {
			try {
				ListenerUtils.unrecoverableBackOff(this.backOff, this.backOffs, this.lastIntervals, container);
			}
			catch (InterruptedException e) {
				Thread.currentThread().interrupt();
			}
		}

	}

And I think we are protected from non-transactional (batch) processing by this.kafkaTemplate.isTransactional() condition.

To bo more specific: I use DefaultAfterRollbackProcessor but as a delegate through CompositeKafkaAfterRollbackProcessor which implements composite pattern, to allow to define different rollback strategies by topic.

@sobychacko not in this year probably :(

@l0co Any updates on the sample application? Thanks.

I will try to prepare something this week

Hello, that was difficult to return to this subject after longer pause, but tried to check what's going on and prepared small tester https://github.com/l0co/spring-kafka-2878-testcase. This is not a bug, though, just some issue with architecture I had with the related code. If you run DemoApplicationTests.shouldProcessEvent() it works, but if you stop with breakpoint here you will see that this is only transactional, because the calling code takes care of it here. So, if you just used DefaultAfterRolllbackProcessor.process() somewhere in your code with transactional Kafka, you'd have an exception, and you have all calls to your AfterRolllbackProcessor wrapped into the same code:
			if (afterRollbackProcessorToUse.isProcessInTransaction() && this.transactionTemplate != null) {
				this.transactionTemplate.execute(new TransactionCallbackWithoutResult() {

					@Override
					protected void doInTransactionWithoutResult(TransactionStatus status) {
						afterRollbackProcessorToUse.process(unprocessed, ListenerConsumer.this.consumer,
								KafkaMessageListenerContainer.this.thisOrParentContainer, e, true,
								ListenerConsumer.this.eosMode);
					}

				});
			}

We have a scenario where we call it by hand, and we have to replace it with the code above.
On the other hand I think this could be a part of the rollback processor logic, something like this:
	@Override
	public void process(List<ConsumerRecord<K, V>> records, Consumer<K, V> consumer,
			@Nullable MessageListenerContainer container, Exception exception, boolean recoverable, EOSMode eosMode) {

		if (SeekUtils.doSeeks((List) records, consumer, exception, recoverable,
				getFailureTracker()::recovered, container, this.logger)
					&& isCommitRecovered() && this.kafkaTemplate.isTransactional()) {
				this.transactionTemplate.execute(new TransactionCallbackWithoutResult() {

					@Override
					protected void doInTransactionWithoutResult(TransactionStatus status) {
						ConsumerRecord<K, V> skipped = records.get(0);
						this.kafkaTemplate.sendOffsetsToTransaction(
								Collections.singletonMap(new TopicPartition(skipped.topic(), skipped.partition()),
										createOffsetAndMetadata(container, skipped.offset() + 1)
								), consumer.groupMetadata());
					}

				});
		}

		if (!recoverable && this.backOff != null) {
			try {
				ListenerUtils.unrecoverableBackOff(this.backOff, this.backOffs, this.lastIntervals, container);
			}
			catch (InterruptedException e) {
				Thread.currentThread().interrupt();
			}
		}

	}

If set the transactionTemplate to DefaultAfterRolllbackProcessor, maybe first that we need ensure DefaultAfterRolllbackProcessor's KafkaAwareTransactionManager same as upstream components.
Such as KafkaMessageContainer's use  this.transactionTemplate call DefaultAfterRolllbackProcessor.
Please correct me if there is any problem with what I say.

You mean this.transactionTemplate? Yes, this component is not available here but I think we could use kafkaTemplate.executeInTransaction(OperationsCallback<K, V, T> callback) instead.

Do you mean this.transactionTemplate?

Yes, and this.transactionTemplate is create by KafkaAwareTransactionManager, maybe we need ensure DefaultAfterRolllbackProcessor and KafkaMessageContainer use the same KafkaAwareTransactionManager?

I'm not so deeply currently in this config, but I'd just use existing kafkaTemplate as I described above. But you might be right as well


Servo settings to avoid collision for mock sim

Currently, the arm can servo into the table and the only way to come out of collision is to restart Studio.
Reducing the servo speed and increasing the collision check rate helps with displaying a warning and stops collision

Shouldn't this be in the mock hardware site config instead of the base config, so as to not regress hardware performance?

The mock hardware isn't a separate config; so the servo settings are shared with hardware the way it's implemented now.


High severity vulnerabilities found in set-value and mixin-deep

Bug report
Describe the bug
Two vulnerabilities have been highlighted by Synk in dependencies of<EMAIL_ADDRESS>To Reproduce
Run synk test on a project that uses<EMAIL_ADDRESS>Expected behavior
No vulnerabilities found.
Screenshots

System information

Version of Next.js: [e.g. 7.0.2]

Additional context
✗ High severity vulnerability found in set-value
  Description: Prototype Pollution
  Info: https://snyk.io/vuln/SNYK-JS-SETVALUE-450213
  Introduced through<EMAIL_ADDRESS>  From<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>  From<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>  From<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>  and 29 more...

✗ High severity vulnerability found in mixin-deep
  Description: Prototype Pollution
  Info: https://snyk.io/vuln/SNYK-JS-MIXINDEEP-450212
  Introduced through<EMAIL_ADDRESS>  From<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>  From<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>  From<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>  and 13 more...

Links to vulnerabilities:

https://snyk.io/vuln/SNYK-JS-SETVALUE-450213
https://snyk.io/vuln/SNYK-JS-MIXINDEEP-450212

It looks like set-value and mixin-deep  addressed this vulnerabilty yesterday but obviously there are several steps between next and set-value and mixin-deep

I'd totally missed the fact that I wasn't on the latest version of Next, where apparently this isn't an issue.


How to deal with client side caching on web

My question is, as the title says: How to deal with client side caching on web
When I deploy a new version of my web app, I have to clear the cache before I see my change.
I've seen this issue https://github.com/flutter/flutter/issues/136585, but it's specific to icons. Although this issue is about icons, I did find some general suggestions. But since the issue is somewhat older, the suggestions are no longer applicable.
I couldn't find any official documentation about this topic.
A lot of discussion platforms refer to this article on Medium, but that also seems outdated.
It would be great if there is some official documentation about this topic (and maybe even improve the default index.html to have  support for this out of the box).

Hi @markbeij
The goal of this Github repo is to improve Flutter framework reporting bugs or feature requests. If you encounter behavior that you believe is different than https://github.com/flutter/flutter/issues/136585, please file another issue that represents the problem in details.
Instead, if you also experience https://github.com/flutter/flutter/issues/136585, please follow that issue for further updates (it's still open and needs further investigation). You may also leave a comment with your case there.
Closing this issue from here as this is more of a how-to question rather than a bug or feature request.

@huycozy I'll reprhase my issue than: Flutter web app does not reflect changes after deployment of new version of my code
When I deploy a new version of my web app, I still the old version of my webapp in the browser.
Workaround: clear browser cache. This is however an unacceptable workaround since I can't ask every visitor to refresh to make sure they have the latest version.

Thanks for your update, @markbeij. I just addressed an issue looks similar to this at https://github.com/flutter/flutter/issues/149031. I also see this issue without updating app version as well. I will mark this as a duplicate of that one, so please follow up on it for further updates. Thank you!

Thank you @huycozy, much appreciated 👍
I'll keep an eye on #149031


Error send email notification

I have this error on submit form with activated notifications email
"Class "Martin\Forms\Classes\Mails\Notification" does not exist" on line 52 of /home2/devcav9e/ftadrianamunoz.com/vendor/winter/storm/src/Foundation/Maker.php
thanks for you help, sorry by my english

I have the same error. I suspect that this is due to the update winter/storm ver. 1.2.2

I had similar issue. Renaming the following folders within classes to lower case seems to do the trick for me.
File location:
your-winter-install > plugins > martin > forms > classes
Folders:
'FilePond' and 'Mails'
Rename to 'filepond' and 'mails'

Experiencing the same issue too. @McGonigleDevOps seems to work

@josephcrowell can you test just renaming the classes folder to Classes for me? The changes in Winter's class loading shouldn't have broken anything, but I see that this plugin is using neither PSR-4 nor the October / Winter approach of lower case folders, title case files (since it has a mix of both with classes/Upper/File.php instead of classes/upper/File.php or Classes/Upper/File.php).

Renaming the classes folder to Classes does work, but I'm going to stick to the Winter way moving forward. Martin had a habit of breaking this plugin with incorrect case on file/folder names in the past just like this and I won't be doing that.


Move set_logger_verbosity and setup_outputdir to common

Description of changes:
Move set_logger_verbosity and setup_outputdir to common
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-1403-5 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1403/5/index.html

Job PR-1403-7 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1403/7/index.html

@Innixma @gradientsky Please review the logger change

Job PR-1403-9 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1403/9/index.html


Leading slash on path ignores base_uri reference

For example,
# DELETE
parent_ref = Firebase::Client.new('https://my-firebase-db.firebaseio.com/parent')
parent_ref.delete('/child')

... this will make a delete request to 'https://my-firebase-db.firebaseio.com/child', rather than 'https://my-firebase-db.firebaseio.com/parent/child'. This is because of the way the Addressable gem, used by httpclient, concatenates a base url with a path.
Is this what is intended? I found it quite surprising.

I think of the ambiguous behavior invited by allowing /child as a reference, the httpclient behavior is the least surprising. I think the firebase  (and firebase-ruby's) docs are careful not to use absolute path child refs.

@vincentwoo Sorry, not quite sure what you mean. 🤔
My perspective is that once I've got a reference to, /foo, it's nice to be able to make any requests I like against that reference and not have to worry that I might accidentally delete data outside of the scope of that reference.

hey @vincentwoo any thoughts on ^^? I'm happy to submit a PR, or close this issue.

I would take a pr that emits an error when you try to use child with a nonrelative path. Thoughts?

I like. Though why raise an error rather than implicitly convert to a relative path? I don't have much experience with API design so I'm curious.

We should avoid silent surprising behavior. Since our instincts about what would happen with an absolute path were completely different, I think it should emit an error rather than silently do the thing half the people are expecting and the opposite of what the other half are expecting.

Okay, that's what I thought! Thanks for clarifying.


📦 NEW: Option --date

This is new feature request for ISSUE-33 which is adding --date option to our cool corona-cli
Current implementation is valid for corona <country-name>
  Track the Coronavirus disease (COVID-19).

  Usage
    corona <command> [--option]

  Commands
    country-name         Get data for a given country
    states               Get data for all USA states

  Options
    --xcolor, -x         Single colored output
    --sort, -s           Sort data by type
    --reverse, -r        Reverse print order
    --limit, -l          Print only N entries
    --date, -d           Print report for particular date

  Examples
    corona china
    corona states
    corona -x
    corona --sort cases-today
    corona -s critical

  ❯ You can also run command + option at once:
    corona china -x -s cases

+1 for this option!


fix(jsii-pacmak): show custom pack-command in timer label

Currently 'npm pack' is shown in the logs regardless of the custom command.  Like in:
[jsii-pacmak] [INFO] Packaged. npm pack (42.4s) | cleanup (3.8s) | load jsii (0.0s) | js (0.0s)

This behaviour is confusing because it leaves doubt about which command was actually applied. This PR passes the value of the pack-command option to the timer label.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@gmeligio Fails with formatting errors. Please run the build commands locally to ensure linting passes. Thanks.

Thank you, @mrgrain, for the review. I ran locally yarn lint:fix and fixed eslint errors.


Feature request: ACT more in front ?

This remote is beautiful but could distinguish itsself with ACT more in front instead of behind the ACT.
Another advantage would direct 1 push instead 2 just like the hardware version

An improvement for me would be the have is more this way:
something like this

Good idea. I thought about it too. There is one disadvantage: The remote is getting bigger.
Maybe both options in one via configuration. Lets see, if more people are insterested :-)

I realised that too, but maybe some buttons rows can made optional.
e.g. when I listen to radio I do not need all TV buttons and when I need more buttons they are mostly for settings or setup.

maybe you can make at least the activated activity visible on front?

Your last idea sounds good to me. :-)

Your activity is since v1.30 at he frontpage


Add cloudraft as support provider

Hi Community,
We provide commercial support for various cloud-native open-source projects including Kubernetes and Rook are often used in our solutions.
I recently learned that you have a page for supporters and wish to add ourselves here.
Thanks
Anjul
Founder, CloudRaft

@jbw976 hi Jared, we provide consulting and support services that includes design, setup and management of cluster and related ecosystem. Let me know if you need more information.

Thanks for taking the time to add CloudRaft to the support list! Are there any more details you can share about the services that you provide for Rook? Would love to learn more 🤓

We provide full 360-degree services around Kubernetes including building Cloud platforms on bare metal where we primarily use Rook.

@anjuls Are you still interested in merging this PR? Please see the questions above.

We have decided not to list ourselves here. Thank you for reviewing this PR.


Myrtille requires tcp port 80 to be free.

Dear friend,
I noticed that the Myrtille requires TCP port 80 to be free. If I turn on the Apache server on port 80, then Myrtille does not work and I get the following error in the logs:
"2022-02-23 00:55:30,808 [11] ERROR System.Diagnostics redirection [(null)] - Failed to retrieve service process identity, remote session cdbf91dd-6173-400a-820b-67486d157899 (System.ServiceModel.AddressAlreadyInUseException: HTTP could not register URL http://+:80/Temporary_Listen_Addresses/27559611-8a30-4cef-ac61-97438f4d5f18/ because TCP port 80 is being used by another application. ---> System.Net.HttpListenerException: The process cannot access the file because it is being used by another process
at System.Net.HttpListener.AddAllPrefixes()
at System.Net.HttpListener.Start()
at System.ServiceModel.Channels.SharedHttpTransportManager.OnOpen()
--- End of inner exception stack trace ---"
How to fix this issue if I want to use TCP port 80 for Apache web-server with Myrtille simultaneously ?

The same port can't be used at the same time by 2 different applications. TCP 80 is the standard port for HTTP servers, so you have to configure IIS (used by Myrtille) and Apache on different ports (i.e.: Apache port 80 and IIS port 81). The same goes for HTTPS (i.e.: Apache on standard SSL port 443 and IIS port 444). See https://docs.microsoft.com/fr-FR/iis/configuration/system.applicationhost/sites/site/bindings/
Then add this port the URL to access Myrtille (i.e: http://server:81/myrtille, https://server:444/myrtille) or use a reverse proxy like Nginx or ARR for an automatic redirect on these ports (IIS URL rewrite can also do that).

Thank you for the answer. Actually I do understand that I can't use the same port at the same time by 2 different applications. The problem is that even if I use only 8800 for http access in IIS binding settings I still keep getting an error in Myrtille logs that 80 port is being used but the Myrtille main page is loading fine. But if I press connect I'm getting nothing but an error in logs that 80 port is being used : )
If I disable Apache web server that's on 80 port the problem disappears : )
So it seems for me that Myrtille is somehow hiddenly requires to have TCP port 80 being free ^^/.
Please take a look at attached screenshots.
https://i.imgur.com/j8oi1A9.jpg
https://i.imgur.com/6e7BoQb.jpg

"2022-02-23 00:55:30,808 [11] ERROR System.Diagnostics redirection [(null)] - Failed to retrieve service process identity, remote session cdbf91dd-6173-400a-820b-67486d157899 (System.ServiceModel.AddressAlreadyInUseException: HTTP could not register URL http://+:80/Temporary_Listen_Addresses/27559611-8a30-4cef-ac61-97438f4d5f18/ because TCP port 80 is being used by another application. ---> System.Net.HttpListenerException: The process cannot access the file because it is being used by another process

The "process identity" is retrieved by the remote session process service, which is listening on port 8080:
https://github.com/cedrozor/myrtille/blob/b99671589ad0c18f7ccb0878d08e05bcb9cb15c6/Myrtille.Web/Web.Base.config#L127
This service has duplex communication (2 ways), so the "temporary listen address" is bound for callback. This is the pitfall there, it looks like .NET uses the port 80 (which is also the default port for IIS) for callback communication.
Following this hint: https://stackoverflow.com/questions/2904840/wcf-test-client-service-failed-to-invoke/2910182#2910182, you have to set clientBaseAddress in the binding configuration (web.config):
<binding name="wsDualHttpBindingCallback" clientBaseAddress="http://localhost:8800/Callbacks/"
From your screenshot, I see you have IIS listening on port 8800, but you can use another port for callbacks.

Thank you Sir for such a definitive explanation. But this one is the tough issue.
I have successfully changed the "Web.config"  file (see screenshots) but now I keep getting new error:
Web.configMyrtille.Web.SendInputs.Page_Load(Object sender, EventArgs e))
2022-06-03 15:33:14,566 [21] ERROR System.Diagnostics redirection [(null)] - Failed to retrieve service process identity, remote session c4c67d8e-c298-448e-b18b-4bae48be81bb (System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http://+:8800/Callbacks/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details). ---> System.Net.HttpListenerException: Access is denied
Could you please provide some direction where to dig now ...
Log and screenshots are attached.
Myrtille.Web.log

run cmd as Administrator
then
run:  netsh http add urlacl url=http://+:8801/Callbacks/ user=Everyone listen=yes

run cmd as Administrator then run: netsh http add urlacl url=http://+:8801/Callbacks/ user=Everyone listen=yes

Thank you very much my friend! It works like a  charm : )


Release v1.13.0

Added

Add support for ACUL Endpoints in PromptManager #458 (developerkunal)

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

Project coverage is 95.38%. Comparing base (c4109e8) to head (8778787).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #471   +/-   ##
=======================================
  Coverage   95.38%   95.38%
=======================================
  Files          52       52
  Lines       10494    10494
=======================================
  Hits        10010    10010
  Misses        366      366
  Partials      118      118

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


sig#809 - Implement permission for Onboarding Service Provider endpoints

Description
The following endpoints are only reachable via the "Onboarding  Service Provider Management" Page.
Therefor the permission needs to be adjusted accordingly
Adjust the following endpoint to verify against the permission configure_partner_registration
POST: api/administration/registration/network/partnerRegistration
GET: api/administration/registration/network/companies
move api/administration/registration/network/companies to network controller
api/administration/registration/network/companies -> should be moved to the network controller
Acceptance Criteria

[ ] Ensure that the endpoints POST: api/administration/registration/network/partnerRegistration and GET: api/administration/registration/network/companies are only accessible to users who have the configure_partner_registration permission.
[ ] Unauthorized access attempts should return an appropriate HTTP status code indicating lack of permission (e.g., 403 Forbidden).
[ ] Move the GET: api/administration/registration/network/companies endpoint from its current controller to the network controller.

Test cases
Authorized Access - POST Endpoint
Objective: Verify that a user with configure_partner_registration permission can access the POST: api/administration/registration/network/partnerRegistration endpoint.
Steps:
Authenticate as a user with configure_partner_registration permission.
Send a POST request to api/administration/registration/network/partnerRegistration.
Expected Result: The request is successful, and the server responds with a 200 OK status code.
Unauthorized Access - POST Endpoint
Objective: Ensure that a user without configure_partner_registration permission receives a 403 Forbidden status when attempting to access the POST: api/administration/registration/network/partnerRegistration endpoint.
Steps:
Authenticate as a user without configure_partner_registration permission.
Send a POST request to api/administration/registration/network/partnerRegistration.
Expected Result: The server responds with a 403 Forbidden status code.
Authorized Access - GET Endpoint
Objective: Confirm that a user with configure_partner_registration permission can access the GET: api/administration/registration/network/companies endpoint.
Steps:
Authenticate as a user with configure_partner_registration permission.
Send a GET request to api/administration/registration/network/companies.
Expected Result: The request is successful, and the server responds with a 200 OK status code.
Unauthorized Access - GET Endpoint
Objective: Verify that a user without configure_partner_registration permission receives a 403 Forbidden status when attempting to access the GET: api/administration/registration/network/companies endpoint.
Steps:
Authenticate as a user without configure_partner_registration permission.
Send a GET request to api/administration/registration/network/companies.
Expected Result: The server responds with a 403 Forbidden status code.

Hi @Phil91 , @MaximilianHauer
Tested this US According to requirements it's Working fine.
Attached screenshots for references :


[Zenject SampleProject Issue] Object that has Reference to the SceneContext stay in memory after scene unloaded

Hello!
I've found that Zenject somehow is "leaking" in memory, i used the advanced project example from Zenject. Any instances that has bound to SceneContext are kept in memory even when the scene has been unloaded such as the GameInstaller and anything that used Pool. Any help to solve this issue (or find a workaround for it) would be appreciated!
Steps to reproduce:

Use the example project from Zenject (SpaceFighter)
Then, I just adding an empty scene with only one gameobject that contains default SceneContext, LoaderScript to load back the SpaceFighter scene, and Zenject Binding with that loader script component
After that i do profilling from memory profile. What i do is just from SpaceFighter i go to empty scene, back to SpaceFighter scene, back again to empty scene for a few times
Memory Profiler shows the instance of the object that i've mentioned above is increasing as much as i load the scene

Sample Project to reproduce:
Zenject Test.zip

What editor version? We are getting an infinite Application.Reload issue after the second time entering playmode with Unity 2020.3 with our project. 2019.4 is fine. Mabe it has the same root cause

@johnfriedrich Unity 2020.3.12f1, i've fixed this issue with adding:
private void OnDestroy()
{
    _container.UnbindAll();
}

in SceneContext.cs of Zenject.
And, i also need to remove all reference manually when i injected a reference in a class (this is taking too much time).


[FEATURE REQUEST] Portable Apps

Please confirm these before moving forward.

[X] I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
[X] This proposal is a completely new feature. If you want to suggest an improvement or an enhancement, please use this template.

Describe the new feature
Thank you for this great app!
i wish you will Support custom Folder and Apps.
I have some Portable Software like 7zip, WACUP, TOR, BleachBit and some more.
Also i use somtimes Portable Apps from PortableApps.com
Way i use Portable Software?
It can be clean up your Device. eays to move software on some device. easy reinstall of backups with apdata.
if it is not posible autoupdate than just and versionscheck.
an Coummunity Database can help to add webside/orginal downloadsource and some optional target.
as soruce can be  github websidecrwaler or protableapps.com.
added manual rules by user can help to update in the future automaticly the portable version of webside, the 32 or 64bit and unpacking archivs in the right directory.
example:

https://www.7-zip.org/a/7z2409-x64.exe (is v24.09 A rule can help to update in future https://www.7-zip.org/a/7z****-x64.exe or https://github.com/ip7z/7zip/releases (webside rule or update from gibthub)
https://getwacup.com/ (crawl from side)
https://github.com/thetorproject (update from github)
https://github.com/bleachbit/bleachbit/releases (32 or 64 chose by users rule)

right now i use UChecker (Portable) to check my Portable software or seperat install folder and update manual.
i hop you understand.
Describe how this new feature could help users
-Update check for custom folder means portable apps

optional auto update for portable apps

duplicate of https://github.com/marticliment/UniGetUI/issues/2657

I actually don't think this is a duplicate of #2657; that is asking for UniGetUI to be a part of the PortableApps.com database, whereas this is asking for UniGetUI to manage portable apps.

Oh, my bad.

Yes twice.

i use it now portable and use scoop
But if i install scoop it will be install C:/User/
edit: if i move lokal scoop can't add lokal source in uniget for scoop.
edit: maybe https://github.com/marticliment/UniGetUI/wiki entry can also help...

a modifcated PortbaleApps.com version with portable support for personal portable apps and PortableApps would be also nice.
but i want a personal install folder or same like uniget for portable workflow. it is possible for inexperienced users?
i want update PortablAapps Applications by uniceget and
some other portable apps like bleachbit Etcher and co.
Describe how this new feature could help users

thank you for this usefull opensoruce and usefull Application <3
For portable and inexperienced users experience


Remove panic recovering

from #3161

thanks - well lets have a look if it still causes bugs if we do remove it :)


ValueListenableBuilder widget cannot be marked as needing to build.

When I try to run the example code given, I get the below error. I'm not familiar with ValueNotifier and ValueListenableBuilder so I can't figure out, what seems to be the issue here.
The following assertion was thrown while dispatching notifications for ValueNotifier:
setState() or markNeedsBuild() called during build.
This ValueListenableBuilder widget cannot be marked as needing to build because the framework is already in the process of building widgets. A widget can be marked as needing to be built during the build phase only if one of its ancestors is currently building. This exception is allowed because the framework builds parent widgets before children, which means a dirty descendant will always be built. Otherwise, the framework might not visit this widget during this build phase.
I have found same issue in :https://stackoverflow.com/questions/71191775/valuelistenablebuilderstring-widget-cannot-be-marked-as-needing-to-build-sets

Because FileManagerController was disposed when you navigate to other screen, and this class contains some variables ValueNotifier such as _path, _short,... that widget FileManager need. If you want to quick fix it, you can go to file_manager.dart and comment function dispose() .


[Relax][Bugfix] Support torch.unbind op and fix bugs for expand && split

1.support unbind op and add unit tests. unbind op:https://pytorch.org/docs/stable/generated/torch.unbind.html
example:
torch.unbind(torch.tensor([[1, 2, 3], [4, 5, 6],[7, 8, 9]]))
-> (tensor([1, 2, 3]), tensor([4, 5, 6]), tensor([7, 8, 9]))
2.bug fix for expand op, when -1 is given as expand dim(keep the same dim):
https://pytorch.org/docs/stable/generated/torch.Tensor.expand.html
3.support split op with split sections

@tvm-bot rerun

@mshr-h Could you please help to review? thanks in advance!


Change real names to general code

Hi Luyao,
As discussed, I would consider using fake emails with the correct format. The example is supposed to look like a real JSON payload and it is useful to the customer to see exactly what it looks like, with the correct format for the email addresses.


Githubbin problem

What do you do when you run the command to add your username but when you verify, the actual results are:
ACTUAL                                          EXPECTED

"Username added to Git config!"(green)        "Username added to Git config!"(green)
"GitHub account matching Git config"(red)   != "You're on GitHub!"       (red)
"username wasn't found."(red)                     != "Username same on GitHub and"  (red)
""                                                           != "Git config!"              (red)
FAIL
Everything was spelled correctly and the cases were correct.

I'm getting the same message.  Did you ever figure it out?

Just left a comment on your issue @nathan-j-brenner, hopefully that helps out!
@dcooper2 Hmmm, to help me figure out what might be going on could you run these commands in your terminal and tell me what they output?
$ git config user.email
$ git config user.name
$ git config user.username

I just submitted a possiable fix to this if I'm understanding the issue correctly. https://github.com/jlord/git-it/pull/190
It allowed me to use user.name or user.username in my .gitconfig without repercussions. I think as it is today the verification is only done against user.username so if you have user.name it fails.

Closing this issue because haven't gotten a response, but if you feel you have a similar issue make sure that you have the 3 properties below set in your config.
These commands will return for you what you have stored:
# your email address<EMAIL_ADDRESS>$ git config user.email
# your full name "Mona Lisa Octocat"
$ git config user.name
# your GitHub username "octocat"
$ git config user.username

:pizza:

Can't thank you enough....

I'll try and finish my walkthrough of git-it today and see if I can PR this issue away. 😄 .

#236 is supposed to fix this.
Sadly I still don't have the time to more actively help out.


NOT FOR MERGE -- DEPENDENCIES MAKING TEST_SYMBOL_CACHING FAIL ?

the issue was with the latest version of anytree, 2.7.0., pulled by the conda-based builds, which implements cached searches by default. 2.7.1 has now been released and the issue has disappeared. Hence, closing


Additional Support for Vision Based Models Like Llava?

I've attempted to get this working with the out-of-the-box Llava models providing local URLs, remote URL's, and base64 encoded images to no avail. The model runs and chats but not sure how best to feed images to it...

Done.


Specific song does not like to download, says ffprobe is missing

System OS
Windows
Python Version
3.8 (CPython)
Install Source
GitHub
Install version / commit hash
v4.2.1
Expected Behavior vs Actual Behavior
Song downloads, but then errors when parsing metadata.
PostProcessingError: Unable to determine video duration: ffprobe not found. Please install or provide the path using
--ffmpeg-location
ERROR:    Failure downloading Be Somebody
ERROR:    Error downloading!
INFO:     ::1:64387 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F33MnSYLvtOrbj5zwfioEiH&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 500 Internal Server Error
Steps to reproduce - Ensure to include actual links!

open spotdl
download the folowing album: https://open.spotify.com/album/6YJYFQ1Zz9I49YQknK4wIn?si=gZyCfUZqQRStlwyKhEK3lQ

Traceback
Updating web app

Files are stored in temporary directory and will be deleted after the program exits to save them to current directory
permanently enable the `web_use_output_dir` option
Starting web server

INFO:     Started server process [26712]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://localhost:8800 (Press CTRL+C to quit)
INFO:     ::1:64358 - "GET / HTTP/1.1" 200 OK
INFO:     ::1:64358 - "GET /assets/index-CqL-qAH-.js HTTP/1.1" 200 OK
INFO:     ::1:64359 - "GET /assets/index-DRB2_ZPb.css HTTP/1.1" 200 OK
INFO:     ('::1', 64360) - "WebSocket /api/ws?client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a" [accepted]
INFO:     Client 029b9fdf-ec3b-4a21-af51-bccb478a592a connected
INFO:     connection open
INFO:     ::1:64359 - "GET /api/version HTTP/1.1" 200 OK
INFO:     ::1:64358 - "GET /api/settings?client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
INFO:     ::1:64393 - "GET /api/url?url=https:%2F%2Fopen.spotify.com%2Falbum%2F6YJYFQ1Zz9I49YQknK4wIn%3Fsi%3DgZyCfUZqQRStlwyKhEK3lQ HTTP/1.1" 200 OK
INFO:     ::1:64387 - "GET /api/url?url=https:%2F%2Fopen.spotify.com%2Falbum%2F6YJYFQ1Zz9I49YQknK4wIn%3Fsi%3DgZyCfUZqQRStlwyKhEK3lQ HTTP/1.1" 200 OK
Thousand Foot Krutch - The Introduction: Downloading
Thousand Foot Krutch - We Are: Downloading
Thousand Foot Krutch - The End Is Where We Begin: Downloading
Thousand Foot Krutch - Light Up the Sky: Downloading
Thousand Foot Krutch - The Introduction: Embedding metadata
Thousand Foot Krutch - The Introduction: Done
1/0 complete
Downloaded "Thousand Foot Krutch - The Introduction": https://music.youtube.com/watch?v=DgPNY-6Lq9Y
INFO:     ::1:64387 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F46vkjgor6D6YjM0NgtmKKV&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - We Are: Embedding metadata
Thousand Foot Krutch - The End Is Where We Begin: Embedding metadata
Thousand Foot Krutch - We Are: Done
1/0 complete
Downloaded "Thousand Foot Krutch - We Are": https://music.youtube.com/watch?v=U53ahBlZVpg
INFO:     ::1:64393 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F6Rtrt8cKaQ7gpuKAhiHOMn&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - Light Up the Sky: Embedding metadata
Thousand Foot Krutch - The End Is Where We Begin: Done
1/0 complete
Downloaded "Thousand Foot Krutch - The End Is Where We Begin": https://music.youtube.com/watch?v=SblMnSuIFhg
INFO:     ::1:64405 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F4XevN0IZXLR9f59QrSjOXo&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - Light Up the Sky: Done
1/0 complete
Downloaded "Thousand Foot Krutch - Light Up the Sky": https://music.youtube.com/watch?v=gNSXmvsMwkE
INFO:     ::1:64404 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1cLr6aFd7obZ90NUlkq9kO&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - I Get Wicked: Downloading
Thousand Foot Krutch - Let the Sparks Fly: Downloading
Thousand Foot Krutch - Be Somebody: Downloading
Thousand Foot Krutch - I Get Wicked: Embedding metadata
Thousand Foot Krutch - This Is a Warning: Downloading
Thousand Foot Krutch - I Get Wicked: Done
1/0 complete
Downloaded "Thousand Foot Krutch - I Get Wicked": https://music.youtube.com/watch?v=C1FcpzEqMMA
INFO:     ::1:64407 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F2FNoApbnHCY9BMpyoD656K&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - This Is a Warning: Embedding metadata
Thousand Foot Krutch - This Is a Warning: Done
1/0 complete
Downloaded "Thousand Foot Krutch - This Is a Warning": https://music.youtube.com/watch?v=XZq_qm7z1wc
INFO:     ::1:64393 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1BDrygce0KdxpZvJzuJNDn&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - Be Somebody: Embedding metadata
Thousand Foot Krutch - Let the Sparks Fly: Embedding metadata
Removing 1 sponsor segments for Thousand Foot Krutch - Be Somebody
1/0 complete
PostProcessingError: Unable to determine video duration: ffprobe not found. Please install or provide the path using
--ffmpeg-location
ERROR:    Failure downloading Be Somebody
ERROR:    Error downloading!
INFO:     ::1:64387 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F33MnSYLvtOrbj5zwfioEiH&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 500 Internal Server Error
Thousand Foot Krutch - Let the Sparks Fly: Done
1/0 complete
Downloaded "Thousand Foot Krutch - Let the Sparks Fly": https://music.youtube.com/watch?v=HVBlxHVQQ-8
INFO:     ::1:64406 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1591zSWxS0xqHniiIDowDQ&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - Courtesy Call: Downloading
Thousand Foot Krutch - War of Change: Downloading
Thousand Foot Krutch - Down: Downloading
Thousand Foot Krutch - All I Need to Know: Downloading
Thousand Foot Krutch - Courtesy Call: Embedding metadata
Thousand Foot Krutch - Courtesy Call: Done
1/0 complete
Downloaded "Thousand Foot Krutch - Courtesy Call": https://music.youtube.com/watch?v=V0yL4MODEcQ
INFO:     ::1:64405 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F0AOmbw8AwDnwXhHC3OhdVB&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - War of Change: Embedding metadata
Thousand Foot Krutch - War of Change: Done
1/0 complete
Downloaded "Thousand Foot Krutch - War of Change": https://music.youtube.com/watch?v=8onXlXfbOXs
INFO:     ::1:64404 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1qUHD9oPIMFHKpR12NY2KC&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - Down: Embedding metadata
Thousand Foot Krutch - Down: Done
1/0 complete
Downloaded "Thousand Foot Krutch - Down": https://music.youtube.com/watch?v=0TuA7h1m3ok
INFO:     ::1:64407 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F7mZrDv49hvwfa7lQhQvGg6&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - All I Need to Know: Embedding metadata
Thousand Foot Krutch - All I Need to Know: Done
1/0 complete
Downloaded "Thousand Foot Krutch - All I Need to Know": https://music.youtube.com/watch?v=5Yq4eFw4uZo
INFO:     ::1:64393 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F3qwQO957WUbTw8A2Ifat4E&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - The Introduction (file already exists) (duplicate)
Thousand Foot Krutch - The Introduction: Skipped
1/0 complete
INFO:     ::1:64404 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F46vkjgor6D6YjM0NgtmKKV&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - We Are (file already exists) (duplicate)
Thousand Foot Krutch - We Are: Skipped
1/0 complete
INFO:     ::1:64407 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F6Rtrt8cKaQ7gpuKAhiHOMn&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - Light Up the Sky (file already exists) (duplicate)
Thousand Foot Krutch - Light Up the Sky: Skipped
1/0 complete
INFO:     ::1:64393 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1cLr6aFd7obZ90NUlkq9kO&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - The End Is Where We Begin (file already exists) (duplicate)
Thousand Foot Krutch - The End Is Where We Begin: Skipped
1/0 complete
INFO:     ::1:64404 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F4XevN0IZXLR9f59QrSjOXo&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - Let the Sparks Fly (file already exists) (duplicate)
Thousand Foot Krutch - Let the Sparks Fly: Skipped
1/0 complete
INFO:     ::1:64407 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1591zSWxS0xqHniiIDowDQ&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - I Get Wicked (file already exists) (duplicate)
Thousand Foot Krutch - I Get Wicked: Skipped
1/0 complete
INFO:     ::1:64393 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F2FNoApbnHCY9BMpyoD656K&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - Be Somebody (file already exists) (duplicate)
Thousand Foot Krutch - Be Somebody: Skipped
1/0 complete
INFO:     ::1:64404 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F33MnSYLvtOrbj5zwfioEiH&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - This Is a Warning (file already exists) (duplicate)
Thousand Foot Krutch - This Is a Warning: Skipped
2/0 complete
INFO:     ::1:64407 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1BDrygce0KdxpZvJzuJNDn&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - Courtesy Call (file already exists) (duplicate)
Thousand Foot Krutch - Courtesy Call: Skipped
1/0 complete
INFO:     ::1:64393 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F0AOmbw8AwDnwXhHC3OhdVB&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - War of Change (file already exists) (duplicate)
Thousand Foot Krutch - War of Change: Skipped
1/0 complete
INFO:     ::1:64404 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1qUHD9oPIMFHKpR12NY2KC&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - Down (file already exists) (duplicate)
Thousand Foot Krutch - Down: Skipped
1/0 complete
INFO:     ::1:64407 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F7mZrDv49hvwfa7lQhQvGg6&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - All I Need to Know (file already exists) (duplicate)
Thousand Foot Krutch - All I Need to Know: Skipped
1/0 complete
INFO:     ::1:64393 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F3qwQO957WUbTw8A2Ifat4E&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - Fly On the Wall: Downloading
Thousand Foot Krutch - So Far Gone: Downloading
Thousand Foot Krutch - Outroduction: Downloading
Thousand Foot Krutch - Outroduction: Embedding metadata
Thousand Foot Krutch - Fly On the Wall: Converting
Thousand Foot Krutch - Outroduction: Done
1/0 complete
Downloaded "Thousand Foot Krutch - Outroduction": https://music.youtube.com/watch?v=NlzyYrRg_v4
INFO:     ::1:64405 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1ZNs4sMtauky3ixX0rXWR0&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - So Far Gone (file already exists) (duplicate)
Thousand Foot Krutch - So Far Gone: Skipped
1/0 complete
INFO:     ::1:64407 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F3Ie9Rilj9uKC3ntzSOEmi7&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Skipping Thousand Foot Krutch - Outroduction (file already exists) (duplicate)
Thousand Foot Krutch - Outroduction: Skipped
2/0 complete
INFO:     ::1:64393 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F1ZNs4sMtauky3ixX0rXWR0&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
1/0 complete
DownloaderError: Could not remove temp file: C:\Users\fishe\.spotdl\temp\w5ukyMHOf0I.m4a, possible duplicate song
ERROR:    Failure downloading Fly On the Wall
ERROR:    Error downloading!
INFO:     ::1:64387 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F61nJplehv0WVUKMQX0pd8O&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 500 Internal Server Error
Thousand Foot Krutch - So Far Gone: Embedding metadata
Thousand Foot Krutch - So Far Gone: Done
1/0 complete
Downloaded "Thousand Foot Krutch - So Far Gone": https://music.youtube.com/watch?v=W7qBPOeUPtA
INFO:     ::1:64406 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F3Ie9Rilj9uKC3ntzSOEmi7&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK
Thousand Foot Krutch - Fly On the Wall: Embedding metadata
Thousand Foot Krutch - Fly On the Wall: Done
1/0 complete
Downloaded "Thousand Foot Krutch - Fly On the Wall": https://music.youtube.com/watch?v=w5ukyMHOf0I
INFO:     ::1:64404 - "POST /api/download/url?url=https:%2F%2Fopen.spotify.com%2Ftrack%2F61nJplehv0WVUKMQX0pd8O&client_id=029b9fdf-ec3b-4a21-af51-bccb478a592a HTTP/1.1" 200 OK

Other details
I'm using python 3.12.5

Update to the latest version first. FFprobe shouldn't be required, have you changed any settings? What FFmpeg version are you using?

I tried to replicate this issue, but there seem to be no errors on my end. It might be a case of a missing dependency. Try reinstalling spotdl.

Hi @Artemis1096
Great to see you around the spotDL project. We are always on the lookout for more volunteers to contribute to spotDL.
Would you be interested in joining the spotDL development team?
Thanks for your contributions thus far.
You can also join the spotDL discord @ https://discord.gg/xCa23pwJWY


Several fixes, mostly to tests

Here's a series of small patches. The main one makes the tempfile generation in the tests more robust, as well as making the files easier to spot afterwards (the tests tend to leave a lot of tempfiles lying around). This might just solve the impossible-to-reproduce test failures that I've been seeing.

Hm, Travis seems to have stumbled on one of those failures in https://travis-ci.org/mattn/go-sqlite3/builds/65578505...

merged. thanks.


Nested hash keys are faster than creaing a new array

I had this micro-optimization lying around, and thought I might as well make a PR out of it. In practice, the performance gains are probably negligible…
Benchmark says nested hash reading is over 600% faster and writing is over 150% faster than creating a new array and using that as a hash key:
Calculating -------------------------------------
      read array key    57.851k i/100ms
    read nested keys   129.057k i/100ms
     write array key     9.000  i/100ms
   write nested keys    26.000  i/100ms
-------------------------------------------------
      read array key    937.092k (± 3.9%) i/s -      4.686M
    read nested keys      6.728M (± 3.7%) i/s -     33.684M
     write array key     82.370  (±19.4%) i/s -    396.000
   write nested keys    218.754  (±41.1%) i/s -    884.000

Benchmark script:
require 'benchmark/ips'

Benchmark.ips do |x|
  a = {}
  100.times do |x|
    100.times do |y|
      a[[x, y]] = 42
    end
  end

  x.report("read array key") do
    a[[42, 42]]
  end

  b = {}
  100.times do |x|
    100.times do |y|
      b[x] ||= {}
      b[x][y] = 42
    end
  end

  x.report("read nested keys") do
    b[42][42]
  end

  x.report("write array key") do
    a = {}
    100.times do |x|
      100.times do |y|
        a[[x, y]] = 42
      end
    end
  end

  x.report("write nested keys") do
    b = {}
    100.times do |x|
      100.times do |y|
        b[x] ||= {}
        b[x][y] = 42
      end
    end
  end
end

:+1:


Fix syntax error in updated deploy.sh

Follow-on from #4590.

Once it is green with travis I will merge


Sync settings after App installation

Fixes #1
Implementation has overlap with #179

am i correct in understanding that this would directly update the file in the default branch? if so, it seems dangerous to do this without submitting the changes as a PR to give the repository maintainer a change to review and accept the changes. if a project already has the settings file, it's likely that there is a reason for it to include the contents that it does, even if it should be supplemented with additional details.

What do you mean with directly updating the settings file?
The flow this results in:

Probot settings is installed by user (all or selected repos)
Probot will loop the previous repos and if it finds a settings file it will sync it
If the user installs additional repos it will repeat this loop for the new repos.

sorry, i definitely misunderstood the goal. i was thinking about the opposite situation where a repo without an existing file would have one created by pulling the existing settings for that repo through the api and written to the config file. i think there was an issue for that at one point, so i think i made the wrong assumption before reading deeply enough.
with a better understanding now, i do see high value to this. i have been really busy lately, but will try to look through your PR soon and give feedback soon.

sorry that i still havent gotten to this, but it is still on my radar

Maybe ping @travi ? 😊

Is there anything blocking this PR @travi?
This (or another implementation for #1) would significantly improve the security stance when using this app.
Currently, an org admin configuring a new repo needs to do two tasks in order:

Install the app in the repo
Push/merge a commit with .github/settings.yml with the required branch protection rules

If they do those in the wrong order, then it's very easy for them to be under the mistaken impression that the repo has been configured safely. This leaves the repo significantly vulnerable until either the settings are updated or an admin notices the missing rules.
That condition is especially likely when creating repos from a template, as the template is likely to have the settings file already.


ETH Sofia - Events bölümüne eklenmesi

ETHSofia Logo.zip
Don't miss the opportunity to listen to more than forty speakers from the leading companies of the blockchain ecosystem, meet people from the ecosystem and hack award-filled hackathon tracks in ETH Sofia, which will be held in Sofia on 17-19 October 2024, where node101 is the developer community partner.
Don't forget to take advantage of the discount given to Turkish software developers.

https://www.ethsofia.com/
bu adresi de linkleriz

irrelevant


Get-WMIObject should be replaced with Get-CIMInstance

Get-WMIObject is based on DCOM. During Windows 8 timeframe, this is replaced with Get-CIMInstance which is more stable and works in many scenarios that Get-WMIObject does not work. Generate a warning, if a script uses Get-WMIObject and is PowerShell 3.0 and above.

FT - Triaged - Approved

How do we know whether a script is running on PS 3.0 and above?

Scripts have #requires..not all scripts may specify this.
Module manifest has PowerShellVersion.
-Krishna
From: quoctruong<EMAIL_ADDRESS>Sent: Thursday, April 16, 2015 1:38 PM
To: PowerShell/PSScriptAnalyzer
Cc: Krishna Vutukuri
Subject: Re: [PSScriptAnalyzer] Get-WMIObject should be replaced with Get-CIMInstance (#19)
How do we know whether a script is running on PS 3.0 and above?
—
Reply to this email directly or view it on GitHubhttps://github.com/PowerShell/PSScriptAnalyzer/issues/19#issuecomment-93834304.


Improve repo features

Add

[x]  Automatic releases using GH actions
[x] Badges to main README.md
[x] GH Issue templates for enhancements and bugs

Badges addressed in PR #12

Automatic releases addressed in PR #10

Issue templates addressed in PR #9


Implement show_dataframe

This new function in the visualization module allows users to scroll through a DataFrame and search it. We believe this is much nicer than the built-in pandas printing and could be a heavily used function :2nd_place_medal: . See this notebook for an example.
Internally, this works by creating an HTML DataTable. The relevant files are in the new texthero subfolder visualization-server that implements an extremely light-weight way to create our visualizations. It's adopted from pyLDAvis and refactored/simplified by us. This folder can also be used for further texthero visualization functions in the future.
Note: travis/setup changed because of #171 . This is branched straight from master.
EDIT: ~still working on support for online Jupyter Notebooks (e.g. Colab)~ :heavy_check_mark:

Finally fixed colab issues. Here is an example notebook. Below you can see a screenshot from the notebook.

Beautiful!!

How fast it is the search with large datasets? Also, all dataset is loaded into the browser or only the page we are looking for? (i.e is that fast?)
It would be great if the width of the columns can be adapted according to the content. For instance, we don't need topic to be that large (search in google "html table adapt column width to content" for instance)
Are the left and right padding (margin) necessary?
We can also just call this function hero.show (we will accept both Series and DF) or even add it as custom accessor so that we can also call it with df.hero.show() (not sure about this approach, as it might confuse the users?)
Can we add a parameter used to define the maximum number of lines displayed for each text?
Is the whole webbrowser part code stable and safe?

How fast it is the search with large datasets? Also, all dataset is loaded into the browser or only the page we are looking for? (i.e is that fast?)

Yes, the whole dataset is loaded into the browser. Locally, this works for me until around ~50k rows, then it starts to get really slow to load. As soon as it is loaded, the search is really quick. I think that changing (i.e. only loading parts and dynamically loading more etc.) would be a huge amount of work that's probably out-of-scope at this point; but it might be interesting to revisit this later. I think that for many users it's still already very useful (as long as either the dataset is not very big or the machine is powerful, everything works great).

It would be great if the width of the columns can be adapted according to the content. For instance, we don't need topic to be that large (search in google "html table adapt column width to content" for instance)

That is by default enabled for datatables (see here), and it also works locally. It does not work in colab, not sure why. It's difficult to see why/how some HTML rendering fails in colab/jupyter :badger:

Are the left and right padding (margin) necessary?

Again, that's also only a colab problem and we're not sure how to solve this without a huge amount of work :disappointed:

We can also just call this function hero.show (we will accept both Series and DF) or even add it as custom accessor so that we can also call it with df.hero.show() (not sure about this approach, as it might confuse the users?)

I agree that a custom accessor might be confusing; I think we could call it hero.show, but to me that sounds a little more general and hero.show_dataframe describes the function a little better :pig2:

Can we add a parameter used to define the maximum number of lines displayed for each text?

Again, that's also quite difficult as far as I can see.

Is the whole webbrowser part code stable and safe?

Yes, very. Everything runs locally and we're basically only serving one HTML file with the datatable.
** Summary **:
We could probably spend a lot of time making this better for big data / ..., but that's probably out-of-scope for texthero; we think that the simple, relatively lightweight implementation here is good and other, more dynamic stuff would take lots and lots of effort spent on this one function. That's why we're a little hesitant to do that - we think it's already quite useful for most users, and still quite simple. Making it perfect would be interesting and fun, but also hard and time-consuming.

we just went through this PR again and from our side, it is ready for review 🍾 🍺 🍻

TODO

make usable for bigger datasets
test in different environments
make better looking


Contact

Hi! Would love to talk to you about a project. Could you email me at<EMAIL_ADDRESS>

@bruel-gabrielsson hello, I send a message to you.


Add Lua code pieces

Add Lua code pieces you use frequently here:
https://github.com/nonunicorn/onelinerhub/tree/main/lua
How to do it:
https://github.com/nonunicorn/onelinerhub/blob/main/README.md

Added few pieces in https://github.com/nonunicorn/onelinerhub/pull/45


Fix text search limitations in ElasticSearch

Our configuration of ElasticSearch doesn't treat underscores as word boundaries, so e.g. searching for "disc" doesn't match "20170113_VS_DISC3_nedc001_neg_43X43_10X10"
Ver has raised that using spaces instead of underscores in the filenames would mean not being compatible with the raw to imzml converter.
L has also reported that searching for molecules seems to have an unusually long minimum length requirement, e.g. "cholest" and "cholic" find molecules, but "chol" doesn't:
https://metaspace2020.eu/annotations?ds=2018-03-23_12h01m08s&fdr=0.5&q=cholest&sort=-msm&sections=7&page=1
https://metaspace2020.eu/annotations?ds=2018-03-23_12h01m08s&fdr=0.5&q=cholic&sort=-msm&sections=7&page=1
https://metaspace2020.eu/annotations?ds=2018-03-23_12h01m08s&fdr=0.5&q=chol&sort=-msm&sections=7&page=1

Closing. This was fixed, or at least greatly improved, some time in 2019.


Failed to compile on XUbuntu 18.04 kernel 4.4.179-rk3399 with Orange Pi 4B

Hi, @MartyG-RealSense
With the instructions for Linux installation I tried to compile on a Orange Pi 4B with XUbuntu 18.04 kernel version 4.4.179-rk3399 but failed in some sections

Required Info

Camera Model
{ D400(D435i) }

Operating System & Version
{Linux (Ubuntu 18)}

Kernel Version (Linux Only)
4.4.179-rk3399

Platform
Orange Pi 4B

SDK Version
{ (v2.43.0)}

Issue Description
when Using pre-build packages, i could not add the repo because it dosen't support architecture 'armhf'.

N: Skipping acquire of configured file 'main/binary-armhf/Packages' as repository 'https://librealsense.intel.com/Debian/apt-repo bionic InRelease' doesn't support architecture 'armhf'

when Configuring and building from the source code,  I could not install it by using ./scripts/patch-realsense-ubuntu-lts.sh, because it shows me that it dosen't support the kernel version 4.4.179-rk3399.

Unsupported kernel version 4.4.179-rk3399 . The Bionic patches are maintained for Bionic Beaver LTS kernels 4.1[5/8], 5.[0/3/4]

Is there any way?

Hi @w407022008   The librealsense Debian installation packages are designed for x86 / x64 processors and so will not work with devices that have an Arm processor such as Orange Pi (and also Raspberry Pi and Jetson).
You can instead build librealsense from source code using CMake with the RSUSB backend installation method.  This method, which uses the build configuration flag -DFORCE_RSUSB_BACKEND=true, installs the SDK via an internet connection and is not dependent on Linux versions or kernel versions and does not require patching,  Instructions can be found in the link below
-DFORCE_RSUSB_BACKEND=true

Ok, Thanks,,,, I will have a try.. And any issues will be returned, if found.

Hi, @MartyG-RealSense . This way works on my platform, but when i roslaunch realsense2_camera rs_camera.launch , i got an error that realsense ros is v2.2.23 which is compile with librealsense v2.43.0 but the librealsense built is v2.44.0. Do we have a ros wrapper for librealsense v2.44.0?

When librealsense is updated, the ROS wrapper has to be rebuilt too otherwise the message that you received is generated.
There is not a ROS wrapper version to match to 2.44.0 at the time of writing this, though one is usually released for each SDK version.  Ideally the RealSense ROS wrapper should be matched as closely as possible to the librealsense version recommended in the wrapper release notes for that particular wrapper.
You could build librealsense 2.43.0 with RSUSB using the source-code file for that version and then build ROS wrapper 2.2.23 again.
https://github.com/IntelRealSense/librealsense/releases/tag/v2.43.0
https://github.com/IntelRealSense/realsense-ros/releases/tag/2.2.23

Do you require further assistance with this case, please?  Thanks!

Hi, yes, It works for me.
Steps:

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
git clone https://github.com/IntelRealSense/librealsense.git
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev at
./scripts/setup_udev_rules.sh
mkdir build && cd build
cmake ../ -DFORCE_RSUSB_BACKEND=true -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true
sudo make uninstall && make clean && make && sudo make install
realsense_viwer

Great to hear about your success - thanks very much for the update and sharing the method that worked for you!


Master Documentation is broken at places

📚 Documentation
The master is built with latest sphinx so there are few places where docs aren't nice. E.g. ops master vs ops 0.9
What's broken.

[ ] Almost everywhere Type hinting in functions, which for in built dtypes such as str, int, float
E.g. EMNIST Docs

[X] ~VGG Docs for papers. The link for paper isn't rendered well.~ That's actually not related to the new shpinx and it was already bad on master. #3684 Fixes the links

Possibly this is because of the upgrade to Sphinx 3.5.4. Maybe some other version might render it well?
Possible fixes are in this stackoverflow QA

Thanks for the report, yeah I noticed that too. This seems related to the theme,
I'll reach out to the theme team on Monday and see what we can do

The paper links are unrelated to the sphinx version (but thanks for noticing!)
Another discrepancy that I noticed is that the "Parameters", "Returns" sections etc now have a different and more bulky rendering: 0.9 vs master
I tend to have a preference for the "old" one but maybe that was made on purpose: all of torchaudio, torchtext and pytorch docs use the "new" bulky rendering.

I think we can close this now than #3652  / https://github.com/pytorch/vision/pull/3685 have been merged. Thanks @oke-aditya !


Append the default paths to the linker command

Moves the default library paths (ie. /usr/lib and /usr/local/lib) to the end of the linker command, so they will eventually be searched after other lib declarations, instead of being searched first.
Fixes #2882 by allowing a specific libssl to be linked instead of always using the system default one.

Merged as 254c18cb5e95b9437276ef16d4dc6a24db3b98a3
Thank you!


WIP: Add password confirmation to Get-Credential

PR Summary
This PR adds a -ConfirmPassword parameter to Get-Credential. This helps to ensure that when entering a password, you really typed what you intended to (especially helpful with complex passwords). This only validates the text entered, and does not actually validate that the password meets any complexity requirements, nor does it actually validate it with any providers.
PR Context
Originally logged as an enhancement request in #10625.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[ ] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[x] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[x] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:

Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode (which runs in a different PS Host).
Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).
Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

Still need to work on tests, and possibly documentation for the new parameter (need a little clarification on this).

Replaced with #12782


[Bug]: Change return type CA produces the supertype error along with the expected error type

Description
When the return statement contains a library function call that returns an Error type, the change return type CA includes both the Error type and its supertype 'error'. Ideally, it should only include 'Error'.

Steps to Reproduce
public function convertStringToLines(string inputStr) returns string[] {
    io:ReadableByteChannel readableChannel = check io:createReadableChannel(inputStr.toBytes());
    io:ReadableCharacterChannel readableCharChannel = new (readableChannel, io:DEFAULT_ENCODING);
    return <CURSOR>readableCharChannel.readAllLines();
}

Affected Version(s)
Ballerina 2201.8.5 (Swan Lake Update 8)
OS, DB, other environment details and versions
OS: macOS 14.2.1 23C71
JDK: openjdk 17.0.8 2023-07-18
Related area
-> Compilation
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Since there is a check expression, the generic error is added to the return types list.


Cobigen-generated FindByCriteria behaves in unexpected way

Moving issue
This issue was on devon4j, so I decided to move it here.
When using Cobigen to generate the Entity infrastructure, it produces something like:
public interface AccountingEntryRepository extends DefaultRepository<AccountingEntryEntity> {

  /**
   * @param criteria the {@link AccountingEntrySearchCriteriaTo} with the criteria to search.
   * @param pageRequest {@link Pageable} implementation used to set page properties like page size
   * @return the {@link Page} of the {@link AccountingEntryEntity} objects that matched the search.
   */
  default Page<AccountingEntryEntity> findByCriteria(AccountingEntrySearchCriteriaTo criteria) {
...

The documented parameter pageRequest is apparently not part of the method's signature and is not mentioned in the generated code.
Instead, the generated AccountingEntrySearchCriteriaTo has a member private Pageable pageable from AbstractSearchCriteriaTO.
The documentation of that is:
  /**
   * @return the {@link Pageable} containing the optional pagination information or {@code null}.
   */
  public Pageable getPageable() {

    return this.pageable;
  }

However, if I call findByCriteria() with an AccountingEntrySearchCriteriaTo that has its Pageable not set, I receiver a Null Pointer Exception (this may be due to other problems in my code, not sure yet)
I have generated my project using devcon. I use the 3.0.0 distribution with the 20190115 patch.

Hello @Jan-PeterRichterCG,
I would like to know in which use case you wouldn't use Pageable. Are you trying to get just one AccountingEntry?
Thanks!

@jdiazgon: "I would like to know in which use case you wouldn't use Pageable" Yes, I was asking myself the same question after filing the issue. My "use case" was a test case where I knew that there are just a hand full of results and I have to check them all - so I simply want to have them all and in any order.
This, however, can also be a valid use case in production. If you have a table with some master data, you know that there are just a few (because the business logic tells you that there simply cannot be hundreds of this type) and you need them all - then you don't need a pageable.
I admit that these cases will probably be rare, and if you really need to have a query that doesn't contain the pageable restriction (for whatever reason), then you can still write the query by hand.
So, the easiest fix for this bug would be to remove the line @param pageRequest {@link Pageable} implementation used to set page properties like page size and change the line @return the {@link Pageable} containing the optional pagination information or {@code null}. to @return the {@link Pageable} containing the pagination information. from the templates. ==> no more false java docs generated!

Thanks for your explanation 👍
It is possible to set a Pageable object that returns all the results, I have just tried it on our method findByCriteria(...):
return QueryUtil.get().findPaginated(PageRequest.of(0, Integer.MAX_VALUE), query, true);

The PageRequest.of(0, Integer.MAX_VALUE) creates a new Pageable object that retrieves all the items of your entity.
I do agree that throwing a null pointer exception when no Pageable is set is not a good practice. Maybe we could set on that case a default PageRequest.of(0, Integer.MAX_VALUE).
Nevertheless, we should for sure change the Javadoc.

@jdiazgon
I would suggest to change the template for WhatsoeverEntityRepository.java in the following way:

remove javadoc line @param pageRequest {@link Pageable} implementation used to set page properties like page size
add something like if(null == criteria.getPageable()) {criteria.setPageable(...)} so that a default Pageable is added to the criteria if none is present.

The second step, however, is a bit controversial: When you call findByCriteria(), the method not only returns a result but also silently changes your criteria parameter by adding a Pageable that you have not specified.
A truly clean solution would be

to make a copy of the criteria, add the default Pageable to the copy and use the augmented copy OR
to remove the default Pageable IF it was added within findByCriteria() before returning the result (and this should be done in a try/finally to ensure the removal even in case of an exception)

Best Regards
Jan-Peter

to remove the default Pageable IF it was added within findByCriteria() before returning the result (and this should be done in a try/finally to ensure the removal even in case of an exception)

Seems valid to me. What do you think @maybeec ?

Hmmmm....  looking closer into the code that is actually called, I can see an even better way:

in WhatsoeverRepository.findByCriteria() there are two calls:

addOrderBy(query, alias, criteria.getPageable().getSort()) - this one crashes if getPageable() returns null
QueryUtil.get().findPaginated(criteria.getPageable(), query, true) - this one calls QueryUtil.findPaginated(Pageable pageable, JPAQuery<E> query, boolean determineTotal) and that calls QueryHelper.findPaginatedGeneric(Pageable pageable, JPAQuery<E> query, boolean determineTotal) - and that one can handle Pageables that are null
==> It would be sufficient to just enclose the call to addOrderBy() with an if(null != criteria.getPageable() and we're done!

Good approach :)

Hi @Jan-PeterRichterCG thanks for pointing this out and sry for the late reply :)
@jdiazgon could we provide a quickfix and a release of the template for that?

QueryHelper.findPaginatedGeneric(Pageable pageable, JPAQuery<E> query, boolean determineTotal) - and that one can handle Pageables that are null

I have just checked this and unfortunately pageable must not be null. Please see the following figure:

It creates a new PageImpl instance which asserts that the pageable is not null. Therefore it throws a 500 internal server error.
So my proposal would be: If no pageable is set, then we should create a default one. This default pageable would return all the elements from the database. Do you agree?

Here, you will find my commit with the implemented changes.

The question is: is com.devonfw.module.jpa.dataaccess.api.findPaginatedGeneric() broken or not?

the javadoc sais: * @param pageable contains information about the requested page and sorting. There is no explicit documentation about a pageable that is null
later on in the code we find  if (pageable != null) { ... which indicates that the code is intended to handle null-valued pageable parameters
However, if called with a null-valued pageable, it crashes due to PageImp<>() not accepting null

A clean solution would be to

decide whether findPaginatedGeneric() shall be able to process null-valued pageable parameters or not
if yes, there should be added an else branch to the afore mentioned  if (pageable != null) { ... where the local pageable is set to the default Pageable - yielding the call to PafeImp<>() safe.
if no, it should be documented in the javadoc of findPaginatedGeneric() that the parameter pageable must not be null and the  if (pageable != null) { ... can be deleted to make the code more staight-forward.

the code is devon4j...

You are right. As we have already addressed the Javadoc problem on the CobiGen template, I think I'm going to create a new issue on devon4j and not transfer this issue.


Add falcon7b t3000 tests to new multi-device perf pipeline

Add models_performance_bare_metal_multi_device to pytest markers
Add falcon7b prefill + decode and sync/async multi-chip (only 4 chips for now) tests to t3000 model perf pipeline

Model perf tests (single-chip): https://github.com/tenstorrent/tt-metal/actions/runs/8840748630
Model perf tests (multi-chip): https://github.com/tenstorrent/tt-metal/actions/runs/8840749351


update docu and travis deploy

Coverage remained the same at 89.333% when pulling 6f2085358cf7b17bccf88bf5e76c1502b79412a1 on mbocek:repoting-level into d5a26135e303d40b547d62f239d3726eef382000 on jbehavesupport:master.

Coverage remained the same at 89.333% when pulling 0a18e017bef3528458c706a5a95278e37cae014d on mbocek:repoting-level into d5a26135e303d40b547d62f239d3726eef382000 on jbehavesupport:master.

Coverage remained the same at 89.333% when pulling 0a18e017bef3528458c706a5a95278e37cae014d on mbocek:repoting-level into d5a26135e303d40b547d62f239d3726eef382000 on jbehavesupport:master.

Coverage remained the same at 89.333% when pulling f75cdfb874320a8ab83423b6381210e37f7fe924 on mbocek:repoting-level into d5a26135e303d40b547d62f239d3726eef382000 on jbehavesupport:master.