NLog 5 -> drop .NET Standard 1.x support

Drop .NET standard 1.x support and move to .NET standard 2.0
related https://github.com/aspnet/Announcements/issues/249

So there will be no stable release of NLog that supports netstandard 1.x? That's not great...

No as the stacktrace/strackframe API isn't there in .NET Standard 1.x
Is it difficult to move to  .NET Standard 2?

It's an upstream dependency issue. We have customers who use our .net standard 1.3 libraries which is using NLog 4.4.0-betaV15. I clearly made a bad bet here as I assumed there would be a stable v4.x with .netstandard support soon after.
We don't use a lot of NLog's functions (like stack trace) because we have our own logging abstraction (NLog provides a bunch of useful targets and live configuration), so in reality we could probably just not use NLog if we want to stay on netstandard 1.3 - so I guess it is not critical for us.

It's an upstream dependency issue. We have customers who use our .net standard 1.3 libraries which is using NLog 4.4.0-betaV15. I clearly made a bad bet here as I assumed there would be a stable v4.x with .netstandard support soon after.

Of course NLog 4.4.0-betaV15 will keep working, but as you may have noticed, there isn't progress on the .NET standard + 4.x
It's also announced here: http://nlog-project.org/2016/10/30/nlog-roadmap-netcore-structural-logging.html

Thanks for the link. Yes NLog 4.4.0-betaV15, but depending on it is marking our package as pre-release (since nuget won't allow stable packages to depend on pre-release ones). It was acceptable short term.
At any rate, I read the blog and saw the challenges and agree that it's not really viable to support NLog on netstandard 1.x. Pity.

it's not really viable to support NLog on netstandard 1.x. Pity.

Could not agree more!

but depending on it is marking our package as pre-release

That's not required, for example NLog.Web.AspNetCore 4.4.0 is using NLog (>= 5.0.0-beta05) etc

That's not required, for example NLog.Web.AspNetCore 4.4.0 is using NLog (>= 5.0.0-beta05) etc

You're right! Seems they removed the restriction after our package was first shipped. Good news :)

I think I will try giving my support with #2152 so that it will be easier to migrate libs depending on NLog removing issues like #2253 and #2255 😉

I think it is a good idea to release NLog ver. 4.5 with support for NetStandard 2.0.
When splitting NLog up into smaller packages, then try and aim for NetStandard 1.3 where possible.
Have just converted the current NLog-master to NetStandard 2.0 (VS2017 15.3), and it required very few modifications, and currently only 9 tests are failing.

:+1: good idea!
I had soms trouble upgrading to xunit 2, but maybe it's not needed

Maybe using xUnit.net 2.2+ you won't have any issue since it supports .NET Standard 1.1+

Converting NLog 4.4 to xunit 2 was already an issue in .net 4.5. Done tests suddenly are failing.

Update, NLog 4.5 beta 1 has netstandard 2 support. 🎉

https://twitter.com/NLogOfficial/status/909135834229755904

NLog 5.0 is the only one that will support Windows Store Apps (UWP). Until everyone has upgraded to the non-releases version of UWP with NetStandard 2.0 support.

true, i won't gonna delete it, but also won't expect a RTM

#2341 adds support for NetStandard1.5 (UWP10/uap1.0 and NetStandard1.3 are still NLog 5 only).

Guess this can be closed, as NLog 5.0 is probably going to be the only one supporting UWP10, and NLog 4.5 is now supporting NetStandard1.5

The current NLog 5 will be dropped and I will remove the pre-releases in NuGet in favor of NLog 4.5


SVM regressor predictOne()

While implementing your fabulous SVM class (as a regressor), I always fall upon an error while running predictOne().
The error happens here :
"var sum = 0.0
for k in 0..<supportVectorCount[0] {
sum += coefficients[0][coeffStart[0]+k] * kernelValue[coeffStart[0]+k]
}
for k in 0..<supportVectorCount[1] {
sum += coefficients[0][coeffStart[1]+k] * kernelValue[coeffStart[1]+k]
}"
the vectorSupport exist, the totalSupportVector is >0. Yet the supportVectorCount is nil.
Is it because I am in the regressor mode and not the classification mode ? I did not look at the classification cases yet.
So, basically, the two "for in" instructions cited above will always fail.
I came around this by creating a mock function like this :
open func predictOneJY (_ inputs: [Double]) -> Double {
var sum = 0.0
for i in 0..<totalSupportVectors {
let kernelValue = Kernel.calcKernelValue(kernelParams, x: inputs, y: supportVector[i])
sum += coefficients[0][i] * kernelValue
}
sum -= ρ[0]
return sum
}
It returns the correct ouput AFAIK.
But I wonder if there is something that I miss, and it is, in fact, my implementation that is faulty, or if the code of predictOne() could indeed be "streamlined" or "corrected" for the regressor cases.
And thanks again for your magnificent and very useful project.

I will look into this.
I ported the SVM code from the public domain LIBSVM (a C++ package).  I used it for a classification task (I've always thought that SVM as a regression model was a bit strange...).  That was the start of the AIToolbox framework - I just kept adding classifier and regression models as I used them.  At one point I made generic protocols for all the regressors/classifiers, so they could be used in a validation model.  That was when I made a few changes to the predict routines.  I may have made an error then.  I will look at the C++ code to verify the port is still valid.
Thanks again for using the framework.  I see a bit of traffic and cloning being done with it, but the number of comments/suggestions/error reporting has been somewhat low.  I  appreciate the feedback.

OK, the supportVectorCount is set for classification.  The C++ code, being non type-safe, would return the labels for classification as doubles, and regression values as doubles, using the same routines for classification.  Probability estimates were done by using regression values for classification models, since the predict function would return that double value.
I replaced the predictOne with the guts of the 'predict' function.  This will avoid use of the supportVectorCount variable until it is needed for a classification type model.  I also added a call to predictOne in the XCTest file to verify this.
Let me know if this works for you, and I'll close the issue

I just tested it. It works fine, as it should. You can close the issue.


feat(CoachMark): Adds standalone CoachMark component (extends FloatingCard)

Overview

PR Checklist

[ ] Related to designs:
[ ] Related to JIRA ticket: ABC-123
[ ] I have run this code to verify it works
[ ] This PR includes unit tests for the code change

📬Published Alpha Packages:@codecademy/gamut-kit@0.3.78-alpha.f543c2.0@codecademy/gamut-labs@15.5.2-alpha.f543c2.0@codecademy/gamut@32.11.2-alpha.f543c2.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6092ca2d03e7652020639d1d--gamut-preview.netlify.appDeploy Logs


Increasing batch_size slower training

When I'm changing samples_per_gpu in the config file the bigger samples_per_gpu gets the slower the training.
How is it possible?

The number of training iterations is fixed. Setting the "samples_per_gpu" does not change the number of iterations. Training with a large "samples_per_gpu"  is slower than the small one when they have the same number of iterations.


Stability of SaltStack API

Hi everyone,
I was just browsing through SaltStack sources and I was thinking about
their API we consume. One particular thing worries me a bit: how much stable is
it?
Usually when one works with any kind of API, he/she assumes it is kind of
stable (ideally between major versions of the project). When looking at the
sources of SaltStack, I found out that their API is just a thin layer that
"translates" requests to their backend. And not only to backend - in some cases
the API relies on external libraries as well: for instance, in case of /stats
resource, the SaltStack API forwards to the CheeryPy lib.
If the facts above are right, then any minor change in SaltStack backend
or in an API of external library (e.g CherryPy) would affect the SaltStack API
as well. This doesn't completely resemble a reliable interface.
My question is: do they guarantee stable API at least between major
versions? If the answer is yes, which I hope for, then I guess we are fine - I can
imagine we'd just release java clients matching to SaltStack major versions.
Otherwise we're in the trouble as it'd be our role to deal with it and
"stabilize their API". What do you think? Maybe I should directly ask SaltStack
guys as well.

Within the version, unlikely. Between the major versions Salt is changing internally (mostly expands, almost keeping backward compatibility). Not sure how it affects APIs though, try testing against it at 2015.2?
But Salt guys certainly should be aware of this library and reference it.

@hustodemon, I see your concerns. SaltStack in general and this REST API we consume in particular do not have the stability of, say, the typical Apache project. This ecosystem is still pretty new and "bubbling" here and there, so there is a concrete possibility that we'll have to keep our code up-to-date as upstream changes things, and there is also a possibility that our side will become messy at some point.
How we will deal with it (either by producing version-specific flavors of this library or providing a stable API that can accomodate multiple SaltStack changes) pretty much depends on what they do, and how big version changes will be.
Nevertheless keep in mind that despite this library is supposed to be a generic SaltStack API for Java code, it was created for a specific use case, namely the integration of SaltStack into Spacewalk and SUSE Manager, and that is still the primary aim. Those projects will likely not support a huge range of SaltStack versions, but only the one or two bundled at a certain point in time, so the potential issues you mentioned are less severe from that (admittedly restricted) point of view.
To sum up:

your concerns are valid, but they are speculation at this point. We still don't know how SaltStack and its REST API will evolve, so we might or might not have to keep up;
I am not sure that planning for upstream changes ahead of time is useful at this point. We will see how much these APIs actually change and react with the most appropriate technical solution when it happens;
in case we get big trouble because of wild differences among a wide number of versions, we can still opt to support only the subset needed for Spacewalk and SUSE Manager. It's not an ideal approach, but still it will work for the original purpose, and community can help in supporting other versions;
this being a GitHub issue, I would like to see discussion evolve towards an "actionable" direction. Is there something we want to change in the code at this point? Are there any concrete steps we can take to improve the situation?

Thanks for the discussion,
moio

@hustodemon, I saw no reply from you in the last week, so I am closing this. Feel free to reopen it anytime if you have further comments.

Yes, I wanted to close it anyway. The fact Spacewalk/SUSE Manager will support only some versions of SaltStack answers the issue.
(Off-topic: About your last point: is there any other way devels of this project can exchange messages? I see no mailing lists/IRC.... I only created the issue because I saw no other way to ask about this concern.)

@hustodemon, sure! The quickest way to reach us is on #spacewalk FreeNode. Feel free to join anytime!


No real multispec / win_length ignored

☑ Checks

[X] I have searched existing/past issues and found no similar issue.

✏ Description
The function _make_melspec does not use the win_length parameter.
https://github.com/sarulab-speech/UTMOSv2/blob/main/utmosv2/dataset/multi_spec.py#L81
But win_length is the only parameter that is different between the 4 mel spectrogram configs in
https://github.com/sarulab-speech/UTMOSv2/blob/main/utmosv2/config/fusion_stage3.py#L46
So the spectrogram gets always calculated with the same parameters.
Environment
Windows 10, Python 3.10, UTMOSv2 main branch
Expected behavior
I would expect that MultiSpecDataset would produce spectrograms with different parameters. This way it is just random sampling with the same mel spectrogram parameters.
Steps to reproduce
Run inference.
Additional notes
No response

Thank you for reporting the bug! I will investigate and address this issue.


Pass through versioning properties to the pack command

PTAL @mitchdenny
cc @Azure/azure-sdk-eng

/azp run net - client - ci

LGTM. Template parameters are injected at queue time. The way to think of templates is:
yamlstring = mytemplate(parameter1, parameter2)

Templates are processed first and then environment variables are read at the time of execution.

/azp run net - client

/azp help

/azp list

/azp run *

/azp run

/azp run

/azp run

@mitchdenny the auto-triggering of all the pipelines is not going to work. Some set of pipelines always fail with the github "abuse detection mechanism". When they fail in that manner there also doesn't seem to be any easy way to re-run just that one leg. The "re-run" option on the checks page doesn't seem to work.
This seems like it is going to be a big issue for our current strategy so we need to keep pushing to find a good solution or potentially change our strategy.

/azp run net - core - ci
/azp run net - applicationinsights - ci
/azp run net - storage -ci

/azp run net - core - ci

/azp run net - applicationinsights - ci

/azp run net - storage - ci

@mitchdenny the auto-triggering of all the pipelines is not going to work. Some set of pipelines always fail with the github "abuse detection mechanism". When they fail in that manner there also doesn't seem to be any easy way to re-run just that one leg. The "re-run" option on the checks page doesn't seem to work.
This seems like it is going to be a big issue for our current strategy so we need to keep pushing to find a good solution or potentially change our strategy.

Agreed. Working with the GH and Azure Pipelines folks to find a solution.


Resize Code Editor when golden layout container height changes

Changing the width of the golden layout container encapsulating the code editor doesn't make the editor resize vertically.
I recall seeing a resize() function the ace editor API has to manually resize..

Implemented in recent commit


Detecting Loop in LinkedList

@MoonLight9944  I want to implement the solution for this problem.
I want to contribute this for HacboberFest. Kindly Accept

Here is the PR
https://github.com/the-moonLight0/Hactober-fest-2021/pull/53
Can you please mark it as hacktoberfest accepted


Merge master branch to prTesting1_202009161933 branch

Docs Build status updates of commit 8a0e89c:
:clock10: Pending: waiting for processors (5 builds ahead of you)
:warning: Docs Build is busy, currently there are 5 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 8a0e89c:
:warning: Validation status: warnings

File
Status
Preview URL
Details

split/updateTestCon1.md
:warning:Warning

Details

split/updateTestCon1.md

Line 0: [Warning-h1-not-first] Markdown content is not allowed before {0}.
Line 1: [Suggestion-h1-missing] H1 is required. Use a single hash (#) followed by a space to create your top-level heading. NOTE: This Suggestion will become a Warning around July 2020.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Fix fieldName with field-name

Q
A

Type
bug

BC Break
no

Summary
Fix some typos in the documentation.

Thanks @olvlvl!


ERROR Video ID not set. Please configure a YouTube API key.

I do not understand what needs to be done.
Used on
Windows 11, Chromecast with GoogleTV

I am stupid... but an update...
PS C:\Users\Dražen> D:\DATA\castsponsorskip\castsponsorskip.exe --youtube-api-key string AIzaSyDeo1OU8sFNZuW9E8SbfY0Cb9gCOAO7TVI
2024/01/28 11:10:19 INFO CastSponsorSkip v0.7.0 (688f922)
2024/01/28 11:10:19 INFO Searching for devices...
2024/01/28 11:10:19 INFO Connected to cast device. device="Office TV"
2024/01/28 11:11:20 INFO Video ID not set. Searching YouTube for video ID... device="Office TV"
2024/01/28 11:11:22 ERROR YouTube search failed. device="Office TV" error="googleapi: Error 400: API key not valid. Please pass a valid API key.\nDetails:\n[\n  {\n    "@type": "type.googleapis.com/google.rpc.ErrorInfo",\n    "domain": "googleapis.com",\n    "metadata": {\n      "service": "youtube.googleapis.com"\n    },\n    "reason": "API_KEY_INVALID"\n  }\n]\n, badRequest"
2024/01/28 11:11:24 ERROR YouTube search failed. device="Office TV" error="googleapi: Error 400: API key not valid. Please pass a valid API key.\nDetails:\n[\n  {\n    "@type": "type.googleapis.com/google.rpc.ErrorInfo",\n    "domain": "googleapis.com",\n    "metadata": {\n      "service": "youtube.googleapis.com"\n    },\n    "reason": "API_KEY_INVALID"\n  }\n]\n, badRequest"
2024/01/28 11:11:27 ERROR YouTube search failed. device="Office TV" error="googleapi: Error 400: API key not valid. Please pass a valid API key.\nDetails:\n[\n  {\n    "@type": "type.googleapis.com/google.rpc.ErrorInfo",\n    "domain": "googleapis.com",\n    "metadata": {\n      "service": "youtube.googleapis.com"\n    },\n    "reason": "API_KEY_INVALID"\n  }\n]\n, badRequest"
2024/01/28 11:11:31 ERROR Halting YouTube search retries. device="Office TV"

PS C:\Users\Dražen> D:\DATA\castsponsorskip\castsponsorskip.exe --youtube-api-key string AIzaSyDeo1OU8sFNZuW9E8SbfY0Cb9gCOAO7TVI
Looks like you accidentally put "string" in your command. Try removing it:
castsponsorskip.exe --youtube-api-key AIzaSyDeo1OU8sFNZuW9E8SbfY0Cb9gCOAO7TVI
That being said, it is a very bad idea to post API keys publicly. Now that you've already done it, I strongly recommend that you revoke it and generate a new one as soon as possible.

PS C:\Users\Dražen> D:\DATA\castsponsorskip\castsponsorskip.exe --youtube-api-key string AIzaSyDeo1OU8sFNZuW9E8SbfY0Cb9gCOAO7TVI
Looks like you accidentally put "string" in your command. Try removing it:
castsponsorskip.exe --youtube-api-key AIzaSyDeo1OU8sFNZuW9E8SbfY0Cb9gCOAO7TVI
That being said, it is a very bad idea to post API keys publicly. Now that you've already done it, I strongly recommend that you revoke it and generate a new one as soon as possible.

Just want to give a quick +1 to what @Rapti said. These API keys should be private, so I'd also recommend generating a new one, then trying the command again without string.


Code Download ZIP is broken.

"https://github.com/expressobits/character-controller/archive/refs/heads/main.zip" just downloads character-controller-main as an empty 200 byte zip.

"https://github.com/expressobits/character-controller/archive/refs/heads/main.zip" just downloads character-controller-main as an empty 200 byte zip.

I really don't know what causes this, I have an addon with a completely similar structure (inventory-system) and the zip download works properly there.

Same error again. Downloading ZIP of latest commit from main branch just gives empty 200 byte file.
(https://github.com/expressobits/character-controller/tree/f128ffa39cf6c0faede471629d901b82c15d6017)
Latest commit from addon branch appears to gives full repo (I hope?).
(https://github.com/expressobits/character-controller/tree/8779943fb546b6963c89a11db8fecc3b35e4b023)


HAWQ-161. Port GPDB planner fixes to HAWQ

Port GPDB planner fixes to HAWQ

Fine for me
+1
Please make sure that tests pass when run multiple times. Preferably tested in a buildfarm

We were seeing transient failures for gp_optimizer earlier on hence the request

@hsyuan, are you a committer of hawq? If not I will help you merge this.

no, I am not a committer.
Thanks~
Haisheng Yuan
On Thu, Dec 10, 2015 at 11:27 AM, Entong Shen<EMAIL_ADDRESS>wrote:

@hsyuan https://github.com/hsyuan, are you a committer of hawq? If not
I will help you merge this.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-hawq/pull/110#issuecomment-163725759
.

I see that this PR has been open for over a month.  @entong it looks like you were volunteering to handle the merge, is this still planned?  If not what can we do to get this moving forward?

Entong is not handling this PR any more. Can some committer help merge this PR back to master branch? Thanks.

@hornn Can you help me merge this PR into master? Thanks~

Merged with master:
6e2846fafe40c4259a5e81e2f5c187ff04bb8c07
ada7919105cc1dd2042e1d675a6a6690ef7b51a1
0f6beb62fa1b14a8ca1e8054c75345625cfb4464
b95ed2513983ad36651beccc721ef51bf2e70494


[19.03] kubernetes: 1.13.7 -> 1.13.9

Motivation for this change
CVE-2019-11247
See: https://github.com/kubernetes/kubernetes/issues/80983 and https://seclists.org/oss-sec/2019/q3/117
Unstable needs 1.14.5, but I'll prefer bumping to 1.15.2. Will look into that tomorrow.
RBAC and DNS-tests run clean locally.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[X] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Why isn't this a cherry-pick -x from master?
— inattentive maintainer

It's because kubernetes on master is from a different major revision than on 19.03! :+1: for this.

Hmmm, haven't been able to run the tests locally, due to unrelated to kubernetes failures in the tests. Though, I trust your testing as a maintainer :).


DOC fix expectile docstring - empirical CDF

This fixes the formula for the empirical CDF in the docstring of scipy.stats.expectile.

Thanks @lorentzenchr! Good catch.


ERROR

AttributeError: module 'lz4' has no attribute 'compress'
why? i can't find,how to solve.
centos 7,and python3.6

dpark now use py-lz4framed instead python-lz4
https://github.com/douban/dpark/commit/9743b97fee1a7e852e55148edbe4872830725745


hubot rocket.chat adapter install permission problem

When i get to the step of sudo yo hubot --owner="OWNER<EMAIL_ADDRESS>--name="bot" --description="Bot"<EMAIL_ADDRESS>, PuTTY gave me error saying i don't have permission to some npm file, I researched online, looks like it is a common problem. So i used https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-2-change-npms-default-directory-to-another-directory
Option 1 to change the permission
and this is what i got from PuTTY, I get the feel this is the right direction, but detail is wrong, can anyone tell me what went wrong?
jy@ubuntu-1gb-sfo2-01:~$ npm config get prefix
/usr/local
jy@ubuntu-1gb-sfo2-01:~$ sudo chown -R $jy /usr/local/lib/node_modules/
[sudo] password for jy:
chown: missing operand after ‘/usr/local/lib/node_modules/’
Try 'chown --help' for more information.

this isn't really an issue with our adapter...
But in your command you're missing the use to assign ownership too.  Ex:
sudo chown -R bob $jy /usr/local/lib/node_modules/
Read more about chown and how to use it here: http://www.computerhope.com/unix/uchown.htm


.env issues Warning: you need to set GIT_SSL_CAINFO to a pem file if you want to use git with SSH when pem file path has already been specified in .gitconfig

.env issues Warning: you need to set GIT_SSL_CAINFO to a pem file if you want to use git with SSH when pem file path has already been specified in .gitconfig
[http]
    sslVerify = true
    sslCAInfo = /<somewhere>/cacert.pem

@MikeFultonDev maybe we can check the $HOME/.gitconfig as well before issuing this message? https://github.com/ZOSOpenTools/gitport/blob/main/buildenv#L101

When was this made a requirement with git?  I don't have it using the Rocket port and I don't recall seeing it with git for windows.
Can it be bypassed/ignored?

We provide our own CA certificates. Right now it's just a warning, but that's a good point about GIT_SSL_NO_VERIFY. The same could be said about sslVerify = false.

So you're saying that the gitport will provide the certificate or by 'we' do you mean the site?

@IgorTodorovskiIBM is this fixed? can it be closed?

Yes, I will close it off


Job endpoints - fully functioning

Description
Job endpoints functioning with no server errors.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?

[x] Test A - from tests.py, and used Django tests

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] My code has been reviewed by at least one peer (Mason helped with debugging)
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes (Pylint had import errors, but VScode ignores it)

Excellent testing documentation!  merging pr.


[IOTDB-3388] Let MQTT Service could parse JSON array of existed format

See IOTDB-3388.
Optimize JSONPayloadFormatter. Now MQTT Service could parse not only JSON object, but JSON array.

Hi, consider adding an example in https://github.com/apache/iotdb/tree/master/example/mqtt/src/main/java/org/apache/iotdb/mqtt ?

Hi, consider adding an example in https://github.com/apache/iotdb/tree/master/example/mqtt/src/main/java/org/apache/iotdb/mqtt ?
And test cases as well.

Done. Please take a look.

hi  wei, Will  MQTT Be support in 0.14 version ?

hi wei, Will MQTT Be support in 0.14 version ?

Hi, MQTT service has already been supported in 0.13.


Pathfinder sample near point

Motivation and Context

This allow the efficient sampling of points of the navmesh within a specifeid radius of an existing point on the navmesh. This is useful as it allows the user to control the region the points are sampled from within the Navmesh.
I also applied some clang-tidy fixits to make this file happy and a few other miscellaneous style fixes.

How Has This Been Tested

Locally with pytest. All existing tests pass.

Types of changes

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

Checklist

[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[X] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[X] I have completed my CLA (see CONTRIBUTING)
[X] I have added tests to cover my changes.
[X] All new and existing tests passed.

@erikwijmans How would I select the tiles / points within the sphere? Calling randomPoint() over and over again is not performant as @srama2512 has noted, this is an alternative that would be. If I could select a point within the sphere, than I could also solve this by choosing a random startref instead of using findNearestPolygon.

I'd iterate over all polys and then check if that poly has any vert within the sphere. If it does, then that poly is valid to be sampled (you can do reservoir sampling to avoid constructing that list explicitly). Then given your sampled poly, you can sample a random point on that poly (you can see how Detour does that here: https://github.com/erikwijmans/recastnavigation/blob/8eef00be6003a6bf9c49cb4c126662e05e58d508/Detour/Source/DetourNavMeshQuery.cpp#L286-L310)
This only gives you a high chance of sampling a point within the sphere, not a guarantee, so you will have to run the above procedure a few times. If the sphere is pretty big, it'll get something quickly. If it's small it may take some tries.
One thing to note: dtNavMeshQuery::findRandomPointAroundCircle is not guaranteed to sample a point within the circle, as the point may be slightly outside the circle.

One thing to note: dtNavMeshQuery::findRandomPointAroundCircle is not guaranteed to sample a point within the circle, as the point may be slightly outside the circle, yeah we reject those points in the num_tries loop.

I'd iterate over all polys and then check if that poly has any vert within the sphere. If it does, then that poly is valid to be sampled (you can do reservoir sampling to avoid constructing the list of valid polys explicitly). Then given your sampled poly, you can sample a random point on that poly.

Would there not be a concern for over-representing points in small polys? Or will the reservoir sampling process weight the polys considered based on their area?
Is there no corner-table-type representation of the mesh available to provide adjacency info? If not, would adding this be worthwhile?

Yeah, you can use the poly area to do weighted reservoir sampling.
If you wanted to do better than just searching over all polys, you could use dtNavMeshQuery::queryPolygons to get everything with the sphere (in a similar fashion todtNavMeshQuery::findNearestPoly). That may be quicker.

Seems like the default of 10 tries does sometimes fail on the test_scene navmeshes, I guess we should raise the defaults. 100 seems to work fine.

@erikwijmans @aclegg3 going to merge this if there aren't any objections.


Añadido Reto 2

Hello @marilasoft! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file reto-02/lesclaz/main.py:

Line 44:80: E501 line too long (93 > 79 characters)


Add custom nft bridge

:clipboard: Add associated issues, tickets, docs URL here.
Overview
One of our partner requests an example of NFT bridge for a custome ERC721
Changes
Add a new example to boba-examples
Testing
Describe how to test your new feature/bug fix and if possible, a step by step guide on how to demo this.

Codecov Report
Base: 47.12% // Head: 47.12% // No change to project coverage :thumbsup:

Coverage data is based on head (bc069b5) compared to base (454eaa4).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #332   +/-   ##
========================================
  Coverage    47.12%   47.12%
========================================
  Files           99       99
  Lines         3875     3875
  Branches       765      765
========================================
  Hits          1826     1826
  Misses        2049     2049

Flag
Coverage Δ

boba-contracts
20.31% <ø> (ø)

contracts
77.71% <ø> (ø)

core-utils
86.80% <ø> (ø)

data-transport-layer
31.17% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out 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.

looking at the custom ERC721 here, and the features_1,2,3 requirements, looks like the current bridge already supports this functionality? The respective bridgeWithExtraData() method on the current bridge already allows to encode and move any kind of custom data along with the token, and use the data however they decide (although, it needs them to implement iSupportBridgeExtraData) - have they already deployed?

looking at the custom ERC721 here, and the features_1,2,3 requirements, looks like the current bridge could support this functionality? The respective bridgeWithExtraData() method on the current bridge would allow to encode and move any kind of custom data along with the token, and use the data however they decide (although, it needs them to implement iSupportBridgeExtraData) - is it that they have already deployed? in which case please disregard my comments https://github.com/bobanetwork/boba/tree/develop/boba_examples/nft_bridging#making-your-erc721-bridge-extra-data

I am not aware of  their needs in this case. Maybe we should ask them 🤔 ?

They can upgrade their L1 NFTs to build customData payload and send to L2.
Closed.


Refactor tedge_config crate

Proposed changes

After merging #1577, the name tedge_config for the crate made no more sense because now it also had configs for tedge-agent.  After some discussing with @rina23q, we suggest the crate to be renamed to common_config and add a new folder inside this crate for the tedge specific stuff.
./src/
├── tedge/               <---- the tedge_config files and folders that were previously there
├── system_services/     <---- the new directory added by #1557 with the restart command config for tedge-agent

Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue
Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[x] I used cargo clippy as mentioned in CODING_GUIDELINES
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

This time I went for less changes by making self::tedge_config_cli public in lib.rs


ISPN-10435 Support for serving static content

https://issues.jboss.org/browse/ISPN-10435
Static content from the server's static/ folder will be served under e.g. http://locahost:11222/rest/static, allowing console and/or docs to be hosted there.

Conflicts !


Add strict mode

This adds the strict ESLint rule, and switches to strict mode in all files.

Rebased.

Closing this until we have more test coverage


Image mongo:focal doesn't work anymore

Hi,
as in the title I'm using image mongo:focal and all worked fine until the last update happened about 8 hours ago. After that event mongo server no longer starts and I continuously receive this error:
{"t":{"$date":"2022-08-25T10:42:00.949+02:00"},"s":"F",  "c":"CONTROL",  "id":20573,   "ctx":"initandlisten","msg":"Wrong mongod version","attr":{"error":"UPGRADE PROBLEM: Found an invalid featureCompatibilityVersion document (ERROR: Location4926900: Invalid featureCompatibilityVersion document in admin.system.version: { _id: \"featureCompatibilityVersion\", version: \"4.4\" }. See https://docs.mongodb.com/master/release-notes/5.0-compatibility/#feature-compatibility. :: caused by :: Invalid feature compatibility version value, expected '5.0' or '5.3' or '6.0. See https://docs.mongodb.com/master/release-notes/5.0-compatibility/#feature-compatibility.). If the current featureCompatibilityVersion is below 5.0, see the documentation on upgrading at https://docs.mongodb.com/master/release-notes/5.0/#upgrade-procedures."}}

What have I to do?

version: "4.4"
. . .
Invalid feature compatibility version value, expected '5.0' or '5.3' or '6.0

Try mongo:4.4-focal

Hi @wglambert, thanks for your answer. I solved using image mongo:bionic, but I suppose this can be a "temporary solution".


Remove duplicate id_hash call from #record_hash

A duplicate call to #id_hash seems to have got in during rebase from https://github.com/Netflix/fast_jsonapi/pull/153/files#diff-0d22ea72f1e72c75e7887cdbcba46871R89

Spec failure is unrelated and fixed by #201

Great catch! I must have missed that resolving the merge conflicts.


Git submodule of RavenPythonLib

Is your feature request related to a problem? Please describe.
Its not so much a problem as it is a quality of life to stick with convention and make it easier for people at the same time.
Describe the solution you'd like
.gitmodules file that lists submodules used, and for this to be integrated into gupdater.
Describe alternatives you've considered
We already use a version of git updating but this would just standardise it somewhat.
Additional context
Cool as a cuccumber

RavenPythonLib is being rolled in and will be rolled out again at a later data as nemesyst-core once v2 is complete #85


Update MultipartStream.php

This code can be handle optimized way

Thank you for this.
Im not sure about how much performance gain we get from this. But I do see that the exception message is more generic (A bad thing)
Did you measure if this was quicker or not?

I don't see the value here? There's nothing fixed? Feel free to let us know if you don't agree, and we can re-consider.


Fix uninitialized value bug in xgboost callback

Issue: Dictionary key referenced before assignment during early stop
Bug in early stopping rounds callback function when calling xgboost.cv() where dictionary value is never set. In the case where the model makes no improvements starting in the first iteration, state['best_msg'] is never set and there is a KeyError when the callback function returns after the early stopping rounds. I added an initial value (default message) for state['best_msg'] in the place where state['best_score'], etc get initial values.

The fix looks good, if you address the linter warning in CI I can merge.


Duplicating nodes with text is very slow

Tested versions
Godot 4.2.2 , Godot 4.3 beta2
System information
Godot v4.2.2.stable - Windows 10.0.19045 - Vulkan (Mobile) - dedicated Radeon RX 560 Series (Advanced Micro Devices, Inc.; 31.0.14001.45012) - Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz (4 Threads)
Issue description
I noticed that duplicating Button type nodes greatly reduces the productivity of the editor, I also checked this with Label, and there were also freezes, perhaps this is due to the text.
I tested it on other types of graphic nodes, and I didn’t notice any slowdown in the editor.
Steps to reproduce

Open a project
Duplicate the "Panel" node using Ctrl+D and quickly press it several times to make sure there are no freezes.
Also duplicate the Button node with a quick press to see the editor slow down

Minimal reproduction project (MRP)
test.zip

Looks like most of the time is spent updating the Inspector tab to reflect the new duplicated node, especially looking up theme information for the controls being added to the Inspector.  I see similar delays just changing the selected node quickly, Button is slower than Panel there too, might be based on how many (or what types of) properties need to be added to the Inspector.

Weirdly, (I do NOT have a profiler on this) but selecting 15 Buttons and pressing Ctrl+D doesn't appear to take any longer than duplicating 1 button, including when spamming.

Weirdly, (I do NOT have a profiler on this) but selecting 15 Buttons and pressing Ctrl+D doesn't appear to take any longer than duplicating 1 button, including when spamming.

I agree, I also don’t see a difference in performance when duplicating one button or several buttons at once, which is quite strange, observing the slowdown when duplicating one button.


Clearer instructions in readme and scss file

First of all, I would like to praise you on the amazing work you have done on the abridge project. While using it, I came across a few minor issues and things you could clear up in the documentation with the newest version (I am using the latest commit).
I have had to create my own .scss file to import custom fonts into the project, like the Roboto.scss file. This could be made a little clearer.
https://github.com/Jieiku/abridge/blob/009d3f90b1881530bd28003abe83cfc3735882be/sass/fonts/_Roboto.scss#L1-L17
I also found that in order to prepend the fonts file, it is necessary to use null on lines 127-128 of the abridge.scss file which is undocumented.
https://github.com/Jieiku/abridge/blob/009d3f90b1881530bd28003abe83cfc3735882be/COPY-TO-ROOT-SASS/abridge.scss#L127-L128
Furthermore, while using the abridge switcher, I had to change the value of switcherDefault to light to make my code block formatting be of the same colour theme as the rest of my website. Is this the intended behaviour?
https://github.com/Jieiku/abridge/blob/009d3f90b1881530bd28003abe83cfc3735882be/COPY-TO-ROOT-SASS/abridge.scss#L13
I would be more than happy to contribute to this project by submitting a PR. Thank you for your time and consideration.

Ah yes, null is used if you want to prepend the list instead of append. very good point will add this info.
Furthermore, while using the abridge switcher, I had to change the value of switcherDefault to light to make my code block formatting be of the same colour theme as the rest of my website. Is this the intended behaviour?
No, definitely should not be doing that: you can see that in the demo it works properly: https://abridge.netlify.app/overview-code-blocks/
I suspect the issue here is cache related, try Ctrl+shift+P to open a private browsing session. If the issue persists then I would ask if the source code for your website is in a repo so that I could take a look.

I added examples and documentation for the fonts:
https://github.com/Jieiku/abridge/commit/c5274a698be209d02f4d8833cecc72a909cc5edf
I am not going to close this issue yet though, because I am curious about your code blocks....
Let me know what your able to figure out with those, Thanks!

This what my website looks like when switcherDefault is set to light:

Then what it is like when switcherDefault is set to dark:

Thanks for all your work on the documentation front.

I checked your github, does not seem your sites source is in a public repository.
If you want to upload your site to a repo minus your content and redact anything sensitive in config.toml then I could take a look and probably figure it out.
The first thing I would do if I had it in front of me is doing a diff between the root sass/abridge.scss as well as the config.toml
I am interested in this not only to figure it out for you, but also others that may run into the same issue. It does not happen on a fresh install:
git clone https://github.com/Jieiku/abridge
cd abridge
zola serve

I am more than happy to make the repo and make it public, but I am currently unable. Give me a couple of hours, and I'll have a look then :)

I've just added you to my repo. I've found something very odd, when I run zola serve the website I get uses my custom abridge.scss but when I run zola build it uses the default abridge.scss.

I was just headed to bed, planning to take a look tomorrow :) any files named the same locally should be used over the theme files, at-least that has been my experience so far.

 You had sass directory in the .gitignore. Which might have been appropriate under the old abridge. Now however we use a scss overrides file for customization in that directory.
I also cleaned up some differences in the config.toml.
copied the new sass overrides file in place, and added your customized colors to it.
All in all not too bad, only took like 20 minutes to fix any issues that I am able to see.

Make sure to check it over good for any other customizations I might have missed.
It seems the npm scripts are currently tuned to work from abridge theme, I was working to minimize the number of entries at one point for the package.json. So I will have a look at that once I get a little bit more free time, probably in a day or two.

One thing I noticed while putting your custom font in place, then using ctrl+f5 to refresh the page, is that the fonts appear to download twice in the developer console. I believe this is because of preload.
I just made a note to investigate this later. (the font is however working)

Thank you for all your help, especially with fixing my repo. I am just cleaning up a few things and then I'll make it public. Thanks again for all your help :)

oh no worries if you want to keep your site's source code private, I only made that comment previously because I was not sure how else to get access in order to look it over and help (had not occurred to me you could just ad me as a user).

No problem at all, I am more than happy to make it public - I just need to adjust a few things.
Thanks again, and if you would like me to help with anything let me know.

Thanks, I will let you know if I think of anything. I am planning to do the initial work on the npm scripts. I am going to do a total refactor: #140

I finished refactoring package.json. there is now really only one npm script to run, and it dynamically handles everything by first parsing your config.toml
npm run abridge
I will point out that if you were hoping to test tinysearch or stork you may have to wait a while, there seems to be an issue and I do not have time to investigate it: https://github.com/tinysearch/tinysearch/issues/175
I also tried stork again and ran into similar issues.
Elasticlunr is however working without issue.

I have just tried to run npm run abridge and I have discovered just one or two minor issues. (I'm not sure if they are specific to my system or not)
I had to edit this line:
https://github.com/Jieiku/abridge/blob/5e55301cc2c91a5f0e99000bfe4d7ec262ee78c1/package_abridge.js#L224
To be process.stdout.write(...., otherwise it through an error for me.
Also, I had to copy across the manifest.json file, is it a default file or will I have to edit it?
Thanks for all your awesome work!

Just pushed a commit that will check if the manifest.json file exists before attempting to minify it.
manifest.json is used by PWAs, its what gives them a list of icons to use for various phones, tablets, etc.

My website isn't a PWA, so I don't need a mainfest.json?

yeah, you should be fine without it if you set pwa = false in config.toml
did you pull the commit I just pushed? https://github.com/Jieiku/abridge/commit/9c6f4e078620b4d9d2ddf2ad17bdd3b97aa28704

Thanks for testing the latest changes, and the feedback!


Create signup page and allow users to sign up and get their games uploaded to OGS without running the code themselves.

Lots to figure out here, but imho this is the killer feature for this app.
CC @maurelio1234

I think the use of password auth would be the main problem here.
I had a hard time trying to understand how to generate it, and it seems to be my main password on the OGS website.
I can log in directly with it.
Another point is that this could be a TOS violation somehow.
Something I thought about was providing packaging as a docker image, so that its easy for any "dev oriented" person to run it even if they do not know node js. It would be easier to make something usable on heroku/AWS/anywhere without needing to manipulate code. What do you think? @andrewallred


update readme: minimum_should_match is supported

OH man this is so helpful. Thanks @harrisonchen!
Document all the things! :+1:

Thanks.


Multiple Tag Values

Desired Feature:
Allow multiple tag values to be added to a tag
Allow multiple tag values to be added to a tag, allow separation using a comma or semi-colon.
E.g. Tag=>Value1;Value02;ValueThree
[tag=>Value02] would return the same page as [tag=>ValueThree]
Each tag value would be independently searchable when combined with the tag key.

Thanks for the request @davidPilkington but I'm going to close this off for the following reasons:

The same result can be achieved with multiple tags of the same name.
It would complicate tag handling whenever the literal value (where including the chosen delimiter) is desired, and it's introduction would be a potentially breaking change we'd need to advise of.
This has had very little demand in the past 6 years.


Research LLama API Integration

Research the LLama API documentation to understand its functionality and capabilities for integration with our chatbot platform

Successfully added Llama 2 to the bot, and also implemented OpenAI replicate with this bot.


Python Unicode Encoder error with certain character in filename

I have found the following problem.
When you try to download a file from Ulozto that contains a certain character in the name, Python fails to translate it when outputting to screen / log, causing the script to terminate.
Unicode Character 'LATIN SMALL LETTER U WITH RING ABOVE' (U+016F)
ů
The error is here:
Traceback (most recent call last):
  File "C:\ulozto-downloader\ulozto-downloader.py", line 7, in <module>
    cmd.run()
  File "C:\ulozto-downloader\uldlib\cmd.py", line 157, in run
    d.download(url, args.parts, args.password, args.output, args.temp, args.yes, args.conn_timeout, args.enforce_tor)
  File "C:\ulozto-downloader\uldlib\downloader.py", line 242, in download
    self.log("Downloading into: '{}'".format(self.output_filename))
  File "C:\ulozto-downloader\uldlib\frontend.py", line 116, in main_log
    self._log_logfile('MAIN', msg, progress=progress, level=level)
  File "C:\ulozto-downloader\uldlib\frontend.py", line 99, in _log_logfile
    self.logfile.write(f"{t} {prefix}\t[{level.name}] {msg}\n")
  File "C:\Programs\Python\Python311\Lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeEncodeError: 'charmap' codec can't encode character '\u016f' in position 104: character maps to <undefined>

I've looked at the code, and can't really see how to handle it.
I suggest there should be added some kind of error handling at that place, so that the unhandled characters gets replaced with x or . or something.. it's just for output.
To add to it, then I've been trying to change codepage in Windows Terminal to 65001 UTF8.. and that didn't help.
There's a chance that it won't fail on a CZ codepage.

And whats url to download ? Probably "wrong" character in there

It seems to be all files where the name contains "illegal" characters according to the cp1251 codepage.
I ran into another character that would trigger the same error:
UnicodeEncodeError: 'charmap' codec can't encode character '\u011b' in position 82: character maps to <undefined>

It doesn't seem to be a problem in handling those filenames.. the problem is when it tries to write it to the logfile, that is when the error is triggered.
So some kind of error handling in code at line 99 in the file "\uldlib\frontend.py", is what is needed. That should handle all kinds of unknown characters, in that situation.
Unfortunately, I'm not proficient enough in python yet, to come up with a simple fix myself.

Ok, I managed to fix the problem.
The original function:
`    def _log_logfile(self, prefix: str, msg: str, progress: bool, level: LogLevel):
if progress or self.logfile is None:
return
    t = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    self.logfile.write(f"{t} {prefix}\t[{level.name}] {msg}\n")
    self.logfile.flush()`

The changed function I made with error handling, that strips non-ascii characters and replaces them with ?:
`    def _log_logfile(self, prefix: str, msg: str, progress: bool, level: LogLevel):
if progress or self.logfile is None:
return
    t = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    log_msg = f"{t} {prefix}\t[{level.name}] {msg}\n"

    try:
        self.logfile.write(log_msg)
    except UnicodeEncodeError:
        # Replace unencodable characters with a placeholder
        log_msg = log_msg.encode('ascii', 'replace').decode('ascii')
        self.logfile.write(log_msg)

    self.logfile.flush()`

Ok, I managed to fix the problem.

It would be better to fix the issue with file encoding rather than re-coding the output..
In my opinion it would be better to open file with correct encoding.. following seems much "generic" solution.. could you re-try?
https://github.com/setnicka/ulozto-downloader/blob/master/uldlib/frontend.py#L81
self.logfile = open(logfile, 'a', encoding="utf-8")

Ok, I managed to fix the problem.

It would be better to fix the issue with file encoding rather than re-coding the output..
In my opinion it would be better to open file with correct encoding.. following seems much "generic" solution.. could you re-try? https://github.com/setnicka/ulozto-downloader/blob/master/uldlib/frontend.py#L81 self.logfile = open(logfile, 'a', encoding="utf-8")

This is a better solution! And works very well.
I was hoping for someone to pick it up and make a correct fix, rather than my way of circumventing the problem.
Thanks! :)
Can you do a PR with the solution so that @setnicka can accept it into the code?

Fixed with #177 by @quoing, thank you.


Surface

Nukes the json every join or leave, please look more into it.

as soon as the json problem is fixed will merge.


Add /skipstorage=1 as a default qualifier

Would improve readability

Qualifiers can be set per namespace basis via $system.OBJ.SetQualifiers()
I don't think removing storage from export is good idea. Storage definition is essential part of any persistent class


Miri tests on Windows require admin for symlinks

This is on Windows 10 on commit 28ab963bc9abe6999f4acd126c865ec59bf4a503. I can replicate the issue on both of my computers.

.\miri toolchain
.\miri test

Tests pass successfully

.\miri toolchain
$Env:MIRI_TEST_TARGET="x86_64-unknown-linux-gnu"
.\miri test

FAILED TEST: tests/pass\shims\fs.rs
command: "C:\\Users\\rsmyth\\Documents\\miri\\target\\debug\\miri.exe" "--error-format=json" "--sysroot=C:\\Users\\rsmyth\\AppData\\Local\\rust-lang\\miri\\cache" "-Dwarnings" "-Dunused" "-Ainternal_features" "-Zui-testing" "--target" "x86_64-unknown-linux-gnu" "--out-dir" "C:\\Users\\rsmyth\\Documents\\miri\\target\\ui\\tests\\pass\\shims" "tests/pass\\shims\\fs.rs" "-Zmiri-disable-isolation" "--edition" "2021"

error: pass test got exit code: 1, but expected 0

error: actual output differed from expected
Execute `./miri test --bless` to update `tests/pass\shims\fs.stderr` to the actual output
--- tests/pass\shims\fs.stderr
+++ <stderr output>
+error: unsupported operation: io error Uncategorized cannot be translated into a raw os error
+  --> RUSTLIB/std/src/sys/pal/PLATFORM/fs.rs:LL:CC
+   |
+LL |             cvt(unsafe { libc::symlink(original.as_ptr(), link.as_ptr()) }).map(|_| ())
+   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ io error Uncategorized cannot be translated into a raw os error
+   |
+   = help: this is likely not a bug in the program; it indicates that the program performed an operation that Miri does not support
+   = note: BACKTRACE:
+   = note: inside closure at RUSTLIB/std/src/sys/pal/PLATFORM/fs.rs:LL:CC
+   = note: inside `std::sys::pal::PLATFORM::small_c_string::run_with_cstr_stack::<()>` at RUSTLIB/std/src/sys/pal/PLATFORM/small_c_string.rs:LL:CC
+   = note: inside `std::sys::pal::PLATFORM::small_c_string::run_with_cstr::<()>` at RUSTLIB/std/src/sys/pal/PLATFORM/small_c_string.rs:LL:CC
+   = note: inside `std::sys::pal::PLATFORM::small_c_string::run_path_with_cstr::<()>` at RUSTLIB/std/src/sys/pal/PLATFORM/small_c_string.rs:LL:CC
+   = note: inside closure at RUSTLIB/std/src/sys/pal/PLATFORM/fs.rs:LL:CC
+   = note: inside `std::sys::pal::PLATFORM::small_c_string::run_with_cstr_stack::<()>` at RUSTLIB/std/src/sys/pal/PLATFORM/small_c_string.rs:LL:CC
+   = note: inside `std::sys::pal::PLATFORM::small_c_string::run_with_cstr::<()>` at RUSTLIB/std/src/sys/pal/PLATFORM/small_c_string.rs:LL:CC
+   = note: inside `std::sys::pal::PLATFORM::small_c_string::run_path_with_cstr::<()>` at RUSTLIB/std/src/sys/pal/PLATFORM/small_c_string.rs:LL:CC
+   = note: inside `std::sys::pal::PLATFORM::fs::symlink` at RUSTLIB/std/src/sys/pal/PLATFORM/fs.rs:LL:CC
+   = note: inside `std::os::unix::fs::symlink::<&std::path::PathBuf, &std::path::PathBuf>` at RUSTLIB/std/src/os/unix/fs.rs:LL:CC
+note: inside `test_symlink`
+  --> $DIR/fs.rs:LL:CC
+   |
+LL |     std::os::unix::fs::symlink(&path, &symlink_path).unwrap();
+   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+note: inside `main`
+  --> $DIR/fs.rs:LL:CC
+   |
+LL |     test_symlink();
+   |     ^^^^^^^^^^^^^^
+
+note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace
+
+error: aborting due to 1 previous error
+

This seems to happen on *nix targets as it happens on *-apple-darwin as well.
Based upon the instructions inside the test I looked for miri_ files, but there were none in the tmp directory. Also setting TMPDIR or MIRI_TEMP to other paths had no affect.

I'll look into this later if there is a shim missing

Does .\miri test without any env var work?

Yes, that is the first case.

Tests also pass when cross-interpreting i686-pc-windows-msvc

Ah, sorry, I read too quickly. Well that's something at least. :)
So there's a problem creating symlinks. Wasn't there something where creating symlinks on Windows needs admin permissions or so? It works on CI though...
We should definitely do a better job at saying what the error was, though... Uncategorized is not super useful.^^

Based upon the instructions inside the test I looked for miri_ files, but there were none in the tmp directory. Also setting TMPDIR or MIRI_TEMP to other paths had no affect.

The directory gets cleaned up when tests are done (even if they fail), so you wouldn't see any trace of that. If it gets to test_symlink it means these other tests already passed
    test_path_conversion();
    test_file();
    test_file_clone();
    test_file_create_new();
    test_seek();
    test_metadata();
    test_file_set_len();
    test_file_sync();

So I think it's safe to say the directory exists and works as expected, just symlinks don't.

TBH I have no idea how symlinks work on Windows. I've never used them.
And since you mentioned it, I ran the tests under admin and they passed. So yeah, that seems to be correct.

Okay, good to know that we figured out the cause of this. :)
Not sure what the best way is to deal with this. We could ignore permission errors (if we can detect them, Uncategorized is not very encouraging). We could move symlink tests into a separate file and disable them on Windows hosts... that's probably the best option, but it's kind of a shame.
@ChrisDenton do you have any better ideas?

You can enable "developer mode" in settings to allow unprivileged symlinks creation. So one option would just be to document this as a requirement.
Otherwise maybe there could be a check to see if the host supports symlinks (e.g. by trying to create one)?

With #3589 it does make it clearer. At least it is an error code that google can tell me about.
error: unsupported operation: unsupported io error: A required privilege is not held by the client. (os error 1314)
  --> C:\Users\rsmyth\.rustup\toolchains\miri\lib\rustlib\src\rust\library\std\src\sys\pal\unix\fs.rs:1732:26
   |
LL |             cvt(unsafe { libc::symlink(original.as_ptr(), link.as_ptr()) }).map(|_| ())
   |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsupported io error: A required privilege is not held by the client. (os error 1314)
   |
   = help: this is likely not a bug in the program; it indicates that the program performed an operation that Miri does not support
   = note: BACKTRACE:
   = note: inside closure at C:\Users\rsmyth\.rustup\toolchains\miri\lib\rustlib\src\rust\library\std\src\sys\pal\unix\fs.rs:1732:26: 1732:73
   = note: inside `std::sys::pal::common::small_c_string::run_with_cstr_stack::<()>` at C:\Users\rsmyth\.rustup\toolchains\miri\lib\rustlib\src\rust\library\std\src\sys\pal\common\small_c_string.rs:49:18: 49:22
   = note: inside `std::sys::pal::common::small_c_string::run_with_cstr::<()>` at C:\Users\rsmyth\.rustup\toolchains\miri\lib\rustlib\src\rust\library\std\src\sys\pal\common\small_c_string.rs:29:18: 29:47
   = note: inside `std::sys::pal::common::small_c_string::run_path_with_cstr::<()>` at C:\Users\rsmyth\.rustup\toolchains\miri\lib\rustlib\src\rust\library\std\src\sys\pal\common\small_c_string.rs:19:5: 19:58
   = note: inside closure at C:\Users\rsmyth\.rustup\toolchains\miri\lib\rustlib\src\rust\library\std\src\sys\pal\unix\fs.rs:1731:9: 1733:11
   = note: inside `std::sys::pal::common::small_c_string::run_with_cstr_stack::<()>` at C:\Users\rsmyth\.rustup\toolchains\miri\lib\rustlib\src\rust\library\std\src\sys\pal\common\small_c_string.rs:49:18: 49:22
   = note: inside `std::sys::pal::common::small_c_string::run_with_cstr::<()>` at C:\Users\rsmyth\.rustup\toolchains\miri\lib\rustlib\src\rust\library\std\src\sys\pal\common\small_c_string.rs:29:18: 29:47
   = note: inside `std::sys::pal::common::small_c_string::run_path_with_cstr::<()>` at C:\Users\rsmyth\.rustup\toolchains\miri\lib\rustlib\src\rust\library\std\src\sys\pal\common\small_c_string.rs:19:5: 19:58
   = note: inside `std::sys::pal::unix::fs::symlink` at C:\Users\rsmyth\.rustup\toolchains\miri\lib\rustlib\src\rust\library\std\src\sys\pal\unix\fs.rs:1730:5: 1734:7
   = note: inside `std::os::unix::fs::symlink::<&std::path::PathBuf, &std::path::PathBuf>` at C:\Users\rsmyth\.rustup\toolchains\miri\lib\rustlib\src\rust\library\std\src\os\unix\fs.rs:951:5: 951:55
note: inside `test_symlink`
  --> tests/pass\shims\fs.rs:233:5
   |
LL |     std::os::unix::fs::symlink(&path, &symlink_path).unwrap();
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
note: inside `main`
  --> tests/pass\shims\fs.rs:32:5
   |
LL |     test_symlink();
   |     ^^^^^^^^^^^^^^

note: some details are omitted, run with `MIRIFLAGS=-Zmiri-backtrace=full` for a verbose backtrace

error: aborting due to 1 previous error

Thanks for checking that!


About geometric

Can I add text or description on geometric shapes

Please post your question on the Cesium community forum: https://community.cesium.com/.


e2e: add e2e testcase of new image features

adding e2e test case to validate the workflow of pvc creation and attaching to pod works for new image features like fast-diff,obj-map,exclusive-lock, and layering.
fixes: #2695
Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>

/retest ci/centos/k8s-e2e-external-storage/1.21

/retest ci/centos/k8s-e2e-external-storage/1.22

X Exiting due to GUEST_PROVISION: Failed to start host: creating host: create: Error creating machine: Error in driver during machine creation: IP not available after waiting: machine minikube didn't return IP after 1 minute

E2E failure

/test ci/centos/k8s-e2e-external-storage/1.23

/test ci/centos/mini-e2e/k8s-1.23

/test ci/centos/mini-e2e-helm/k8s-1.23


LoRA/loralib/layers.py line 151-155 nn.Linear.forward()

Hi,
For LoRA/loralib/layers.py line 151-155, why the feedforward implementation of the Linear layer is to first go through the original network and then add LoRA to result. This is different from the implementation of the Conv layer, where the weight is added with LoRA before feedforward.
Did I make a mistake? Or is there no difference between the two implementations for the Linear layer?
Thank you!

Hi Jiawei,
They are the same mathematically. The benefit of what I wrote for the Linear layer is we don't need to instantiate another full-rank matrix. It's trickier to do that for Conv, and since the Conv layer is a proof-of-concept, I didn't optimize it further. Let me know if that makes sense!

Thank you!


Add gethostuuid and uuid_t on macOS

This adds the gethostuuid function and the uuid_t for macOS.
I'm not sure the function signature is correct. It's defined as the following in C:
int gethostuuid(uuid_t id, const struct timespec *wait);

typedef unsigned char   __darwin_uuid_t[16];
typedef __darwin_uuid_t uuid_t;

Because C doesn't really has arrays, the accept parameter can't be uuid_t in Rust, as Rust does have arrays and thus expect an array to be passed by value, where the C function expects a pointer.

r? @Amanieu
(rust-highfive has picked a reviewer for you, use r? to override)

Also this is not available on iOS I think:
#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_7_0)
int gethostuuid(uuid_t, const struct timespec *) __OSX_AVAILABLE_BUT_DEPRECATED_MSG(__MAC_NA, __MAC_NA, __IPHONE_2_0, __IPHONE_5_0, "gethostuuid() is no longer supported");
#else
int gethostuuid(uuid_t, const struct timespec *) __OSX_AVAILABLE_STARTING(__MAC_10_5, __IPHONE_NA);
#endif

@bors r+

:pushpin: Commit eca2ea67f1f8eadaec760e624da67d7176ed4fb7 has been approved by Amanieu

:hourglass: Testing commit eca2ea67f1f8eadaec760e624da67d7176ed4fb7 with merge f86dbf242d1406c9f4855a7c420b501030d80d84...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13
Approved by: Amanieu
Pushing f86dbf242d1406c9f4855a7c420b501030d80d84 to master...


revised makefile, newline after execution

Describe your PR, what does it fix/add?
The makefile now compiles when just calling make, mostly standard, and cleans when using make clean. hyprctl now also prints a newline character (0x0a) after running, not just after the help message (which now prints with return code 0 when calling hyprctl --help ), the old formatting could also cause weird results with some defaults promts
old:
[alba4k@ProBook ~]$ hyprctl keyword input:touchpad:natural_scroll 1
Error setting value <1> for field <input:touchpad:natural_scroll>: No such field.[alba4k@ProBook ~]$

new:
[alba4k@ProBook ~]$ hyprctl keyword input:touchpad:natural_scroll 1
Error setting value <1> for field <input:touchpad:natural_scroll>: No such field.
[alba4k@ProBook ~]$

Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
-
Is it ready for merging, or does it need work?
Everything should merge without issues

well, the tests didnt pass..
line 137, invalid printf usage

lgtm thanks


Added a way to customize the margins

Hey @alediaz84 !
Good idea. Sometimes we don't care about the size itself, but just on the margins we want it to have.
Basically, that is how the ModalSize .default sizing works, using constants I set internally for the margins.
So, I agree on adding the .marginSize ModalSize case, as a way to figure out sizing using margins.
But I don't think that should be a PresentationType itself. PresentationType's are supposed to represent "common" presentation types, alerts, popups, etc... And the .custom presentation types are for anything else that you want to set manually.
You could just use a .custom presentation type, and the use the ModalSize enums to set the sizing using margins.
What do you think?
Thanks for contributing!

I agree 100%. At the beginning I didn't want to change PresentationType and I didn't realize I could archive what I wanted without touching it.
I didn't realize I could use it like this:
        let width = ModalSize.sideMargin(value: 16)
        let height = ModalSize.sideMargin(value: 70)
        let presentationType = PresentationType.custom(width: width, height: height, center: .center)
        let presenter = Presentr(presentationType: presentationType)

YES, agreed.
You could use it like this even simpler 👍
let customType: PresentationType = .custom(width: .sideMargin(value: 16), height: .sideMargin(value: 70, center: .center)


[Button] User-defined Sizes

Currently, button size classes are hardcoded in _button.scss:
&.tiny     { font-size: map-get($button-sizes, tiny); }
&.small    { font-size: map-get($button-sizes, small); }
&.large    { font-size: map-get($button-sizes, large); }

Instead, we could loop through the $button-sizes map to allow user-defined button sizes:
@each $size, $value in $button-sizes {
  &.#{$size} { font-size: $value; }
}

Caveat: It adds a .default button size class.
#7933, addresses this for button group sizes and could be amended to also close this issue.

Like that idea a lot. Left a comment on your pull request with some feedback on the approach.


sourcehut: include module

In case I ever finish this or if someone wants to see some sort of thing as reference.

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Any progress here?

All the web interfaces should work fine? At least when I ran a couple of qemu vms through nixops it seemed everything worked fine locally in terms of the interface. For the lists and other integration things (like mailbox server) things I have no clue. I basically only host an instance with meta/git/paste locally.

Could you share your configuration.nix for the setup you have? I plan on trying to host an installation on a server I have, probably deployed to individual nspawn containers (not sure about how to do it right yet) and test it.
I have a mailserver running on that server, as well as postgres and redis, but no cron (yet, as I use systemd timers). I wonder how to properly set this up using containers for everything (or VMs, as said not sure which way to go, yet).

https://git.sr.ht/~eadwu/nixos-configuration/tree/master/nixops/sourcehut
Some configuration options might be missing in this PR.

Hey, what is the status of this PR? I'm looking to setup sourcehut on my nixOS server, is there anything I can do to get this finished? Any help needed?

@eadwu the link to the configuration is broken. this link
no rush, but when you have a moment, it would help to see an example configuration.

@pinpox I am by no means an expert, so take my advice with a grain of salt.
The first step is to test the current PR.
for that, you need to copy the files of this PR on a nixos machine, add an imports = [ ./sourcehut.nix] in the imports of your configuration.nix file. sourcehut.nix should just include the content of the sourcehut/default.nix from this PR. Then you can add inside your configuration.nix the proper configuration for the sourcehut service. That is the hard part I think, but by looking at the sourcehut doc, you can figure it out.
Let me know if anything doesn't make sense.

Why was this closed?

It is extremely unlikely that I will ever finish the entire module. I don't use some of the sub-services at all (such as builds or lists) nor do I have the experience of setting up build clusters correctly.

If anybody ever picks this up again, just put a comment here, I'm interested in helping the person test the PR and merge it.

ok thanks @eadwu for the update. I'll take a hit at it as soon as I figure it well

Had to update some of the available settings, but the existing setup seems to function (https://todo.srht.tomberek.info/).
Registration + email works.
git: https://git.srht.tomberek.info/~tomberek2/thing
todo: https://todo.srht.tomberek.info/~tomberek2/something-to-track
There are some fiddly things. The current one:
git update hooks don't seem to be called with the right Arg[0]: https://git.sr.ht/~sircmpwn/git.sr.ht/commit/84afd9d7b0298b6b418684daf7feab7f74635fa1#gitsrht-update-hook/main.go-1-31 And I get errors like:
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 4 threads
Compressing objects: 100% (11/11), done.
Writing objects: 100% (11/11), 10.05 KiB | 3.35 MiB/s, done.
Total 11 (delta 4), reused 0 (delta 0), pack-reused 0
remote: Unknown git hook /nix/store/jzad97p554fhb589027igf1rrfmabr1b-python3.8-gitsrht-0.61.10/bin/gitsrht-update-hook
To git.srht.tomberek.info:~tomberek2/sourcehut-nix
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git.srht.tomberek.info:~tomberek2/sourcehut-nix'

I believe the original approach in this PR was a workaround for a bug in the implementation but it was since fixed upstream.

This is in relation to gtsrht-update-hook. It seems os.Args[0] is the full path, not the relative path and symlink. It is expecting something like "hooks/pre-receive". The links exist on disk. Looks okay. Was thinking there might be some obscure git setting "don't resolve symlinks before calling them".

Did a mass update to the latest sources and added the 5100 API (not exactly sure if i did that right, but until I did, none of the web services were responding at all). Still have the same issue with the gitsrht-update-hook.

The arg0 was an artifact caused by Nix. The python builder wraps all the executables in bin and changes arg0 in doing so. The fix is to point the setting directly at the generated go binary instead of through the wrapper.

Putting my WIP here: https://git.srht.tomberek.info/~tomberek2/sourcehut-nix
Has the module in root, updated package code in sourcehut/, and example settings in nginx.nix.
@eadwu can we reopen this, or should we start a new PR?

A new PR, I won't be able to review it since as stated above I don't use all the services anyway.


blank square after adding shortcuts

I am seeing a square in the shortcuts that is not connected to anything restarted both app and device and persists

Hey! Does the same square appear in the desktop app? The square indicates that the image failed to load, perhaps a broken/invalid file?

It was not originally but after restarting my pc it shows thanks for the info


How can I restrict administrators from using privileges, not everyone

I have a repository that works with many developers.  I hope someone to use  privileges build docker image , others only work like unit test without privileges. Tried when+branch and trigger+branch but anytime anyone makes any change to any branch or a tag a build is triggered.

If i turn on Trusted, everyone in the repository can use   privileges.


Determine pidfile location correctly via a helper

Debian/Ubuntu changed their pidfile location, but the upstream packages haven’t changed. This leads to an evil if statement that doesn’t work in attribute form due to overrides. Move this logic to a helper and remove the attribute. This is probably the first of many things that will move to helpers instead of attributes.
Signed-off-by: Tim Smith<EMAIL_ADDRESS>

The helper is exposed into all resources throughout the run : pidfile_location is pretty generic - shouldn't it be named to be clear / reliable that it's the nginx pidfile rather than any other pidfile?


feat: Include raw-thumbnailer in SB for RAW support in Nautilus

Addresses inconsistency where other images can view RAW formats just fine in their respective file managers, but Silverblue can't
This adds this functionality to Nautilus

GTK based DEs work too (tested), so add these too to the list.
Cinnamon doesn't have those in repos, so they need to be built manually.

What parts need to be built for Cinnamon?

What parts need to be built for Cinnamon?

ffmpegthumbnailer & raw-thumbnailer.
For LxQT:
ffmpegthumbnailer & qt5-imageformats

We should just be able to add them to Cinnamon here right? The two binaries are in the fedora repos already:  https://github.com/ublue-os/cinnamon

We should just be able to add them to Cinnamon here right? The two binaries are in the fedora repos already: https://github.com/ublue-os/cinnamon

Yup.
Weirdly, I did not get those packages out of the box, and when I tried to install them in terminal from live-installation, it reported that those packages are not avaliable.

All right. I'll get this updated. Thank you for the help with this

Opening a PR for Cinnamon as well since it isn't built here


Does not install on MacOS with Apple Silicon

On Intel hardware, there is no issue.  So assume it's somehow architecture related
% zef install HMAC --verbose
===> Searching for: HMAC
===> Found: Digest:ver<1.1.0>:auth<zef:grondilu> [via Zef::Repository::Ecosystems<fez>]
[Digest] Command: curl --silent -L -z /var/folders/gr/2x_c7bgn58z8vymtgvk32kcw0000gn/T/.zef.1733165098.84533/1733165100.84533.2335.1820828708837/8f2092538c1c35ea49c3e9d613a82fe2a3ba4708.tar.gz -o /var/folders/gr/2x_c7bgn58z8vymtgvk32kcw0000gn/T/.zef.1733165098.84533/1733165100.84533.2335.1820828708837/8f2092538c1c35ea49c3e9d613a82fe2a3ba4708.tar.gz https://360.zef.pm/D/IG/DIGEST/8f2092538c1c35ea49c3e9d613a82fe2a3ba4708.tar.gz
===> Fetching [OK]: Digest:ver<1.1.0>:auth<zef:grondilu> to /var/folders/gr/2x_c7bgn58z8vymtgvk32kcw0000gn/T/.zef.1733165098.84533/1733165100.84533.2335.1820828708837/8f2092538c1c35ea49c3e9d613a82fe2a3ba4708.tar.gz
[Digest] Command: tar -zt -f 8f2092538c1c35ea49c3e9d613a82fe2a3ba4708.tar.gz
[Digest] Command: tar -zxvf 8f2092538c1c35ea49c3e9d613a82fe2a3ba4708.tar.gz -C ../8f2092538c1c35ea49c3e9d613a82fe2a3ba4708.tar.gz
===> Extraction [OK]: HMAC to /var/folders/gr/2x_c7bgn58z8vymtgvk32kcw0000gn/T/.zef.1733165098.84533/8f2092538c1c35ea49c3e9d613a82fe2a3ba4708.tar.gz
===> Staging Digest:ver<1.1.0>:auth<zef:grondilu>
===> Staging [OK] for Digest:ver<1.1.0>:auth<zef:grondilu>
===> Testing: Digest:ver<1.1.0>:auth<zef:grondilu>
[Digest] t/md5.t ...... ok
[Digest] t/rfc4231.t .. Dubious, test returned 7
[Digest] Failed 7/7 subtests
[Digest] t/ripemd.t ... Dubious, test returned 9
[Digest] Failed 9/9 subtests
[Digest] t/sha.t ...... Dubious, test returned 1
[Digest] Failed 1/2 subtests
[Digest]
[Digest] Test Summary Report
[Digest] -------------------
[Digest] t/rfc4231.t (Wstat: 1792 Tests: 7 Failed: 7)
[Digest]   Failed tests:  1 2 3 4 5 6 7
[Digest] Non-zero exit status: 7
[Digest] t/ripemd.t  (Wstat: 2304 Tests: 9 Failed: 9)
[Digest]   Failed tests:  1 2 3 4 5 6 7 8 9
[Digest] Non-zero exit status: 9
[Digest] t/sha.t  (Wstat: 256 Tests: 2 Failed: 1)
[Digest]   Failed tests:  2
[Digest] Non-zero exit status: 1
[Digest]   Parse errors: No plan found in TAP output
[Digest] Files=4, Tests=20,  23 wallclock secs
[Digest] Result: FAILED
===> Testing [FAIL]: Digest:ver<1.1.0>:auth<zef:grondilu>
Aborting due to test failure: Digest:ver<1.1.0>:auth<zef:grondilu> (use --force-test to override)

I think I was actually the cause of the issue, with a change to polymod that was discovered by a blin run.  Digest installs again now for me: it wasn't the hardware, it was the Rakudo version.
Sorry for the noise!


Markers

Hello @ron666,
As per our discussion here, I am sending a PR for the same issue.
Please let me know if I need to make some changes or perform some tests as well.
Cheers,
Harshita

@hkasera Thanks so much! Please just make sure no changes are done to any files on the /build/ folder; always in the /src/ folder, please

Can you just revert the changes on the /build/ folder please so I can merge this PR please?

@ron666 Sorry I missed this completely. I have reverted the changes in the build folder. Apologies for missing this out. Please do let me know of any additional changes if any to be done. I will make sure I respond quickly.
Thanks a lot!
Harshita

Thanks for your quick response; I see a conflict in demo/index.html file. Please correct it and it will be ready to be merged in the next release

@ron666 I updated my branch with upstream and then added back my changes. Hope it is good to go now. Apologies for to and fro on this!
Thanks,
Harshita Kasera

Thanks for your work on this. I'll merge this by the end of next week

@ron666 Thank you so much 😄 👍


Nonlinear elasticity example with PA and AD

This PR adds a nonlinear example that showcases MFEM's interface to the Fundamental finite element operator decomposition. In this specific case, it implements a matrix-free method to solve linear and nonlinear elasticity with user selected (or defined) material models. It showcases

Catering bits and pieces of MFEM's tools to a specific problem. Contrary to existing examples trying a one size fits all approach.
Providing automatic differentiation for functions on the quadrature point with

Dual numbers
Leveraging Enzyme through the LLVM intermediate representation
Finite differences

Simple matrix free preconditioners

Jacobi
Block Jacobi (inverted element blocks on the diagonal)

It shows very clearly how to manually apply essential boundary conditions in a matrix free setting and being consistent with it in the preconditioned application. Even in a nonlinear setting.

Internally (not user facing) the PR adds a static tensor implementation from Serac written by @samuelpmishLLNL. This is accompanied by a dual number implementation.

[x] Commit history has to be rewired properly in the end
[x] build system flags for enzyme

Maybe we can start by reviewing everything but the tensor class to avoid the heat, this would also give me some time to finish #2820 . This alternative tensor class in #2820 aims to be a minimal change for this PR #2814 , allow me to continue my work in #2626 ( ensure a potential simple merge path ), and replace DeviceTensor (in a backward compatible way).
@jandrej It would be convenient that you don't force-push to allow me rebasing/merging efficiently.

TODO:

Resolve the CI errors, e.g. replace "work with std::cout and other std::ostreams" with "work with standard output streams".

Mention the changes in CHANGELOG

I can see that the PR adds a new dual type for AD. Do we need two implementations in MFEM? I think the current fdual type should be modified if some functionality is missing rather than duplicating the type under different name.

Setting the dual type in the main code (linalg) means that this type will propagate everywhere in the MFEM library. Such a strategy removes the possibility of utilizing external libraries for AD. Is that what we want?

I can see that the PR adds a new dual type for AD. Do we need two implementations in MFEM? I think the current fdual type should be modified if some functionality is missing rather than duplicating the type under different name.

The FDual class is in a miniapp directory and it doesn't seem right to me using it from there. The purpose is not to replace something. It is a ready made solution upstreamed from Serac that worked seamlessly with minor modifications.

Setting the dual type in the main code (linalg) means that this type will propagate everywhere in the MFEM library. Such a strategy removes the possibility of utilizing external libraries for AD. Is that what we want?

The type is intentionally in the mfem::internal namespace.

The FDual class is in a miniapp directory and it doesn't seem right to me using it from there. The purpose is not to replace something. It is a ready made solution upstreamed from Serac that worked seamlessly with minor modifications.

Then the functionality should be unified and the classes should be put in the correct place. Otherwise we have two classes doing the same thing.

The type is intentionally in the mfem::internal namespace.

Does it mean that the class cannot be used by the users in their code?

The type is intentionally in the mfem::internal namespace.

Does it mean that the class cannot be used by the users in their code?

To my knowledge, there is no such mechanism in C++ (prior to C++20 modules, anyway) to prevent a developer from accessing classes defined in a header. dual is a generic class template, so its implementation must be in the header.
To dissuade users from accessing certain pieces of code in headers, the best that we can realistically do is to guard them behind namespaces like detail:: and internal::. This is the conventional way of signaling to users that the stuff contained within is explicitly not part of the public interface, and should not be used.

The FDual class is in a miniapp directory and it doesn't seem right to me using it from there. The purpose is not to replace something. It is a ready made solution upstreamed from Serac that worked seamlessly with minor modifications.

Then the functionality should be unified and the classes should be put in the correct place. Otherwise we have two classes doing the same thing.

At some point this would be ideal

@YohannDudouit I summarized your points

Put zero in it's own file
I'd like to keep the slicing capability
I dicussed the dual vs. FDualNumber with Boyan and we were both happy with
removing FDualNumber and using dual in his miniapp. It just works (TM).

Let me know what you think.
In the meantime @camierjs did some refactoring on the kernels.

@pazner @tzanio tests now pass after the refactor.

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

@bslazarov, @jamiebramwell and @v-dobrev -- reminder to take a look at this PR when you get a chance.

This PR looks magnificent! Really happy to see this happening. Especially the Enzyme AD integration (+example) is a huge one.
However, I found a (small?) issue. The internal dual representation suffers from perurbation confusion, which can be really nasty to track down. The issue can be easily reproduced by the following lines:
const auto x = mfem::internal::dual<double, double>{1.0, 1.0};
const auto y = mfem::internal::dual<double, double>{1.0, 1.0};
std::cout << (x*(x+y).gradient).gradient  << std::endl;

I just took the artificial example from the paper, but this can actually affect the Jacobian computation.

I think there is a misunderstanding about how to use this type to represent certain derivative expressions (which is understandable, since it's not very well documented yet). If you only use double as the gradient type (the second template argument), that implies that both quantities depend on a shared, single parameter, say: t. So, the code you wrote
const auto x = mfem::internal::dual<double, double>{1.0, 1.0};
const auto y = mfem::internal::dual<double, double>{1.0, 1.0};
std::cout << (x*(x+y).gradient).gradient  << std::endl;
// prints: 2

is mathematically equivalent to

If you want to track derivatives w.r.t. two independent quantities, like the example in the paper you linked:

then we can just make gradient_type store 2 numbers, e.g.
    // here, gradient_type stores two values: {derivative_wrt_x, derivative_wrt_y}
    const auto x = dual< double, tensor<double, 2> >{1.0, {1.0, 0.0}};
    const auto y = dual< double, tensor<double, 2> >{1.0, {0.0, 1.0}};
    std::cout << (x*((x+y).gradient[1])).gradient[0]  << std::endl;
    // prints: 1                    ^             ^
    //                   derivative_wrt_y     derivative_wrt_x

Ah, I see. Thanks for the detailed elaboration, this clears things up!

The cmake compilation does not work with Enzyme

We plan to merge this PR next week, so please speak up if you have any concerns

Shouldn't the directory be miniapps/hooke? (like miniapps/navier)

Shouldn't the directory be miniapps/hooke? (like miniapps/navier)

I can change that. I looked at electromagnetics/ this time :D

TODO:

[ ] fix the CMake build

@bslazarov, I'll wait on your approval before merging in next

Reminder: add the Enzyme package to the INSTALL file, similar to other optional packages.

Something along the process messed up the linking with enzyme.

@v-dobrev, can we merge this for testing now?

Merged in next for testing...


Regexify doesn't work

Hello,
First of all thanks for this faker library it saves me a lot of time :)
So I have an issue when I use the function regexify :
$faker = Faker::create('fr_FR'); echo $faker->regexify('[A-z0-9]');
my result : "Z^_`abcdefghijklmnopqrstuvwxyz0123456789]"
Thanks for all.

Ok I change the regex by this '[A-Za-z0-9]' and it works !!!

I can live with this limitation.

FYI, the seamingly erroneous reported result for [A-z0-9] is the expected result, not an error or limitation.
From  : https://stackoverflow.com/a/4923397/1602497

[A-z] will match ASCII characters in the range from A to z, while [a-zA-Z] will match ASCII characters in the range from A to Z and in the range from a to z. At first glance, this might seem equivalent -- however, if you look at this table of ASCII characters, you'll see that A-z includes several other characters. Specifically, they are [, , ], ^, _, and `` ` (which you clearly don't want).


Add section to the custom field documentation on ORM filtering.

Closes: DNE
What's Changed
Added a small section to the custom field documentation that explains, how you can use the ORM to filter on custom field values.

I have used the PR number for the changelog fragment as there is no corresponding issue - please let me know if you do need an issue and I will create one.


On-premises users section appears to have an incomplete sentence.

The first sentence of the On-premises users section appears to be incomplete: https://docs.microsoft.com/en-us/azure/active-directory/authentication/howto-authentication-passwordless-phone#on-premises-users
"An end user can be enabled for multifactor authentication (MFA) through an on-premises."

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

ID: ee6ac70d-5853-6a3a-0964-23b46910b4c4
Version Independent ID: a5beda87-9845-8807-6221-7fdc64079587
Content: Passwordless sign-in with Microsoft Authenticator - Azure Active Directory - Microsoft Entra
Content Source: articles/active-directory/authentication/howto-authentication-passwordless-phone.md
Service: active-directory
Sub-service: authentication
GitHub Login: @Justinha
Microsoft Alias: justinha

@beaucoup1980
Thanks for your feedback! We will investigate and update as appropriate.

@beaucoup1980 sorry for delay and thank you for raising this. It's fixed now. The end of that sentence should have referred to an on-premises identity provider.

#please-close


[Question] OIDC Auth and 401

Hello,
I have the following microservice project scheme:

Ocelot - dotnet core 2.0 in webApi template project: port 8090
Okta OIDC - dotnet core 2.1 mvc template project: port 8087
Micro-Service - dotnet core 2.1 webApi template project: port 8086

(These are all in docker containers)
I'm not sure of how I am supposed to be using this, but here is what I am trying (and failing at):

Using a browser, hit Okta OIDC site (this is an internal corporate Okta instance, not the okta.com site). It redirects me to our SSO login. After login, I am redirected back to the protected route where I can get my access_token (and I'm on a page secured with [Authorize]  on the Okta mvc site.

I open up postman and try to hit Ocelot with a path of /test/123. I have this configured to call the micro-service downstream.

I get a 401 Unauthorized.

*Note: If I remove the AuthenticationOptions from the config, Ocelot works fine, it's only when I am trying to get it to use my authentication.
Suspicions
I think what's happening is Okta is setting a browser cookie for it's path which technically is another site because of the ports... Not sure if this is whats happening or not.
What I am trying to accomplish
Please let me know if I am going about this all wrong or not. What I would prefer is that my client-side javacript site (not mentioned here as I thought it might be out of scope) calls out to Okta OIDC to login. Then I would like to take the bearer token and use that in calls to Ocelot. Once Ocelot is happy with that token, I can then setup JWT tokens for trust between Ocelot and my micro-services. (or even better yet, have the web call Ocelot and have it handle the Okta auth).
config
{
    "ReRoutes": [
      {
        "DownstreamPathTemplate": "/service/api/v1/{userId}",
        "DownstreamScheme": "http",
        "DownstreamHostAndPorts": [
          {
            "Host": "salesrep-api",
            "Port": 80
          }
        ],
        "UpstreamPathTemplate": "/test/{userId}",
        "UpstreamHttpMethod": [
          "Get"
        ],
        "AuthenticationOptions": {
          "AuthenticationProviderKey": "ProxyKey",
          "AllowedScopes": []
        }
      }
    ],
    "GlobalConfiguration": {
      "BaseUrl": "http://localhost:8087"
    }
  }

startup (authentication)
 var authenticationProviderKey = "ProxyKey";

            services.AddAuthentication(sharedOptions =>
            {
                sharedOptions.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                sharedOptions.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                sharedOptions.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
            })
            .AddCookie()
            .AddOpenIdConnect(authenticationProviderKey, o =>
            {
                o.ClientId = "xxx";
                o.ClientSecret = "xxx";
                o.Authority = "https://myco.okta.com";
                o.SignInScheme = "Cookies";
                o.CallbackPath = "/auth-response";
                o.ResponseType = OpenIdConnectResponseType.Code;
                o.SaveTokens = true;
                o.UseTokenLifetime = false;
                o.GetClaimsFromUserInfoEndpoint = true;
                o.Scope.Add("openid");
                o.Scope.Add("profile");
                o.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer = true,
                    NameClaimType = "name"
                };
            });

@Savij Thanks for your interest in the project and a very thorough issue report!
On step 2 where you call Ocelot from postman I assume you are setting a header Authorization: Bearer XXXXX?
Have you tried these authentication settings with a normal webapi in docker to remove Ocelot from the equation? You could just create a basic webapi project, stick [Authorize] on the ValuesController and then use your code in the services startup. See if that works called via postman. If it does I would suspect an issue with Ocelot! If it does not work then it is probably an issue where your docker container cannot network to the authority or there is something missing / wrong with the authentication setup code above.
Hope that helps. Let me know and I am happy to keep working to resolve this issue 😄

sounds like a good test. Will try it on Monday when I'm back to work. Will Advise.

 The problem was with Okta and NOT Ocelot. I removed Ocelot as you suggested and it still was not working. I switched over (for now) to implicit grant for the react part. Then added Ocelot and viola!
For those interested, the access_token by default from Okta OIDC is not signed by the same authority as the id_token. For now, I'm using the id_token which has the claims in it I need for this project. I will probably have the IT guys create a separate auth server and change the audience to match. Then I can use the access_token and possibly refresh_tokens.
Here is my final working config if it helps anyone:
[dotnet core c# Startup.cs]
public void ConfigureServices(IServiceCollection services)
{
    services.AddCors();
    var authenticationProviderKey = "ProxyKey";
     services.AddAuthentication(sharedOptions =>
     {
        sharedOptions.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
        sharedOptions.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
    })
     .AddJwtBearer(authenticationProviderKey, options =>
    {
        options.Authority = "https://<issuer in okta>.okta.com";
        options.Audience = "<Audience from Okta>";
    });
    services.AddOcelot(Configuration);
    services.AddMvc();
}

public async void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseCors(builder =>
        builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod());

    app.UseStaticFiles();
    app.UseAuthentication();
    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
    });
    await app.UseOcelot();
}

Then just follow the react implicit grant docs from Okta. Everything I needed was here:
okta react and dotnet core
Only thing I have not done yet is secure the microservices with a JWT token so only they can communicate with Ocelot and each other. Not totally sure I need it as the micro-services will not be reachable by the react app anyway once deployed.... and that's another conversation.
I'm good if you wanna close this ticket.
Thanks for the help!
-Jeff

@Savij awesome thanks for the update. I might put a link to this in the docs in case anyone else is looking for something similar one day.
Let me know if you need anymore assistance with Ocelot 😄

Okta from official sample:
Startup.cs:
ConfigureServices method
services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = OktaDefaults.ApiAuthenticationScheme;
                options.DefaultChallengeScheme = OktaDefaults.ApiAuthenticationScheme;
                options.DefaultSignInScheme = OktaDefaults.ApiAuthenticationScheme;
            })
            .AddOktaWebApi(new OktaWebApiOptions
            {
                OktaDomain = _cfg["Okta:OktaDomain"]

            });

and method Configure
app.UseAuthentication();

@SychevIgor can you provide Sample-Code for Octa-Integration with Okta.AspNetCore?
I'm a little bit lost on reroute-config.

@nitrat7 to be fair- almost all code already mentioned.
But regarding reroute configs - you will need 2 extra fields inside AuthenticationOptions :
{
"DownstreamPathTemplate": "/api/trades",
"DownstreamScheme": "",
"DownstreamHostAndPorts": [
],
"UpstreamPathTemplate": "/api/trades",
"UpstreamHttpMethod": [],
"DangerousAcceptAnyServerCertificateValidator": true,
"AuthenticationOptions": {
"AuthenticationProviderKey": "Bearer",
"AllowedScopes": []
}
},

@SychevIgor I am getting an error  ArgumentNullException: Your Okta URL is missing. You can copy your domain from the Okta Developer Console. Follow these instructions to find it: https://bit.ly/finding-okta-domain

@atadhani a bit confused from message. What do you expect as an answer?
Of course you need configure okta url. In my snippet, application reading okta domain url in a following line:
OktaDomain = _cfg["Okta:OktaDomain"]
If you need more info about .net core configuration https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.2

Sorry for confusion.  I was trying _cfg["Okta:OktaDomain"] as _cfg["Okta:"] so it gave me an error when I passed  OktaDomain = "" it works now. Thanks for quick response


Pin web3

As outlined in https://github.com/Aniket-Engg/sol-verifier/issues/2#issuecomment-476508714

Thanks @TimDaub !