Added eps as attribute to basis

Added relative tolerance eps > s_lmax / s_0 as an attribute to the basis class (and inheriting it in basis_set). It is a solution to issue #19, although the way of adding a value for eps is kinda hacky if eps=None is the input. Like this, it should be more or less consistent (instead of just using eps = s[-1] / s[0], since it can lead to larger basis sizes using this calculated eps).
In the future, adding some SVE_results class might be useful for doing this consistently.
In adding the tolerance, I also cleaned up the attributes/properties of IRbasis and FiniteTempBasis.

Thank you!
But, some test fails, which is not your fault.
In the current implementation, the sve_result attribute of a FiniteTempBasis object returns SVE results in the tau convention ([0, beta]).
This is not what we expect in creating a new basis object with the same sve_result, which must be in the reduced variable x ([-1, 1]).
Can you give me a write permission to your repository? I will fix it.

That is interesting. I had this issue when testing as well, but somehow I managed to get it to work (otherwise I would not have submitted). You should be able to fix it now.

OK, all the tests are now passed.
I am still trying to understand the logic for setting the value of the attribute eps when eps=None is given.
My test code:
def test_reuse_sve_result():
    beta = 1.
    wmax = 1e+1
    basis = FiniteTempBasis("F", beta, wmax)
    basis2 = FiniteTempBasis("F", beta*2, wmax/2)
    print(basis.eps, basis.s[-1]/basis.s[0])
    assert basis.eps == basis2.eps

The results:
Precomputing SVEs for logistic kernel ...
2e-15 1.903279158269547e-15

The value of eps is slightly larger than s[-1]/s[0]. I expect the opposite. Is this the intended behavior?

First of all, you are correct that it should be np.floor instead of np.ceil, i.e., a little bit smaller than larger.
Second, I tested this a bit more now. Although numpy.nextafter seems simpler, it does not fully get rid of the problem I had in mind. I admit, the problem I am going to explain is a bit artificial and unlikely to happen, but if it did occur I believe it would not be easy to find.
My reasoning for the logic of setting eps < eps_s = s[-1] / s[0] is that when recalculating the basis function by passing eps_s without also passing the sve_result the basis size can change. This will most probably lead to some error due to size mismatch between calculations. You can check this behavior using:
beta = 1.
wmax = 1e+1
for eps in [None, 1e-8, 1e-7, 1e-5]:
    basis = sparse_ir_test.FiniteTempBasis("F", beta, wmax, eps=eps)
    # reuse the same eps (no problem)
    basis_eps    = sparse_ir_test.FiniteTempBasis("F", beta, wmax, eps=basis.eps)
    # use stricht eps = s_max / s0 <-- this is esp. bad
    basis_sv_eps = sparse_ir_test.FiniteTempBasis("F", beta, wmax, eps=basis.s[-1]/basis.s[0])
    # use next float below s_max / s0 <-- better but sometimes bad
    basis_np_eps = sparse_ir_test.FiniteTempBasis("F", beta, wmax, eps=np.nextafter(basis.s[-1] / basis.s[0],0))

    # create new basis from sve_results
    basis_2 = sparse_ir_test.FiniteTempBasis("F", beta*2, wmax/2, sve_result=basis.sve_result)
    # reuse eps; mind that basis_2.eps != basis.eps, as we floor at a certain precision
    # (NOT machine precision as np.nextafter)
    basis_2_eps = sparse_ir_test.FiniteTempBasis("F", beta, wmax, eps=basis_2.eps)

    print(eps, basis.eps, basis_eps.eps, basis_sv_eps.eps, basis_np_eps.eps, basis_2.eps, basis_2_eps.eps)
    print(basis.size, basis_eps.size, basis_sv_eps.size, basis_np_eps.size, basis_2.size, basis_2_eps.size)

Mind, it does not occur for every eps (that's why I let it iterate over three values). I am not sure of the reason for the different sizes, but I guess the strict condition of s_max > eps * s_0 instead of s_max >= eps * s_0 is enforced in the truncation process. If we do not want to change that, setting eps slightly smaller than s[-1] / s[0] is sufficient to circumvent this. But "slightly" as in "machine precision" from numpy.nextafter is not enough as this example demonstrates.

OK, I got the point.
Minimal code
def test_niklas():
    beta = 1.
    wmax = 1e+1
    eps = 1e-8

    # SVE is done in ddouble because eps is small enough
    basis = FiniteTempBasis("F", beta, wmax, eps=eps)

    # SVE is done in double because eps = 6.514192910092466e-08
    basis_np_eps = FiniteTempBasis("F", beta, wmax, eps=np.nextafter(basis.s[-1] / basis.s[0],0))
    assert basis.size == basis_np_eps.size

The first SVE is done in ddouble (extended precision) but the second one is done in double.
So, the computed singular values do not match between the first and second SVE's within the machine precision!

Ouch, yes that's annoying.
There is not really a way of fixing this without storing the discretization parameters together with the SVE.
As a workaround, I suggest removing eps from FiniteTempBasisSet and instead add the following
property to IRBasis, FiniteTempBasis, and FiniteTempBasisSet:
@property
def accuracy(self):
     return np.nextafter(basis.s[-1] / basis.s[0], 0)

I agree, for full integrity it probably should be stored together with the SVE in the future.
For now, how about setting both, the accuracy property from s[-1]/s[0] and eps? But by explicitly mentioning that the basis.eps property/attribute is the same as input, not necessarily the same as used in the SVE. Then, if someone did not set eps, it is left as None, while others can store, access, and possibly reuse their preset values.
This could still lead to inconsistencies between calculations if someone really wants it to be

This problem seems to be fundamental.
It's all about how to uniquely (and in a numerically robust way) identify a basis.
Ideally, we should use (Λ, size) rather than (Λ, eps).
In practice, we can use (Λ, eps, size) and use eps as a hint for determining work_dtype for SVE.
What do you think, Markus?

I am against eps in this form.  eps is not useful to reproduce the basis, (you need work_dtype, basis size,  potentially gauss order and so on), so it is not useful to store it with the basis on its own.  Moreover, its inconsistent between FiniteTempBasis and FiniteTempBasisSet.  So, its neither useful in reproducing the basis nor useful in interpreting the basis, so let's not add it.

Okay, I can totally understand that point. Then I will change the eps to accuracy (does not hurt to have). Implementing a structure SVEResult should be dealt with in another commit/PR.

I added the accuracy property now. As it should not be used to reproduce a basis, I think it is sufficient to not use numpy.nextafter. To reflect the change, I also changed the title of the PR.
If everything is fine for you, we can close this PR(?).

Dear @nikwitt,
unfortunately, several tests fail with your PR, which we only found out after merging, so I had to revert your merge.
Can you open another PR and please make sure that the test suite runs cleanly (pytest)?
Thanks!


Overload winrt::to_hstring for IInspectable

Sometimes you may not what exactly the type is but still want a readable string representation. In C++/CX, you could use the Object::ToString which would return the most appropriate string representation of the object. This has many uses eg: string formatting. Please add an overload of winrt::to_hstring for IInspectable. If the object represents a boxed value, unbox it and return the string representation of that. If the object implements IStringable, return the result of the ToString method and otherwise just return the type name.

Even C++/CX did a bad job of "everything supports ToString()". If you have an IBox<int>, calling ToString() does not return the stringified boxed integer. It just returns IReferenceint`, which is not very useful.
The compat issue is valid, because we explicitly permit apps to add additional overloads of to_hstring, and if they had added one for IInspectable, we would have a build break.
You can certainly add an overload in your own project. You can also add it to WIL. It has a wil/cppwinrt.h that would be a suitable place for "extra helpers that do not require access to C++/WinRT internals". I think that would be better than trying to add it to core C++/WinRT.


Timeseries update

This PR addressed two outstanding loose ends in timeseriestools.py
https://trello.com/c/g35VOHPb
and
https://trello.com/c/LRwiznwG

You can no longer select a resampling window smaller than the time resolution the data is starting with
You can select min, max, and/or percentile all at once instead of only one at a time.

Something I changed is incompatible with how the test is written... looking into it.

The way you have it coded now will cause an error if the following line of code is run more than once in a notebook:
timeseries = tst.Timeseries(my_data)

Should be resolved with latest update.


gen same

fastrand::seed(7);
println!("seed 7 after: {}", fastrand::u32(..));
let rng = fastrand::Rng::new();
let bytes: Vec = repeat_with(|| rng.u8(..)).take(100).collect();
println!("rng random bytes {:?}", bytes);
bytes same.

fastrand::seed updates the thread-local RNG, and Rng::new refers to the updated RNG.
If you want to create an instance of Rng with seed without updating the thread-local RNG, you can use Rng::with_seed.


Update path to integration workflow to display badge in README.md

Thanks!

No worries, hate to see a broken link ;)


Steam Deck lacking rumble

Thanks for this amazing work guys!! This is like a dream come true.
I'm playing the game on my Steam deck and there doesn't appear to be any vibration... is this a known issue on Steam Deck? is there anything I can do to enable it?

Strange, saw some others mention it worked fine on deck for them: https://x.com/englebert3rd/status/1808910559389048886
You could try changing VibrationControllerId in the OutRun2006Tweaks.ini file and see if increasing it lets it work, maybe it's on a different device ID for some reason.
IIRC Steam also has some options to configure the controller too, not sure how that works with deck but maybe something there is stopping it?

I’ve tried changing the ini to 1 and 2, but still nothing. I will dig a little deeper later and report back if i find anything. Maybe it’s an issue with my device.

It works on mine, it's just very weak.

I'm having issues with no rumble on steam deck aswell. Tried changing controller id, but no luck so far.

It works on mine, it's just very weak.

Are you using default settings?

Are you using default settings?
Yes, I haven't change anything controls-related. Place your finger on the touchpad and bump into some walls, it's barely noticeable with default Steam Deck settings.

Ok, got around to testing this...
On OLED Deck, yes, there is vibration, but it's super, super weak... I actually thought it was just vibration from the speakers before, but if you put your thumbs on the thumbpads, yes, you can feel, but it's super weak.
I connected up Xbox Elite 2 controller and you have to reorder the controllers and make the Xbox pad controller No.2 for it to work, but the external pad has no rumble either. Changing the VibrationControllerId to 1 or 2 also does nothing.
Vibration of Deck and external controller works normally in other games, like Slipstream, for example.

On OLED Deck, yes, there is vibration, but it's super, super weak... I actually thought it was just vibration from the speakers before, but if you put your thumbs on the thumbpads, yes, you can feel, but it's super weak.

I'm using the LCD deck and there is no vibration. Tried a few settings but so far, no dice.


fix mopbucket water level

About the PR
Made mopbucket water levels visible again.
Why / Balance
Because #26601 somehow broke mopbuckets, probably accidentally deleted a wrong line of code
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Before:

After:

Breaking changes

Changelog

This PR should also close #26712


[SPARK-33141][SQL] Capture SQL configs when creating permanent views

What changes were proposed in this pull request?
This PR makes CreateViewCommand/AlterViewAsCommand capturing runtime SQL configs and store them as view properties. These configs will be applied during the parsing and analysis phases of the view resolution. Users can set spark.sql.legacy.useCurrentConfigsForView to true to restore the behavior before.
Why are the changes needed?
This PR is a sub-task of SPARK-33138 that proposes to unify temp view and permanent view behaviors. This PR makes permanent views mimicking the temp view behavior that 'fixes' view semantic by directly storing resolved LogicalPlan. For example, if a user uses spark 2.4 to create a view that contains null values from division-by-zero expressions, she may not want that other users' queries which reference her view throw exceptions when running on spark 3.x with ansi mode on.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
added UT + existing UTs (improved)

Test build #130757 has started for PR 30289 at commit b58397c.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35366/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35366/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/35366/
Test FAILed.

Test build #130757 has finished for PR 30289 at commit b58397c.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class AstBuilder extends SqlBaseBaseVisitor[AnyRef] with Logging
abstract class AbstractSqlParser extends ParserInterface with Logging
class CatalystSqlParser(deprecatedConf: SQLConf) extends AbstractSqlParser
class SparkSqlParser(deprecatedConf: SQLConf) extends AbstractSqlParser
class SparkSqlAstBuilder extends AstBuilder
class VariableSubstitution(deprecatedConf: SQLConf)

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130757/
Test PASSed.

Could you describe more about the Why are the changes needed? section? In my first impression, since the view is a logical one, the current behaivour (the behaivour of logical views depends on current runtime configs) looks more natural than the proposed one. cc: @cloud-fan @viirya

BTW, capturing configs into views may hit config migration issue. We might add/change/remove configs across Spark versions.

Test build #130765 has started for PR 30289 at commit e3f36cf.

Could you describe more about the Why are the changes needed? section? In my first impression, since the view is a logical one, the current behaivour (the behaivour of logical views depends on current runtime configs) looks more natural than the proposed one. cc: @cloud-fan @viirya

What configs we should capture? As @maropu said, a view is basically logical query, is it important to capture SQL configs for it? From the description, seems it is for keeping semantically consistency. For a logical query, will we change its semantic by using different config values? If there is, it is behavior breaking config actually. For such configs, capturing a view's configs seems not making sense too.
Can you describe the use case?

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35374/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/35374/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/35374/
Test PASSed.

can we copy-paste more context from JIRA tickets to the PR description? @luluorta

Test build #130765 has finished for PR 30289 at commit e3f36cf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/130765/
Test PASSed.

Test build #131534 has started for PR 30289 at commit 6a41103.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36137/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/36137/

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36137/
Test FAILed.

Test build #131534 has finished for PR 30289 at commit 6a41103.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131534/
Test FAILed.

Test build #131603 has started for PR 30289 at commit 6a41103.

Test build #131603 has finished for PR 30289 at commit 6a41103.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Build finished.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131603/

Build finished.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36204/

Test build #131746 has started for PR 30289 at commit 22b7dde.

can we copy-paste more context from JIRA tickets to the PR description?

I added more background information to the PR description.

Test build #131749 has started for PR 30289 at commit f44e71b.

Test build #131746 has finished for PR 30289 at commit 22b7dde.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

My two cents:

It's unfortunate that Spark has "semantic" configs which can change query result. This is bad for a SQL system, but we can't get rid of it now.
For a view, it's more reasonable to "fix" its semantic after created since the semantic can change by configs. If a user turns on ANSI mode, he should still be able to read existing views that may not be valid under ANSI mode.

Build finished.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131746/

Test build #131749 has finished for PR 30289 at commit f44e71b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Build finished.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/131749/

Build finished.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36344/

Build finished.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/36347/

thanks, merging to master!


client: correctly detect MIME

I didn't expect that metadata will be sent in anything else that ASCII.
But we absolutely need to know the charset because of labels.
Northwind returns "Content-Type: application/xml;charset=utf-8"
Closes #7

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Simple & Looks good.


null is not an object (evaluating 'WeChat.registerApp')

救命啊,就没一个能用的吗?

@hms111111 这个问解决了吗？我今天也遇到了

You may forget to link. run react-native link

and then add some lib. Refer to https://github.com/yorkie/react-native-wechat/issues/439


Error loading .SLN in Visual Studdio 2017

Hello
Loading Samples (.sln file) produces errors:
e.g. for the BASICINPUTS solution:
D:\PROJECTS\Samples\BasicInput\cs\BasicInput.csproj : error  : The imported project "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\XamlCompiler\Microsoft.Windows.UI.Xaml.Common.targets" was not found. Confirm that the path in the  declaration is correct, and that the file exists on disk.  D:\VS17\MSBuild\Microsoft\WindowsXaml\v15.0\8.21\Microsoft.Windows.UI.Xaml.Common.targets

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

ID: cf00961f-a83a-def3-00df-0d4b117fa572
Version Independent ID: 14aa80b5-bb07-b22c-3174-b2f9b7f66ad5
Content: Get UWP app samples - Windows UWP applications
Content Source: windows-apps-src/get-started/get-uwp-app-samples.md
Product: uwp
GitHub Login: @QuinnRadich
Microsoft Alias: quradic

@SheiksBeer you need the 1809 SDK installed, see https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk


🚀 | Add Event Device plugin to support USB controllers

Feature Description
What functionality would you like to see in your phoniebox?
It should be easy to configure the phoniebox to listen to generic event devices, such as an USB controller/joystick or keyboard.
How do you envision the feature to work from a users perspective?
The user should be able to configure an USB controller and the button mapping -> RPC in his main configuration file.
Further information that might help
This can be implemented by adding a plugin around the EvDevKeyListener

For the V2 implementation of USB encoder see https://github.com/MiczFlor/RPi-Jukebox-RFID/tree/develop/components/controls/buttons_usb_encoder

Implemented in #1943


win-acme, desired state configuration (DSC) and idempotency

Why
We are setting up all our development servers automatically with Azure Automation. Each machine have their individual customizations done using desired state configuration. Setup of the win-acme software will be done. This requires the command to be idempotent (ie. not cause any interference when the same command is run multiple times). We need to know if there are any caveats with our current approach.
How
We tested the WindowsProcess DSC module to run the win-acme executable with a set of parameters. This will not validate in the long run as it's meant for background processes. The community suggests to use the Script DSC module instead. But this requires us to be able to confirm the state with a PowerShell script block. We have tried to use the output from the following command to check for the installed certificate.
.\wacs.exe --baseuri "https://api.buypass.com/acme/directory" --list

However this command does not work unattended.
Documentation improvements
Could you please document the proper way of using wacs unattended and verify that the certificate in question is installed with scheduled renewal?
edit: changed the topic with new info on the same problem.

Good question. I think rather than parsing screen output (which might change over time), I would check the renewal.json files in the configuration path (%programdata%\win-acme). There we store the succes/failure history of the certificate, so you could verify if it's most recent run was succesful.

Thanks, will check it out. That might be exactly what I’m looking for.


Fix CoinMarketCap open urls for XRP and BCH AUD pairs

Sorry, I failed with the copy-pasting for these two! Thanks for accepting #1 :)

No problem at all! Same happened to me as I was doing the initial ones 👍


Quick switch between routes (memory leak in IE)

I am using Angular 1.5 and ui router 0.2.13.
In Internet Explorer 11 (EDGE too) quick switching between routes takes memory it grow up and up and never released.
Any ideas?

Make a plunker that reproduces this memory growing and we'll take a look.

Please look here.
I tried to reproduce and memory slowly grow up and not released in IE.
I switched 20 times between routes and get this memory chart:

I see the same issue when I use gmail while switching between email by pressing next mail button. Curious if it's a global IE issue.
Chrome seems to work well with this plunk.

Thanks for the plunker...

Hi Christopher,
Did you have a chance to look at the issue? We have similar issue with Angular in IE

I didn't have a chance... I need to download a VM just to get windows running and haven't had time to invest.  I suspect this behavior isn't the fault of ui-router, so I haven't made it a priority.
Can those of you who are experiencing this issue perhaps do some more diagnostics?  What tools are available for debugging IE and Edge?

Hi Christopher,
We did an update in test exapmle to adopt latest Plunker's changes. So, this link can be used again.
https://embed.plnkr.co/gDDN9b0FDoqCmEFQZgh9/
It works in Edge browser (Windows10 OS), and every time when you switch the tab - memorry sligtly grows and doesn't release.
We will provide you Plunker link soon, which will work in IE too. Aslo we will add automated script to show memory leak explicilty.
IE and Edge have inbuilt debugger tool (F12). Or did you ask any tool do debug browser itself?

@imorgoch I ran your plunker in chrome, with heap allocations traced and it doesn't seem to be leaking any memory.
I ran this version of your plunker which switches between route1 and route2 rapdily for 2 minutes.

Gray bars indicate objects that were allocated during the timeline, but have since been garbage collected
reference

I'm not sure the heap growth on Edge can be attributed to a ui-router bug, else we would also see it in other browsers.

memorry sligtly grows and doesn't release.
Javascript engines use garbage collection. Are you sure the memory isn't ever garbage collected?

I ran this a test on Edge:

It doesn't appear that the javascript objects increase significantly over the 2.5 minute run.   Total process usage increases while the routes change back/forth, but are garbage collected at around 2:40 back to about the same as the initial baseline snapshot.


timestamps should show the time the corresponding data changed

Jack said on 2015-06-11:
The following statement In the README.md describes the timestamps:
"Each of the resources and relations has a timestamp field, indicating when it was observed or inferred, respectively. The entire context graph has a separate timestamp indiciating when the graph was computed from the resource metadata."
Does it really change every time the data is observed, or does it actually change every time the observed data changes?
If it changes every time the data is observed, it has little value, since it will be updated every time Cluster Insight polls the API.
However, if it changes every time the observed data changes, then it has great value, since it provides a quick way to detect changes on the client side.
After pulling data from Cluster Insight in a web browser over a period of time, I believe it changes only when the observed date changes. However, since the documentation says otherwise, I'd appreciate your help in answering this question.
===
All timestamps should show when the data changed and not when it was observed.
The cache object has support for this functionality.
The only timestamp that will always show the current time will be the overall timestamp of the context graph.
Need to test the intended behavior and then update the README file.

All timestamps show the time the value was first observed. However, since all data is removed from the collector's cache after 1 hour to enforce reasonable freshness, the maximal age of all values is 1 hour.
Note that the process information changes frequently. This the overall timestamp of the entire context graph also changes. The timestamps of all resources other than processes remain constant, though.


Remove and update region (Regions plugin)

I've been working with Regions plugin and there is a need to delete region by it's id and update by id, but there is nothing about this in the docs (only add and clear all). Just wondering if there is this functionality implemented or should I do a PR for this?

should I do a PR for this?

Prs are always welcome.

Perfect, I did find a way to update/remove regions, however I will work on the PR

Also see #2521


Autobuild release when a tag is set

This replaces the old build.sh script and will automatically build a release when a tag is set.

I'm nearly there, but for some reason I can't build the .js file with the required languages..

@khlr You know how to test this add-on?
An automated build was created here, but I'm unable to load it into Firefox.. I says it's broken :(

Please excuse me for not responding yet... I think it'll take me some days to review this one.

While testing I found an issue preventing highlight.js to load:
Uncaught ReferenceError: ready is not defined
    <anonymous> moz-extension://d7bc7329-1f05-4804-b312-82f952576974/lib/highlight.min.js:1
    <anonymous> moz-extension://d7bc7329-1f05-4804-b312-82f952576974/lib/highlight.min.js:1
    <anonymous> moz-extension://d7bc7329-1f05-4804-b312-82f952576974/lib/highlight.min.js:1

@thijskh: Maybe you've gotten over it. But would you like to do another review of this PR?
And could you kindly have a look at this?
https://github.com/simplesamlphp/SAML-tracer/pull/87#discussion_r1382381600

I'm still not sure how to get this working though :(

What's not working yet, Tim?

Ehh, everything..  https://github.com/simplesamlphp/SAML-tracer/pull/87#issuecomment-1784969480

Ok, so I finally got this to work (yay)!
But there is also bad news, and that is that highlight.js has dropped the 'properties' and 'http' languages. They are only available if you manually build the package.
Now I've verified that manually build works and it's really not that hard, but it completely defeats the purpose of easy-to-update dependencies.. Thoughts or suggestions are welcome.

Everything is working now, with a manual build of highlight.js.. We have to manually update highlight.js and pako by changing the version numbers in the GA workflow file.

@khlr I think we have enough changes for a new release now.. I believe you know how to upload a new version to Mozilla?

Thank you for your efforts, Tim!

Now I've verified that manually building works and it's really not that hard, but it completely defeats the purpose of easy-to-update dependencies.. Thoughts or suggestions are welcome.

I didn't look into it in detail yet, but maybe prism.js could be a suitable alternative for hljs if it's easier to use for us?
Please help me to get my head around why we do we have to build pako manually?

I think we have enough changes for a new release now.
I think so, too 😊 We could release version 1.8.0 to Mozilla, but we cannot publish it to the chrome web store yet. To do so we still need a privacy policy.
I wouldn't be so happy if it was only published in one store and not the other....

Please help me to get my head around why we do we have to build pako manually?

We don't necessarily have to, but it keeps our build-process consistent.
Pako can be installed using NPM & Webpack, but that would bring in a lot of overhead that I think isn't worth it.


Fixed some inaccurate spelling and markdown errors

What does this PR do?

[+] Edits typings

Things to check

[+] Have you tested changes locally?
[+] Have you followed our linter rules?
[+] Have you ensured TypeScript compiles?

Description
Fixes some grammatical errors - as well as possible markdown overlap errors.

Git does not even acknowledge this exists so I'm closing it.
Will fix it and credit you in source.
Thanks.


[Enhancement] Enhancement List

I would like to have few enhancements, I would like to create a PR and fix em if anyone knows the solution to any
I think there should be a ChipInputController having access to validators, suggestion controller.
1- Access to suggestion controller to open and close on demand, like close controller when other formfield is focused
2- Optional suggestion dropdown. Instead I would like to use your input for input and build a custom list myself below your input field
3- Need validators at least 1 - non null validator. Could be minChips 1 and isMinChipValid
4- Access to onFocus and onUnfocus which can be used for validation

#45 Enhancement of suggestion box


Regression: Can't recover partial tag function from iso object to iso callable.

Here's another "regression" I found where something that was possible with ponyc 0.1.7 is no longer possible with 0.2.1, but it seems like it should be possible.
interface iso TransformU64
  fun ref apply(x: U64): U64

class MyTransformation
  new iso create() => None
  fun tag transform(x: U64): U64 => x + 1

actor Main
  new create(env: Env) =>
    let transform: TransformU64 = recover MyTransformation~transform() end

/home/jemc/1/code/gitx/ponyc/test/jemc/test.pony:10:43: right side must be a subtype of left side
    let transform: TransformU64 = recover MyTransformation~transform() end
                                          ^
/home/jemc/1/code/gitx/ponyc/test/jemc/test.pony:5:3: right side type: MyTransformation iso
  new iso create() => None
  ^
/home/jemc/1/code/gitx/ponyc/test/jemc/test.pony:5:3: left side type: MyTransformation iso^
  new iso create() => None

This minor tweak worked for me:
interface iso TransformU64
  fun ref apply(x: U64): U64

class MyTransformation
  new create() => None
  fun tag transform(x: U64): U64 => x + 1

actor Main
  new create(env: Env) =>
    let transform = MyTransformation~transform()
    env.out.print("Foo: " + transform(10).string())
    None

@darach I need it to be iso so I can pass it between actors.

Gotcha, this seems to work but slightly different syntax to make it so:
use "debug"

interface iso TransformU64
  fun ref apply(x: U64): U64

class iso MyTransformation
  new create() => None
  fun tag transform(x: U64): U64 => x + 1

actor MyReceiver
  be bar(t: TransformU64 iso) =>
    Debug("Foo: " + t(10).string())

actor Main
  new create(env: Env) =>
    MyReceiver.bar(recover iso MyTransformation~transform() end)
    None

@darach - it appears the part of your change that makes a difference is changing MyTransformation's new iso create() to new create().
However, it still seems like a compiler bug to me.

@jemc Yep. Although to make it sendable I had to add iso to the class declaration...

I don't actually think that part is necessary.  The following compiles.  Note that I don't need to actually send it to an actor to prove that its sendable, I just need to assign it to a let of type TransformU64, which is iso and therefore sendable:
interface iso TransformU64
  fun ref apply(x: U64): U64

class MyTransformation
  new ref create() => None
  fun tag transform(x: U64): U64 => x + 1

actor Main
  new create(env: Env) =>
    let transform: TransformU64 = recover MyTransformation~transform() end

Yep. Seems to be quite a few variations that will work...

Nice catch! Fixed and pushed.


[CAMEL-15010] Upgrade to Shiro 1.5.3

Please run also tooling/maven/sync-properties so it will be updated also camel-dependecies will be updated too

Ok, I didn't know about this, sorry for the noise.

Yesterday evening news :-) not your fault!

@oscerd I cancel this PR because this update has already done in this commit:
https://github.com/apache/camel/commit/81ec7bab205b4f57bc86570e84e71b323bb769ab
I didn't see it because there isn't a Jira.


(MongoDB with PHP)Login script is not working . Plz help

include('conn.php');
$collection = $database->login;

if(isset($_REQUEST['Login']))
{
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];

if($username!='' && $password!='')
{
$user = $collection->find( array('username' => $username,'password' => $password));
$num = $user->count();
if ($num > 0)
{

$_SESSION['userid'] = $user['_id'];
header('Location: index.php');
}
else
{
echo 'error';
}
}
else
{
echo "Fields are blank.";
}
}

wow....

I don't think that its a problem related with the mongodb library.

Do you use doctrine/mongodb? From what it looks like you're using the PHP mongo library, not Doctrine.


Implements a way for displayName to display text other than the ID.

Don't know if this is an acceptable solution or not.

I did this another way in 922350e, since we already have a mechanism for showing player names that I wanted to reuse.


Bug: When using a subquery in a DAMO database connection query, a syntax error is displayed, but it can be executed normally in other clients

Chat2DB Version
v2.5.7
Describe the bug

I want try this


Revert "Github Actions using new runners"

Reverts t3rn/t3rn#560

Don't merge this, the build cache download took 1h XD

Closing after talk with @AwesomeIbex.
We are going to move forward with new workflows and revert changes to zombienet Makefile, which could pose some issues.


Upload file to FTP

Faced a runtime error...
dyld: Library not loaded: @rpath/FilesProvider.framework/FilesProvider
Referenced from: /var/containers/Bundle/Application/5AA82872-1B4E-4CF6-A1B3-59801FE7B07D/test.app/test
Reason: image not found

Issue solved..
delete and add Frameworks in embedded Binaries.


Panic when running tests

Component
Forge
Have you ensured that all of these are up to date?

[ ] Foundry
[ ] Foundryup

What version of Foundry are you on?
forge 0.2.0 (e215f3f 2024-10-08T00:25:05.208317000Z)
What command(s) is the bug in?
forge test
Operating System
macOS (Apple Silicon)
Describe the bug
When I run forge test I get the following error:
The application panicked (crashed).
Message:  select from empty iterator
Location: /Users/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/proptest-1.5.0/src/sample.rs:388

This is a bug. Consider reporting it at https://github.com/foundry-rs/foundry

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BACKTRACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
                                ⋮ 8 frames hidden ⋮
   9: core::option::expect_failed::h5493e81bb7eff5a4
      at <unknown source file>:<unknown line>
  10: <proptest::strategy::traits::NoShrink<T> as proptest::strategy::traits::Strategy>::new_tree::h779fc41f6b4c12c8
      at <unknown source file>:<unknown line>
  11: proptest::test_runner::runner::TestRunner::gen_and_run_case::hd77674f030e6a8e2
      at <unknown source file>:<unknown line>
  12: proptest::test_runner::runner::TestRunner::run_in_process::h985da4b2914c45d8
      at <unknown source file>:<unknown line>
  13: foundry_evm::executors::invariant::InvariantExecutor::invariant_fuzz::h66b5a4a7260acfcf
      at <unknown source file>:<unknown line>
  14: forge::runner::ContractRunner::run_invariant_test::h18d429839946c2e3
      at <unknown source file>:<unknown line>
  15: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &F>::call_mut::h6a1962750347d488
      at <unknown source file>:<unknown line>
  16: rayon::iter::plumbing::bridge_producer_consumer::helper::hf0ea38a8d139f89f
      at <unknown source file>:<unknown line>
  17: rayon_core::join::join_context::{{closure}}::hab967a16521489ea
      at <unknown source file>:<unknown line>
  18: rayon::iter::plumbing::bridge_producer_consumer::helper::hf0ea38a8d139f89f
      at <unknown source file>:<unknown line>
  19: forge::runner::ContractRunner::run_tests::hb467eca7a08d6a46
      at <unknown source file>:<unknown line>
  20: forge::multi_runner::MultiContractRunner::run_test_suite::ha0c5ba3cc429d086
      at <unknown source file>:<unknown line>
  21: rayon::iter::plumbing::bridge_producer_consumer::helper::h95436f5e8495f676
      at <unknown source file>:<unknown line>
  22: rayon_core::join::join_context::{{closure}}::h1d608eedbcc258ac
      at <unknown source file>:<unknown line>
  23: rayon::iter::plumbing::bridge_producer_consumer::helper::h95436f5e8495f676
      at <unknown source file>:<unknown line>
  24: rayon_core::join::join_context::{{closure}}::h1d608eedbcc258ac
      at <unknown source file>:<unknown line>
  25: rayon::iter::plumbing::bridge_producer_consumer::helper::h95436f5e8495f676
      at <unknown source file>:<unknown line>
  26: rayon_core::join::join_context::{{closure}}::h1d608eedbcc258ac
      at <unknown source file>:<unknown line>
  27: rayon::iter::plumbing::bridge_producer_consumer::helper::h95436f5e8495f676
      at <unknown source file>:<unknown line>
  28: rayon_core::join::join_context::{{closure}}::h1d608eedbcc258ac
      at <unknown source file>:<unknown line>
  29: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute::had0d9b20dd75f9ad
      at <unknown source file>:<unknown line>
  30: rayon_core::registry::WorkerThread::wait_until_cold::h34bd55de28c2d609
      at <unknown source file>:<unknown line>
  31: std::sys::backtrace::__rust_begin_short_backtrace::h716bc387632b3cea
      at <unknown source file>:<unknown line>
  32: core::ops::function::FnOnce::call_once{{vtable.shim}}::h10718400dba66be1
      at <unknown source file>:<unknown line>
  33: std::sys::pal::unix::thread::Thread::new::thread_start::h1bd1b9c95010bf71
      at <unknown source file>:<unknown line>
  34: __pthread_joiner_wake<unknown>
      at <unknown source file>:<unknown line>

no clue why

Suspecting this is related to invariants, would you mind sharing a code snippet / the invariant test you are running?
I'm unable to reproduce the panic with a basic invariant scenario:
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.13;

import {Test, console} from "forge-std/Test.sol";

contract ExampleContract1 {
    uint256 public val1;
    uint256 public val2;
    uint256 public val3;

    function addToA(uint256 amount) external {
        val1 += amount;
        val3 += amount;
    }

    function addToB(uint256 amount) external {
        val2 += amount;
        val3 += amount;
    }
}

contract InvariantExample1 is Test {
    ExampleContract1 foo;

    function setUp() external {
        foo = new ExampleContract1();
    }

    function invariant_A() external {
        assertEq(foo.val1() + foo.val2(), foo.val3());
    }

    function invariant_B() external {
        assertGe(foo.val1() + foo.val2(), foo.val3());
    }
}

Indeed, looks like invariant strategy related, where nothing  to be selected from. Would be great to have a way to reproduce it. (Any config change, like call_override is used?)

Also just noticed that several PRs were merged in proprest library lately and there could be a regression when running with no shrink option as we do for fuzz tests and invariants. @Philogy really appreciate if you could share a way to reproduce this 🙏

Ah thanks for the tip, yeah I isolated the invariant test in question:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {BaseTest} from "test/_helpers/BaseTest.sol";

import {SafeTransferLib} from "solady/src/utils/SafeTransferLib.sol";
import {UniV4Inspector} from "test/_view-ext/UniV4Inspector.sol";
import {OpenAngstrom} from "test/_mocks/OpenAngstrom.sol";
import {PoolGate} from "test/_helpers/PoolGate.sol";
import {MockERC20} from "super-sol/mocks/MockERC20.sol";
import {AngstromHandler, Env} from "./AngstromHandler.sol";

/// @author philogy <https://github.com/philogy>
contract AngstromInvariantsTest is BaseTest {
    using SafeTransferLib for *;

    Env e;
    AngstromHandler handler;

    bytes4[] selectors;

    function setUp() public {
        e.owner = makeAddr("owner");
        e.controller = makeAddr("controller");
        e.feeMaster = makeAddr("feeMaster");

        vm.prank(e.owner);
        e.uniV4 = new UniV4Inspector();
        e.gate = new PoolGate(address(e.uniV4));
        e.angstrom = OpenAngstrom(
            deployAngstrom(type(OpenAngstrom).creationCode, e.uniV4, e.controller, e.feeMaster)
        );

        handler = new AngstromHandler(e);

        targetSelector(FuzzSelector({addr: address(handler), selectors: selectors}));
        targetContract(address(handler));
    }

    function invariant_bundleSolvency() public view {
        address[] memory assets = handler.enabledAssets();
        for (uint256 i = 0; i < assets.length; i++) {
            address asset = assets[i];
            int256 delta = e.angstrom.getDelta(asset);

            if (delta > 0) {
                assertEq(
                    asset.balanceOf(address(e.angstrom)),
                    handler.ghost_totalHeldBalance(asset) + uint256(delta)
                );
            } else {
                uint256 change;
                unchecked {
                    change = uint256(-delta);
                }
                assertEq(
                    asset.balanceOf(address(e.angstrom)),
                    handler.ghost_totalHeldBalance(asset) - change
                );
            }
        }
    }

    function invariant_ghost_totalHeldConsistency() public view {
        address[] memory assets = handler.enabledAssets();
        address[] memory actors = handler.actors();
        for (uint256 i = 0; i < assets.length; i++) {
            address asset = assets[i];
            uint256 assumedTotal = handler.ghost_totalHeldBalance(asset);
            uint256 realBalance = 0;
            for (uint256 j = 0; j < actors.length; j++) {
                realBalance += e.angstrom.balanceOf(asset, actors[i]);
            }
            assertEq(realBalance, assumedTotal);
        }
    }
}

Haven't pushed any selectors yet (empty test) so that's probably the issue? The behavior I would've expected is just testing the invariants against the start state

Yeah, managed to reproduce, it is if you
        targetSelector(
            FuzzSelector({addr: address(handler), selectors: selectors})
        );

with empty selectors and no fuzzable selector in handlers, as in
contract TestHandler is Test {}

If you add smth like
contract TestHandler is Test {
    function doSomething(uint256 a) external {}
}

then it works, going to make a fix to prevent this, thanks!


Wrong decimal separator in the generated Model.training.cs file

System Information (please complete the following information):

Model Builder Version: <IP_ADDRESS>5505
Visual Studio Version: 16.10.0 preview 4

Describe the bug

Clear description of the problem: It's using "," as decimal separator -probably because my regional settings?- while generating Model.training.cs file as you can see in the screenshot. Everything works fine after change it to "." as it's supposed to be.

Screenshots

Thanks for the feedback.

This issue not occurs on main branch: <IP_ADDRESS>7801


Support https://github.com/Xinyuan-LilyGO/T-Echo

Is possible using this?

@fab1an2, please don't use the issue tracker to ask questions. Post them in the forum. Every time I have to move stuff like this around, it takes 15 minutes longer to get SX1262 support in the RNode Firmware ;)


Need to add effects on hover

For cluster layer it would be great to make circle features bigger upon mouse hover as well as showing boundaries of the cluster.

Opened a conversation in StackOverflow about boundaries:
http://stackoverflow.com/questions/37897877/openlayers3-how-to-display-boundaries-for-ol-source-cluster?noredirect=1#comment63301009_37897877


Expose Electrum blockchain in LnDlcWallet

At times, we need to query Electrum; having it exposed is much more convenient instead of exposing the API part by part.

bors r+


Un-capitalize build script for macOS

Although macOS is an existed apple trademark, it's better to be un-capitalized just like other scripts.

https://github.com/BoomingTech/Pilot/blob/0eef23a3faeaaf65d9d95b5aeec76fd0db03bef0/.github/workflows/build_macos.yml#L21
https://github.com/BoomingTech/Pilot/blob/0eef23a3faeaaf65d9d95b5aeec76fd0db03bef0/README.md?plain=1#L78


unmetafy unicode when zsh

I find this issue. Finally I find this mail, then I know that:

This isn't a bug, the history file is saved in metafied format.

the unmetafy code is from zsh code

@rogerdehe Would you please resolve this conflict?

@rogerdehe thank you for the contribution :+1:
Unfortunately I merged not-fully config resolved version to your master. I will finish the conflict resolution in dvorka:dev/2.4.0. Please update your master if you are going to use the repository in the future. Apologies for complications.


Purchase archived territories

Close #863
This PR introduces an additional check during name validation for territories. It now distinguishes between two errors: territory taken (and active) and territory archived. If the territory is archived, the form submission is not prevented but a warning text shows up as a hint below the input:
warning message if territory archived:

info message:

TODO:

[x] [feature] handle updating of archived subs in upsertSub mutation. can we just update Sub.userId?
handled in separate mutation in fef1a848
[x] [test] make sure transition to new founder is smooth. can we really just update Sub.userId? no bugs with old referenced data like bills etc.?
no we can't, we obviously need to bill the user and record the bill, see 9a57af2d. bills will continue to work since the territoryBilling job looks at Sub to find the owner and bill them.
[ ] [refactor] can we check for archived case without having to run manual validation and make an exception for it?
[x] [fix] onSubmit uses stale value for archived if archived was not set during render (bug gets triggered if you click found it on initial render)
fixed by not skipping validation for data loaded from localStorage in 28e1d79d
[ ] [feature] add entry to unarchive territory in context menu

Summary by CodeRabbit

New Features

Added functionality to unarchive territories with validation and user authentication.
Introduced warning messages in forms based on specific conditions.
Enhanced territory form to support unarchiving operations with new queries and mutations.

Refactor

Improved validation logic in territory management to be more concise and reliable.

Style

Updated form input components to conditionally display warning messages, improving user feedback.

Regarding

[test] make sure transition to new founder is smooth. can we really just update Sub.userId? no bugs with old referenced data like bills etc.?

I realized I simply did update Sub.userId in #878 and that was while a territory is still active so purchasing archived territories with such an update should be fine since this is essentially a territory transfer with payment required. But somehow, this feature strikes me as more critical so it requires more diligence.

This is still on changes requested. Is it ready for review?

This is still on changes requested. Is it ready for review?

Oh yes, I am not used to using re-request reviews yet. I simply replied to the comment with "done". I guess that's what you were expecting? Since I can't make your "changes requested" disappear afaict.

I guess you expected that I request a new review?

Yes! Sorry for the added process. I just don't want to put in the effort to review if it isn't ready yet.


Avoid id collisions

Need to ensure that calculated id generated from nextId does not collide with existing numeric id.

closed in 1fe7046


Failed to load the native TensorFlow runtime.

I'm a little familiar with Python and Anaconda, and have followed the steps for installation on a windows machine. However, I get the error "Failed to load the native TensorFlow runtime" when I try to  run_tf_detector.py - can anyone point me to where I am going wrong?

Sorry you're having trouble getting the detector running... a couple questions:

Did you use the instructions here:https://github.com/microsoft/CameraTraps/#machine-learning-scripts...i.e., did you run:conda env create --file environment-detector.yml

If so, did you run:conda activate cameratraps-detector ...before running the detector script?

Do you have a GPU on your computer?

Closing this issue for lack of response from the OP; feel free to contact us at<EMAIL_ADDRESS>if you're still unable to resolve this issue.  Thanks!


 I think going commit-by-commit might help with review.
Either way, it can also be reviewed by trying it out with the vscode extension as I posted in Slack.


wasmparser: rename init_expr to offset_expr

Some of the expressions representing an offset into a memory or table
entity are named init_expr. This has caused me a significant amount of
confusion multiple times now. Each time I ended up having to stop
working on my code and going to re-read the spec and the implementation
of wasmparser.
Naming these expressions offset_expr would make it much clearer what
they represent and put them closer to both the spec wording and wat
representation ((offset ...)) as well.
This is a breaking change though.

Thanks!
If you're interested renaming InitExpr to something like ConstExpr may be worth it. I think this was all originally done for globals where it is indeed an initialization expression but it's used in different contexts as you've seen for data/element segments where "init expr" doesn't make sense (and I like the term "offset expr" there as well)


[SC-100] Remove jumpcloud

Only support Connection URI, no more jumpcloud access.

I've removed the below section from the v1.0.0 file.  I'm not sure what it does or wether it should be replaced with something else so i removed.
        add_docker_user:
          commands:
            01_add_jc_user_to_docker_group:
              command: "gpasswd -a $(cat /opt/sage/jcusername) docker"

We have decided to not merge this until until we figure out a way to increase the timeout with the ConnectionURI (issue SC-160).

replace this PR with #216


Feature: A way to define plugins

A way to create plugin to pinia. I used in my last project the vuex cache plugin and i would want for a way to create a plugin. Maybe something like:
// random-project.js
import  { usePlugin } from 'pinia'
import piniaCache from 'pinia-cache'
usePlugin(piniaCache)

// will track both stores
const a = createStore(...)
const b = createStore(...)

// pinia-cache-example.js
export function piniaCache(pinia){
   pinia.subscribe((mutation, state)=> ...)
}

This is like a listen store but global to track all state. I dont know if this is the best way but is important have ways to extend the main behavior 😄

this could be useful!
I'm not sure what the plugin would be receiving, maybe an objects with functions to subscribe to changes and receive the store instance:
function piniaCache({ subscribe, patch }) {
  subscribe((store, otherThings) => {})
  subscribe('storeId', (store) => {})
  patch('storeId', thing)

yeah, subscribe with function sounds good. But we would be need different ways do track the data:

by state
by actions with hooks

i think that is important to avoid dispatch mutations, actions (listeners) when i only need track a simple state property for example.
function piniaCache({ subscribe, patch }) {
  ...
  subscribeState('storeId', (oldData, newData) => {})
  subscribeBeforeAction('storeId', 'deleteItem', (payload) => {
     return { ...payload, name: 'Kieling' }
  })
  // will receive name: 'Kieling' into payload
  subscribeAfterAction('storeId', 'deleteItem', (payload) => { })

This has been implemented and documented in #416 and will be available in the next release


[1.6] Templating support in namespaced broker additional resources

Manual cherry pick of https://github.com/knative-sandbox/eventing-kafka-broker/pull/2854

/test 48-test-reconciler-aws-ocp-48

/test 48-test-reconciler-aws-ocp-48

/cherry-pick release-1.7

/cherry-pick release-v1.7


Broken link -- 404

Broken link -- 404:
In https://docs.microsoft.com/en-us/windows/uwp/design/devices/designing-for-mr
"Updating your existing universal app for Hololens"
https://developer.microsoft.com/windows/mixed-reality/updating_your_existing_universal_app_for_hololens

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

ID: 4f7a3a77-0b4b-387c-fe07-1c13c1bbd2d0
Version Independent ID: 7fbaf386-4594-d23c-d360-30a5816c36c4
Content: Designing for Mixed Reality - UWP applications
Content Source: windows-apps-src/design/devices/designing-for-MR.md
Product: uwp
Technology: design
GitHub Login: @hickeys
Microsoft Alias: hickeys

Thanks! Links found and updated. Going live soon. Thanks for reporting!


minimal format text

minimal format text

@DiosBond  Can you please tell what exactly we have to do here? For this issue as well as #21 , #19 , #18 , #17 also.

@DiosBond  Can you please tell what exactly we have to do here? For this issue as well as #21 , #19 , #18 , #17 also.


Update key-vault-manage-with-cli.md

Fixing wrong case of key permission.

Hi @msfcolombo, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (fcolombo). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@BrucePerlerMS - can you review/approve when you have a minute?

I've checked the change and, its correct per a customer thread on Discus. Thanks for being my/our friendly Admin.

Thanks @BrucePerlerMS , and thanks @msfcolombo for your contribution!


Class 'FFMpeg\FFMpeg\Format\Video\X264' not found

| Question
| When trying to save a new video with watermark using save method passing the
$format = new FFMpeg\Format\Video\X264(); generate the error not found?
use FFMpeg\FFMpeg;
My code :
$ffmpeg = FFMpeg::create(array(
'ffmpeg.binaries' => exec('which ffmpeg'),
'ffprobe.binaries' => exec('which ffprobe')
));
$filePath = public_path('storage/' . $media->model_id . '/' . $media->file_name);
$watermarkPath = '/home/bakbuck-5/Downloads/watermark.png';
$video = $ffmpeg->open($filePath);
$format = new FFMpeg\Format\Video\X264();
$video
->filters()
->watermark($watermarkPath, array(
'position' => 'relative',
'bottom' => 50,
'right' => 50,
));
$video->save($format, 'watermarked.mp4');
Expected Solution:
It gets the format specified.

@moingeek attach the video stream and audio stream. Use the below one
new \FFMpeg\Format\Video\X264('libmp3lame', 'libx264'))

@moingeek attach the video stream and audio stream. Use the below one
new \FFMpeg\Format\Video\X264('libmp3lame', 'libx264'))

Thank you ! This worked for me. I missed mentioning those streams as it were not in the documentation of official package of PHP-FFMPEG


Update index.turbo.ts

When a Turbo-Stream response is returned by Rails server the library intercepts before-render and fires a custom event after-render which calls initFlowbite. However, the before-render event handler dispatches the Event on the document rather than window where the after-render handler was defined. So the after-render handler never gets called.
This PR dispatches the Event on window where the after-render handler was defined.

Hey @artinboghosian,
Thanks for the PR. Merged!
Will release in the next version.


setup.py is BROKEN

the setup.py is broken in its current state, got it working with a few modifications
line 12:
version=read('nngen/VERSION').splitlines()[0],
nngen/VERSION only has one version probably
fixed with :
version='1.3.3',
line 14:
long_description=read('README.md'),
there is no README file in folder
fixed with:
long_description=' ',

Could you give us the information on your testing environment?
d6de580fe98a439555561fa3fe9ac5d30c6eeaf5 branch can be installed by python3 setup.py install on the environment with

MacBook Air (M1 2020)
macOS 12.3.1
python 3.9.11 (pyenv)
dependencies (pip3 freeze)

Jinja2==3.1.2
MarkupSafe==2.1.1
nngen==1.3.3
numpy==1.22.3
onnx==1.11.0
ply==3.11
protobuf==3.20.1
pyverilog==1.3.0
typing_extensions==4.2.0
veriloggen==2.1.0

nngen/VERSION only has one version probably

Yes, there should be one version, but the version number is automatically read from nngen/VERSION.

there is no README file in folder

There is README.md file: https://github.com/NNgen/nngen/blob/develop/README.md .


Updates for branching stable/3.2.x

Update man page
Remove empty sections from release notes.

Merge after #13886, #12553 and #13891.

@felixxm im away from the computer... could you push that so I can see when I get back? Thanks 🙏

@felixxm im away from the computer... could you push that so I can see when I get back? Thanks 🙏

@felixxm im away from the computer... could you push that so I can see when I get back? Thanks pray

Pushed.

@felixxm im away from the computer... could you push that so I can see when I get back? Thanks pray

Pushed.

🦸♂

🦸♂

Yes, makes sense, perfect. Thanks @felixxm

Yes, makes sense, perfect. Thanks @felixxm


Rust library for CNDP CNE.

Add support for CNDP CNE Rust API bindings.
Add test cases in Rust CNE library crate.
Example loop back application which uses CNE Rust library APIs.
Sample scripts to run test cases and example application.

Signed-off-by: Manoj Gopalakrishnan<EMAIL_ADDRESS>

LGTM, do we need a code review as you are the only one that knows Rust per say.
Will let Jeff approve or not, before merging.

I would recommend code walk through. I'll schedule it early next week.

There is one problem with indexing by port id in JSONC file if we want to preserve the order of lports entries. JSON serializations/deserialization using HashMap doesn't maintain the order. So port name "a" and "b" enter in that order in JSONC file should index to port id 0 and 1. But since JSONC serialization using HashMap doesn't maintain order, port name and index need not be in order for eg: a= lport 1 and b = lport 0. But searching lport index by lport name does not have this problem. Another option is to use a ordered map data structure like LinkedHashMap. But then serde supports this only with latest version. But then LinkedHashMap cannot be used with HJson since it is not compatible with new version of serde :-)


create-svelte's to_valid_package_name modifies valid package names

Describe the bug
According to NPM's docs for package.json;

The "name" field contains your package's name, and must be lowercase and one word, and may contain hyphens and underscores.

Which if taken in a vacuum, the to_valid_package_name function correctly enforces.
What it doesn't correctly enforce is the use of scopes, eg @sveltejs/kit. Instead, it replaces the @ and / with hyphens.
Reproduction
The easiest method is to locally install create-svelte and pass the following when creating the package;
import { create } from "create-svelte";

create("./emptyDir", { name: "@scope/package",
 /* these two don't matter, so long as they're valid */ template: "skeleton", types: "typescript" });

Observe the package.json "name" field doesn't read "@scope/package", bet instead reads "-scope-package"
I traced where that name field goes, and the only place it's modified is this line
Repo with minimum reproduction
Logs
N/A

System Info
System:
    OS: Linux 5.16 Pop!_OS 21.10
    CPU: (8) x64 Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
    Memory: 9.84 GB / 15.36 GB
    Container: Yes
    Shell: 5.1.8 - /bin/bash
  Binaries:
    Node: 17.6.0 - ~/.nvm/versions/node/v17.6.0/bin/node
    npm: 8.5.1 - ~/.nvm/versions/node/v17.6.0/bin/npm
  Browsers:
    Chrome: 100.0.4896.127
    Chromium: 100.0.4896.127
    Firefox: 99.0

Severity
annoyance
Additional Information
This is working for me, though it's possible these simple lookbehinds miss a rare use case;
/** @param {string} name */
function to_valid_package_name(name) {
  return name
    .trim()
    .toLowerCase()
    .replace(/\s+/g, '-')
    .replace(/^[._]/, '')
-    .replace(/[^a-z0-9~.-]+/g, '-');
+    .replace( /[^a-z0-9~.-@\/]+/g, '-' )
+    .replace( /^(?<=.)@/g, '-' )
+    .replace( /^(?<!@.+)\//g, '-' );
}

I actually am thinking about what would happen if you would call npm init svelte @something/myapp, I mean, if @something/ define scope, folder name should be just myapp while name in pkg should be set to @something/myapp. Now that I test npm init @something/myapp it seems it's broken too, as it's creating folder @something that contains folder myapp.
So this should be fixed too...

I think there are two questions involved here -- behavior on the filesystem and behavior in package.json.
package.json
If and only if the incoming package_name starts with @ and contains one and only one /, the name in package.json is set to package_name with the @ and / preserved, but all other matching rules are applied.
else, the existing rules are applied.
As far as implementation goes, if @willster277's pattern covers all edge cases, yay! If not, we can continue to add more complicated edge-case-catching regexes (🤮), or just do some string tests to figure out which one should be used.
Filesystem
I can think of two possibilities here:

If the package is scoped (i.e. of the form @scope/package), trigger another dialog asking for the directory location (with default/blank answers setting the directory to exactly the provided package name). Some people might want to keep their directory structure flat, storing @scope/package in a directory scope-package, for example.
Just let people deal with the fact that their scoped package will reside in @scope/package when the tool runs and let them rename/move stuff around if they want. (Edge case: If the directory @scope already exists in the current directory, would the current script fail? Should check.)

Rich, if you greenlight this, I'm happy to implement it and open a PR.

Great responses from both of you, I hadn't considered the nuances of npm init svelte@next @scope/package, I feel like @tcc-sejohnson has covered this quite well, but I'll throw in my two cents on it.
I think for filesystem the first option should be used. It's easier for users if the script works as "we'll put it in the package folder if you don't say otherwise".
Having to move files around manually after the project setup tool is run kinda feels like the project setup tool didn't finish setting up the project.
As for import { create } from "create-svelte";, I think the changes to the command line interface won't be any interference so long as the same rules apply. Being able to specify a filepath regardless of the package name is (in my opinion) essential for the module to work correctly.
My use case is for creating SvelteKit projects in a monorepo. I want everything in either apps/** or packages/**, and having to move files with node:fs is much more painful than telling create-svelte to put the package in a specific place.
(There's also the case of create-svelte maybe having separate templates for package creation and app development, but that's not a topic to discuss here)

Took a crack at this via #4851. We'll see what the maintainers think of it!

https://github.com/vitejs/vite/issues/8448
Actually how Vite's CLI works with pkg.name could fix this. Just let user write pkg.name via CLI (optionaly), and if they leave input blank, derive it from folder name.

More generically, perhaps it makes sense for different templates to be able to offer their own prompts in addition to the universal prompts. Like, maybe you could imagine a future where we have many more starter templates, and one of them is a blog, and choosing it prompts you to choose a CMS, which in turn prompts you to set up some account/project details so that you can import content.
In that world, rather than having a strict app/library dichotomy, those features would just be features of the template:

Not going to lie, aspects of this make me nervous. I don't like scaffolding tools to be too smart, because it requires you to make all your decisions up-front, and it's generally hard to change those decisions later (not so much because it's actually difficult, but because all the logic was hidden from view so it's hard to know how to, for example, add packaging logic to an app after the fact). But the bullet point list is compelling.

it's hard to know how to, for example, add packaging logic to an app after the fact

For everything else, we've been promoting https://github.com/svelte-add/ which avoids this issue. Potentially the packaging command could be a Svelte Adder, but I'd be worried people wouldn't find it. We could make it so that create-svelte can run on an existing package and in that case it would run modification commands rather than creating a scaffold. I don't know that it's necessary for v1, but if we're planning on doing it down the road it might change how we build it now.

I like @dummdidumm's proposal best out of all of these -- I think svelte-add is totally fine the way it is as a secondary feature-adder. Maybe we just call it out in the docs better -- I see a lot of "how add Tailwind" questions in the Discord channel.
Anyway, I think it makes sense to add a separate packaging option to create-svelte, as creating a SvelteKit app and creating a SvelteKit package are different enough that they deserve their own execution paths and both of them are native, core features to SvelteKit (unlike, say, Tailwind, which is just another add-on). As much as I love lists, I don't love the idea of create-svelte concerning itself with many other templates -- this seems like a good job for separate create-x packages, many of which could be created by the community. We could even create a doc page somewhere with the "official" Svelte starters along with top community ones.

Whoops, apparently ctrl+enter closes an issue. My bad. 😕

I think this has been resolved since the behaviour of create-svelte has been established - feel free to reopen if I was wrong :pray:


Packaging input should be a drop-down with set options

The "Packaging" input is a free-text field.  This presents 2 problems:

It would be easy for someone to enter an unsupported value
Nexus looks to only support set values: pom, jar, ejb, war, ear, rar, par, maven-archetype, or maven-plugin
We should make this field a drop-down with set options to make it less-fragile.

The packaging actually is free form on nexus;  "pom, jar, ejb, war, ear, rar, par, maven-archetype, or maven-plugin" is a list of prepopulated suggestions, but are not required.


Customize css class

Hi,
Thanks for this library :+1:
Only one small thing is that class="material-icons" is quite long and I would like to customize the used css class to a shorter one.
Like this:
$material-icons-css-prefix: 'mi'; // defaults to 'material-icons'

pie_chart
pie_chart
pie_chart
pie_chart
pie_chart

These classes and Sass variables are available in the CSS Classes method but deprecated.
I don't recommend using short names like mi as:

It may conflict with utility classes from other CSS frameworks or JS libraries that generate short class names.
Using standard class names available from Google Fonts makes it easier to switch between this package and the fonts CDN.

Hi @marella,

It may conflict with utility classes from other CSS frameworks or JS libraries that generate short class names.

I'm totally aware of it and I'm not suggesting to change it in the library just asking for the possibility to customize it.
I'm working on a website project where I'm in control of all used frameworks and css prefixes - so I can for myself decide which css class I want to use for what.

Using standard class names available from Google Fonts makes it easier to switch between this package and the fonts CDN.

Same reason as above - I'm in control of it and I know I have to remember that mi stands for material icons and I'm not in any way asking to change it for everyone.
I'm just to lacy to type long class names and have to split html element declarations over multiple lines for readability just because the attributes getting to long.
I do see this as a customization that can be decided on an own risks - similar as defining a command alias for my own terminal (like ll).
I tried to customize it for myself but would have ended up duplicating a lot of scss logic just because the prefix is hard coded on your end.
I haven't checked the history of this nice project but from your response it seems like you where using mi before, too. Just guessing this would also be a way to use the new setup as migration step without the need to modify all used mi* classes.
Either way thank for this little lib. It's super useful even if I have to type long names.

Hi,

I tried to customize it for myself but would have ended up duplicating a lot of scss logic just because the prefix is hard coded on your end.

If you are using Sass, you can use @extend:
.mi          { @extend .material-icons; }
.mi-outlined { @extend .material-icons-outlined; }
.mi-round    { @extend .material-icons-round; }
.mi-sharp    { @extend .material-icons-sharp; }
.mi-two-tone { @extend .material-icons-two-tone; }

or in a loop:
@each $suffix in ('', '-outlined', '-round', '-sharp', '-two-tone') {
  .mi-#{$suffix} { @extend .material-icons-#{$suffix}; }
}

This should also give you more flexibility for custom class names (mio instead of mi-outlined etc.) than a config option and doesn't require much code.

I haven't checked the history of this nice project but from your response it seems like you where using mi before, too. Just guessing this would also be a way to use the new setup as migration step without the need to modify all used mi* classes.

It is part of an alternative method which is still available but no longer recommended.

Either way thank for this little lib. It's super useful even if I have to type long names.

Thanks.

@marella For some reason I didn't thought of @extend :upside_down_face:
This is all what I was looking for - thanks for your help and sorry for my stupid question.


NET 5.0 function v3 - unable to override authorization level when running tests on Docker

Hi All,
We migrated our functions from core3.1 to 5.0 and we end up with an issue running tests on Docker.
Function declaration:
[Function("workingAt")]         public async Task<HttpResponseData> Run(             [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequestData req,             FunctionContext executionContext)
Authorization level is set to Function and over it we have an APIM which takes care.
The issue is when we run our tests on docker, all calls results in 401 and the trick which was working for core3.1 version has no longer any effect.
Previously, we used this to override settings in function.json file in Dockerfile:
RUN find . -type f -name "function.json" -exec sed -i 's/"authLevel": "function"/"authLevel": "anonymous"/g' {} +
Already tried with it over functions.metadata file and no luck here.
Is there any other way to accomplish it?
Cheers
Pawel

There's no supported mechanism to accomplish that today. I'll leave this open as an enhancement request.


Added Dijkstra's algorithm Issue #251

Please star this repository to show your support, in the meantime I am reviewing your code.


[UIK-2747][mini-chart] added role=img to all svg charts

Motivation and Context

How has this been tested?
Manually

Screenshots (if appropriate):
Types of changes

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

Checklist:

[X] My code follows the code style of this project.
[X] I have updated the documentation accordingly or it's not required.
[X] Unit tests are not broken.
[X] I have added changelog note to corresponding CHANGELOG.md file with planned publish date.
[ ] I have added new unit tests on added of fixed functionality.

I added aria-hidden to all examples. Maybe we could add some sample data summaries to area/bar/line charts, but I think it's not really that necessary. Donuts more likely have to be aria-hidden anyway, because they usually have a completely identical text metric next to them.

Looks good for me also 👍 Thank you for updating the text, I was concerned about this and left a comment to update it along with this task. And now everything is updated already 😎


Support for Objective-C++ ".mm" files

Hello, could you enable support for "mm" files?

Thank you for requesting this feature, this is now added in version 3.2.0. 🏁


Align tutorial/part-2 titles with index and recap

This PR is related to #217: the titles in the recap are the same titles on the different pages of the tutorial. When the recap PR is approved, the final titles should be set and merged.

I'll merge this without requesting your time for review because these are the exact same titles used in the recap page, this PR is just about alignment.


Update deprecated three.js code

mergeBufferGeometries was already deprecated in r151 (the current three.js dependency) and is removed in r161, now named mergeGeometries.
See https://github.com/mrdoob/three.js/pull/27467/files#diff-ed91371298bdcbc8aab7034f2ea13d1def23f69aca37a77aa7cf8fee9a4cb125L1350
Besides this the current branch is already compatible with r161 it seems 👍

Excellent, thank you!

Thanks! Do you have an approximate date for a next release?

Probably in a couple weeks. I want to try a few things relating to the mac os browser failure.


Bus Error while deserializing an f64

Hi, I am having a Bus Error while deserializing one of my structs and I can't wrap my head around why.
A bit of context first: I am using rkyv to serialize some data and throw it into and UDP socket. It might be important to note that the sending device has a x86_64 CPU and the other one an ARMv7 CPU (so 32bits) but I'm not using any unsized types or usize/isize so it shouldn't matter.
I am using the strict feature of the crate.
I have these nested structs that I want to send:
#[derive(Debug, Clone, Archive, Serialize, Deserialize)]
pub enum NoveltyBeatsModePacket {
    Data(NoveltyBeatsModeData),
    Abort,
    Goodbye(GoodbyeData),
}
#[derive(Debug, Clone, Archive, Serialize, Deserialize)]
pub struct NoveltyBeatsModeData {
    pub novelty: NoveltyModeData,
    pub beat: bool,
}
#[derive(Debug, Clone, Archive, Serialize, Deserialize)]
pub struct NoveltyModeData {
    pub value: f64,
    pub peak: f64,
}

And I have this code for deserialisation:
let packet = unsafe {
    archived_value::<NoveltyBeatsModePacket>(&self.deserialize_scratch[..len], 0)
};
let packet: NoveltyBeatsModePacket = packet.deserialize(&mut AllocDeserializer).unwrap(); // <-- this produces a Bus Error

After a bit of debugging I managed to get this stacktrace
#0  0x0058896c in rkyv::core_impl::{{impl}}::deserialize<rkyv::de::deserializers::AllocDeserializer> (self=0x7efff211) at /home/lucas/.cargo/registry/src/github.com-1ecc6299db9ec823/rkyv-0.4.1/src/core_impl/mod.rs:120
#1  0x00581f78 in rswave_common::packets::_::{{impl}}::deserialize<rkyv::de::deserializers::AllocDeserializer> (self=0x7efff211, deserializer=0x7effedac) at /mnt/c/Users/Lucas/Documents/Dev/rswave/rswave_common/src/packets.rs:37
#2  0x00582204 in rswave_common::packets::_::{{impl}}::deserialize<rkyv::de::deserializers::AllocDeserializer> (self=0x7efff211, deserializer=0x7effedac) at /mnt/c/Users/Lucas/Documents/Dev/rswave/rswave_common/src/packets.rs:50
#3  0x00582390 in rswave_common::packets::_::{{impl}}::deserialize<rkyv::de::deserializers::AllocDeserializer> (self=0x7efff209, deserializer=0x7effedac) at /mnt/c/Users/Lucas/Documents/Dev/rswave/rswave_common/src/packets.rs:43
#4  0x0057ea74 in rswave_server::net::NetHandler::recv (self=0x7efff1d8) at /mnt/c/Users/Lucas/Documents/Dev/rswave/rswave_server/src/net.rs:147

So it seams that the Bus Error is thrown by the deserialization of one of the f64 done by the impl_primitve macro.
I am quite new to this library and don't know how do diagnose this issue any further so I am asking for your help.
I should add that for the first packet the deserialization works but not for the next one, and the data received is the same as the data sent.

I suspect that this may be an under-alignment issue. Are you in an environment where you can run validation? (i.e. not no_std) Validating the buffer with check_archive should diagnose the problem.

So I tried using check_archive, it throws the following error:
 ContextError(Inner(Inner(Overrun { pos: 0, size: 32, archive_len: 24 })))

Which is surprising because serializing the struct produced only 24 bytes and it is expecting 32 ?
If that helps the serialization is done this way (where serialize_scratch is an Option<Vec<u8>>):
let mut serializer = WriteSerializer::new(self.serialize_scratch.take().unwrap());
serializer.serialize_value(item)?;
let buff = serializer.into_inner();
self.socket.send(&buff)?;

Can you check the size and alignment of your archived type on both of your machines?
println!(
    "size: {}, align: {}",
    mem::size_of::<Archived<NoveltyBeatsModePacket>>(),
    mem::align_of::<Archived<NoveltyBeatsModePacket>>()
);

I would expect it to print size: 32, align: 8 based on this layout:
NoveltyBeatsModePacket
align 8
  0..  8: tag
  8.. 32: padding
 32..224: NoveltyBeatsModeData

NoveltyBeatsModeData
align 8
  0..128: novelty
128..136: beat
136..192: padding

NoveltyModeData
align 8
  0.. 64: value
 64..128: peak

If it prints different results, you may be missing strict on one of your ends (probably the smaller one).

It prints size 32, align 8 on both machines.
The structs are defined in a crate shared by both so the strict feature is too.

Okay, that's actually a relief. We've definitely got the same layout on both sides, which means that it's probably an issue with how much data is getting sent and received.

pos: 0, size: 32, archive_len: 24

This error is saying that it expected a size 32 structure at position 0 in the archive, but there were only 24 bytes starting at that position. That means that either the sent buffer or the received buffer is too short. It could technically be due to a serialization bug, but I think that's unlikely since the tests have been passing in the test crate.
Can you check the size of the buffer before you send it over the socket and again after it's received? It should be 32 on both ends, but I'm not sure where len comes from in &self.deserialize_scratch[..len].

There are actually 24 bytes sent, this is the length of the buffer returned by serializer.into_inner() in the snippet above.
len comes from the UdpSocket::recv method.
There are 24 bytes sent and 24 bytes received, they are identical, I printed them.
The code for this projet is hosted on github, some quick links may help:
Structs definitions
Serialization
Deserialization

Okay, that's definitely worrying. If mem::size_of::<Archived<NoveltyBeatsModePacket>>() is 32 then the buffer should absolutely be 32 bytes long. I'll dig into this as soon as I get a chance, but that may not be for a few hours.
In the meantime, maybe isolating a test case would help. In packets.rs, could you add a test that serializes a NoveltyBeatsModePacket, verifies that the serialized buffer length is 32, and then deserializes it? If that fails then it will be much easier to pick over in isolation.

Ok, there as been some developpments, turns out I add a bug where it send the wrong packet, which had a length of 24, so this mystery is solved.
However, I still get a Bus error from deserializing this packet, but this time the check_archive doesn't detect anything and the program crashes.
My debugging shows the exact same stacktrace than in the original issue.

Okay, I pulled down your repo and modified a few files to get it to run on my PC. I have the server running in one terminal, and the remote running in another. I modified the remote to always set the mode to DataMode::NoveltyBeats and send NoveltyBeatsModePackets.
Everything seems to be working correctly, it receives 32 bytes and prints out the packet:
Received 32 bytes
[0, 153, 244, 212, 32, 196, 46, 64, 176, 153, 244, 212, 32, 196, 46, 64, 236, 200, 92, 165, 81, 103, 119, 64,
0, 0, 0, 0, 0, 0, 0, 0]
Deserializing
Novelty beat packet Data(NoveltyBeatsModeData { novelty: NoveltyModeData { value: 15.383062987192574, peak:<PHONE_NUMBER>925377 }, beat: false })
Send ACK OK

So there's nothing unusual looking there. Could you check the alignment of your buffer? This was the first thing I suspected could be wrong. check_archive doesn't actually check for buffer alignment, it only checks that if the buffer is aligned that all of its contents are. Add this to the server's recv:
println!("Deserialize buffer alignment: {}", (self.deserialize_scratch.as_ptr() as usize).trailing_zeros());

If that prints that the buffer alignment is less than 3, then the issue could be misalignment. If that's the case, then it's a bug that check_archive checks the alignment of the position instead of the alignment of the pointer. That's an easy enough fix and I can patch that and bump the version.
If it is buffer misalignment, you can fix your issue by manually over-aligning your deserialize scratch with Aligned.

I just released 0.4.2 which fixes check_archive not validating archive alignment. You should be able to update and run check_buffer to see if you get an alignment error.

Ok, so I tripled checked that I am actually sending only NoveltyBeatsModePacket too, also did a cargo clean for good measure. Still a bus error.
I used your snippet like you asked, il returns 0 on the RPi and 8 on the desktop. Could it be a 32/64bit architecture interop problem ?

I just released 0.4.2 which fixes check_archive not validating archive alignment. You should be able to update and run check_buffer to see if you get an alignment error.

Sorry, just saw your message, now check_archive actually throws an error about alignement like you suspected:
ContextError(Inner(Inner(Underaligned { expected_align: 8, actual_align: 1 })))

I also noticed that when I try to serialize the same struct multiple times on the RPi it produces different outputs even though it manages to deserialize them well.
Whereas on the desktop the output is always the same for the exact same code (namely [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 217, 72, 247, 127, 0, 0]).
[alarm@alarmpi rswave]$ ./sandbox
Serialize buffer alignment: 4
(32) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 247, 118, 132, 53, 244, 118]
Data(NoveltyBeatsModeData { novelty: NoveltyModeData { value: 0.0, peak: 0.0 }, beat: false })
[alarm@alarmpi rswave]$ ./sandbox
Serialize buffer alignment: 4
(32) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 250, 118, 132, 149, 247, 118]
Data(NoveltyBeatsModeData { novelty: NoveltyModeData { value: 0.0, peak: 0.0 }, beat: false })
[alarm@alarmpi rswave]$ ./sandbox
Serialize buffer alignment: 4
(32) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 244, 118, 132, 117, 241, 118]
Data(NoveltyBeatsModeData { novelty: NoveltyModeData { value: 0.0, peak: 0.0 }, beat: false })
[alarm@alarmpi rswave]$ ./sandbox
Serialize buffer alignment: 4
(32) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 251, 118, 132, 229, 247, 118]
Data(NoveltyBeatsModeData { novelty: NoveltyModeData { value: 0.0, peak: 0.0 }, beat: false })

Update: changing the type of my buffer to Aligned<[u8; 128]> did the trick !
Do I need to also use it on the sending side or is it useless ?

I also noticed that when I try to serialize the same struct multiple times on the RPi it produces different outputs even though it manages to deserialize them well.

I believe this is expected behavior, since that is padding in NoveltyBeatsModeData. I messed up the layout from earlier slightly, and the last 7 bytes are all padding from that structure. I’ll think a bit on whether that inconsistency can be eliminated.

Do I need to also use it on the sending side or is it useless?

Aligning the buffer is only necessary if it’s read from. ARM is more picky about misalignment, but it’s technically wrong on x86 as well.

I think it will be useful to add this trick with the Aligned to the cross-platform part of the book, what do you think?

I think that’s a good idea, even though everyone should technically be doing it. 😅

I believe this is expected behavior, since that is padding in NoveltyBeatsModeData. I messed up the layout from earlier slightly, and the last 7 bytes are all padding from that structure. I’ll think a bit on whether that inconsistency can be eliminated.

Ok, it seemed weird because on x86 the output was always the same.

I think that’s a good idea, even though everyone should technically be doing it. 😅

I didn't came accross it in the book and it isn't used in the examples, so yea ^^.
Since the problem is solved I think this issue can be marked solved, thank you again for your help and maintaining this library, you guys don't get enough credit for it 😁.


Exporting to tabular format

Hi WoLpH
I was wondering: how would I be able to parse the result of the conversion of a file to a tabular format (pandas, csv, xlsx) and alike?

The main issue would be that the mt940 format isn't strictly 2 dimensional and doesn't have a fixed amount of columns, meaning that you would get an xlsx with multiple tabs or multiple csv files. But more worrisome is that some rows could have more columns than others.
Having that said... in most cases you can get away with a simple 2D structure though :)
import csv
import mt940

transactions = mt940.parse('mt940-file.sta')

with open('mt940.csv', 'w', newline='') as fh:
    writer = csv.DictWriter(fh, fieldnames=transactions[0].data)
    writer.writeheader()

    for transaction in transactions:
        writer.writerow(transaction.data)


Update flake8 exceptions

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

Project coverage is 100.00%. Comparing base (f84000c) to head (820e481).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #25   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           34        34
  Lines         1321      1321
=========================================
  Hits          1321      1321

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


Fetch-pairs issue

hi again, i tried on both versions 14.16.1 and 16.1.0 of node.js and get errors fetching pairs (tried all pairs including binancefutures usdt).
See below error for 14.16.1
npx atat fetch-pairs binance usdt
npx: installed 1 in 8.925s
command not found: atat
The rest of the installation went smoothly. Any ideas on what is going wrong? thanks for the help.

reinstall fixed the issue


Update editorconfig to add open brace before properties

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.918%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1167

Relevant Lines:
1194

💛  - Coveralls


Questions about scf.pl.single_trend'

Hello, author, when I run' scf.tl.test_association' and' scf.tl.fit',' found 1661 significant features (0: 18: 28)-> added' is displayed, and then the shape of my adata also becomes (2650, 1661). Therefore, when I want to use scf.pl.single_trend to draw these 1661 genes, I can't get the expected results. Please reply if you have time. Thank you.

Are you trying to plot all genes at the same time with scf.pl.single_trend? This function accept one single gene at a time. If you wish to display all genes you can use scf.pl.trends instead. Also showing all 1661 in one trends plot might not be as informative, I would use scf.tl.cluster to group gene trends before that.

Are you trying to plot all genes at the same time with scf.pl.single_trend? This function accepts one single gene at a time.
If you wish to display all genes you can use scf.pl.trends instead. However, showing all 1661 in one trends plot might not be as informative, I would use scf.tl.cluster to group gene trends before that.

For example, there are 10,000 genes in my AnnData. After screening the hypervariable genes, there are 1,661 genes left. My idea is to draw any of the remaining 8,339 genes besides these 1,661 genes.

If you wish to display non significant genes, I would then suggest to call fit function with all genes as following:
scf.tl.fit(adata,features=adata.var_names)

If you wish to display non significant genes, I would then suggest to call fit function with all genes as following:
scf.tl.fit(adata,features=adata.var_names)

Tks :)


Sampling with Blensor

Hi @ErlerPhilipp,
In the paper you stated

As a pre-processing step, we center all meshes at the origin and scale them uniformly to fit within the unit cube, ..., For each scan, we place the scanner at a random location on a sphere centered at the origin, ..., The scanner is oriented to point at a location with small random offset from the origin, ..., and rotated randomly around the view direction.

I wonder how this corresponds to the code
https://github.com/ErlerPhilipp/points2surf/blob/c8e6d47062fc068802e179a37427981c8e10b128/blensor_script_template.py#L30
https://github.com/ErlerPhilipp/points2surf/blob/c8e6d47062fc068802e179a37427981c8e10b128/blensor_script_template.py#L100-L102
which to me seems the scanner is at the center while the mesh is moving and rotating around.
Any hint? Thanks in advance!

@chenzhaiyu Yes, you are right that this doesn't match. I wrote a simplification in the paper but the result is the same: an object scanned from multiple directions. The transformations applied to the object are later reverted when assembling the point cloud from the individual scans.
I tried to do it like written in the paper but even after a few days, I still couldn't figure out which transformation(s) Blensor applies to the points. It seems to be dependent on the scanner, but not simply its inverse transformation. So I went with a working simpler solution, which was to move the object instead of the camera.
If you can find a fix for this, please submit a pull-request.

Thanks for your quick reply! This workaround somehow hinders what I'd like to do...
I wanted to create the sampling with certain perspective(s) excluded; imagine the MVS point cloud from a building that doesn't have the bottom view. With the way in the paper it seems easy to simulate this scenario, just by restricting the location of the scanner (e.g. at the upper part of the sphere). With the current workaround where the object is both moving and rotating randomly, do you still see an easy way to do that?
BTW, I'm also curious how can P2S handle this kind of incomplete point clouds (whose GT mesh should be solid). Specifically, do you think the global subsample is capable of encoding the coarse shape info despite the missing points?

I've seen a setting somewhere in Blensor that automatically centers the created pointcloud in the origin. This could be the reason for the strange transformation. Disabling this is surely worth a try and would be the cleaner solution.
Otherwise, you can modify the object movement and restrict the random rotation to some axes and ranges. You would need to point the roof towards the camera and then apply max 45 degrees of rotation around the side axis.
The global subsample is there exactly for encoding the boundary of a solid. It's not perfect, of course. I did some overfitting on an incomplete point cloud with reconstruction in a full but low-res grid and was able to get all holes right where the (stupid and simple) heuristic with sign propagation would lead to large errors. So, yes, the network can learn to complete such point clouds. You may encounter under-sampling, though.

Otherwise, you can modify the object movement and restrict the random rotation to some axes and ranges. You would need to point the roof towards the camera and then apply max 90 degrees of rotation around the side axis.

This worked well for me.

I did some overfitting on an incomplete point cloud with reconstruction in a full but low-res grid and was able to get all holes right where the (stupid and simple) heuristic with sign propagation would lead to large errors. So, yes, the network can learn to complete such point clouds.

I've also trained P2S for a while on a building dataset completely without the bottom points. Indeed it's still working very well to reconstruct solid models, though it might be simply remembering where is the bottom and just appending it.
I'll dig deeper on the cleaner alternative with Blensor when having the time. Thanks again! Closing for now :)


Introduce - Requestor skip proposal (double skip proposal)

In another variations of SKIP Proposal:

we could enable the Requestor to indicate that they want to SKIP their own approval message.
in the case of the introducer having the public Invitation of the other introducee, this results in DOUBLE SKIP proposal.

Do we need a new flag in the request message?