Hope xAxis of Stack Line support value

What problem does this feature solve?
Currently, stack line only support category xAxis. Could xAxis support value so the x direction could be scaled by x value?
If so, Echarts could be used for simulating the geological profile, which is composed of connected rock/soil layer points.
What does the proposed API look like?
Just providing the value type for xAxis for stack line.

yes, xAxis of Stack Line supports value, Demo Code

@helgasoft In the demo you provided, only the default value of xAxis: category is used. Below is a screenshot of the complete options in the demo. In fact, when the value of xAxis.type is set to value, xAxis.data cannot be assigned, and all data will be in series, such as series[0].data = [[1, 2], [2, 3], [3, 4]].

@carlshe, thank you for pointing that out.
I forgot what the documentations says - when "axis.data is specified, the type is auto set as 'category'"
I still do not understand why type='value' is needed for your data.
Could you provide a data sample to see the problem with "x direction...scaled by x value" ?
Geological profiles are interesting, maybe we can come up with a solution.

Stack line with value axis may have some logic problems. For example, if the data of one series is [[1.1, 20], [2, 31], [3, 2]] and another series [[1, 12], [2, 31], [3, 2]], how do you expect them to stack? Should [1.1, 20] stack with [1, 12]? If not, the two bars should probably overlap. So I think you probably should use category x axis by logic.

Dear helgasoft,
Thank you for your quick reply!
I use ECharts' stack area map to express the geological profile/section. The geological profile data comes from the sampling analysis of geological boreholes. Each borehole has a spatial location. Generally, the boreholes on the section line are not uniformly distributed on the profile line. But stack area map treats the data of xAxis as discrete quantities (‘category’) uniformly distributed on the x-axis, and then cannot reflect the distance relationship between the boreholes.
As follow map shown, there are 3 boreholes located on the profile line, the distance between first and second borehole is 16m, the distance between second and third borehole is 8m. The presented 3 boreholes are uniformly distributed on the xAxis. It will be best the visual interval between second and third is half of that between first and second.
Could please help giving a solution for it?
Thank you again!
Carlshe
At 2023-03-30 03:52:48, "helgasoft" @.***> wrote:
@carlshe, thank you for pointing that out.
I forgot what the documentations says - when "axis.data is specified, the type is auto set as 'category'"
I still do not understand why type='value' is needed for your data.
Could you provide a data sample to see the problem with "x direction...scaled by x value" ?
Geological profiles are interesting, maybe we can come up with a solution.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Stack line with value axis may have some logic problems. For example, if the data of one series is [[1.1, 20], [2, 31], [3, 2]] and another series [[1, 12], [2, 31], [3, 2]], how do you expect them to stack? Should [1.1, 20] stack with [1, 12]? If not, the two bars should probably overlap. So I think you probably should use category x axis by logic.

Thank you Ovilia,
I just hope while using stacked area map, the xAxis can reflect comparable continuous quantity. Currently the data of xAxis is treated as discrete quantity.
Could please refer my reply to helgasoft?

@carlshe, I think themeRiver chart will work best for you
Demo Code

Thank you very much, helgasoft!
I tried your demo. It seems not suitable for me. Because the lines are not stable. Any a item change will result in vertical variation of bottom, top or middle lines. In stack area map, item change only take effect on its neighbor.

if boreholes are of different depth, an additional 'unknown' layer can be added at the bottom
Demo Code - example: deepest borehole is at 16.

If stack area map really doesn't support continuous x value, is it possible to derive sub type from stack area map to improve its rendering?

Thank you very much, helgasoft!
The circumscribed polygon of the thematic river map is a symmetric graph. Any a item change, even small, will result in vertical adjust of bottom, top or middle lines to ensure it becomes symmetric again. In stack area map, item change only take effect on its neighbor. The bottom is always stable.
I tried your new demo, and found that at x-24, the bottom moves a little up, and the top moves a little down.
If stack area map really doesn't support continuous x value, is it possible to derive a sub type from stack area map to improve its rendering? by overriding/modifying part of its rendering process?

I tried your new demo, and found that at x-24, the bottom moves a little up, and the top moves a little down.

My mistake: last data line should be [24, 19, 'unknown'] instead of [24, 18, 'unknown']. If values sums of all three boreholes are the same (80), then the chart remains a rectangle.

is it possible to derive a sub type from stack area map to improve its rendering? by overriding/modifying part of its rendering process?

I cannot really answer that because I work at API level and do not do development (yet). But by what @Ovilia said earlier about the logic problem, it looks, hmm... impossible.
It would be helpful to investigate further if any JS charting software does exactly what you want and then post it here as a question with a code example.

Stack line with value axis may have some logic problems. For example, if the data of one series is [[1.1, 20], [2, 31], [3, 2]] and another series [[1, 12], [2, 31], [3, 2]], how do you expect them to stack? Should [1.1, 20] stack with [1, 12]? If not, the two bars should probably overlap. So I think you probably should use category x axis by logic.

I understand your care.
I have a question? For 'category', if the data is ordered number, is it possible to expose an option to tell echart to treat these categories as x values, so the line points could be rendered at expected x-locations?
Or is it possible to derive a sub type from stack area map to improve its rendering? by overriding/modifying part of its rendering process, especally the function that get the coords from [category,y-value]?
Thanks!

I found hichart can render stacked area map with x-value.
In fact, it still define xAxis as category, but it accept x-value as category and render line points at expected location.

ECharts can do the same - Demo Code

Thank you, helgasoft!
I tested your demo code. I think it is essentially still original category type of xAxis. All the data defined for x_Axis is discrete identification. All the x-coord node must be prdefined in xAxis and evenly distributed over x-axis, and all feature points must locate at exactly one of the predefined x-coords. But for geological profile or any other similar polylines, the feature point could be at any a x-coord.
Highchart has no much limit on x of Stack area map, except that all the layers should share the single data definition of x-categories. Values in x data set are not required evenly distributed over x-axis.
Hope ECharts could provide similar function as soon.

For 'category', if the data is ordered numbers, is it possible to expose an option to tell echart to treat these categories as x values, so the line points could be rendered at expected x-locations?

@carlshe I don't understand. If you have such requirement, why don't using category x axis?

Guesswork continues... here is an Updated Demo with "sampling categorization", for lack of a better word.
Idea is to split xAxis into smaller units and generate more points on the original lines (sampling). Sampling step smp could be adjusted from rough (2+) to fine (<=1). Then we have enough categories (vertical reference points) to stack the lines on top of each other.
Use Switch button to toggle between lines and stacked lines.
@carlshe, @maciej-flexcompute, will this work for you?

Sorry, I didn't know that the problem was not sufficiently described. Sorry for the confusion. Sure, here are examples:
xaxis
x = [0.01, 0.50, 1.01, 1.50, 2.01, 2.51, 3.01, 3.50, 4.01, 4.50, 5.00, 5.51, 6.01, 6.50, 7.01, 7.51, 8.00, 8.50, 9.01, 9.50, 10.01, 10.51, 11.00, 11.51, 12.01, 12.51, 13.01, 13.50, 14.00, 14.20, 14.41, 14.60, 14.80, 15.01, 15.20, 15.41, 15.60, 15.80, 16.01, 16.21, 16.40, 16.60, 16.80, 17.00, 17.20, 17.41, 17.61, 17.81, 18.01, 18.20, 18.41, 18.60, 18.81, 19.00, 19.21, 19.40, 19.60, 19.81]
series 1 (y1)
y1 = [1.00, 1.03, 1.05, 1.08, 1.10, 1.13, 1.15, 1.17, 1.20, 1.22, 1.25, 1.27, 1.30, 1.32, 1.34, 1.37, 1.39, 1.41, 1.44, 1.46, 1.48, 1.50, 1.52, 1.54, 1.57, 1.59, 1.61, 1.62, 1.64, 1.65, 1.66, 1.67, 1.67, 1.68, 1.69, 1.70, 1.70, 1.71, 1.72, 1.72, 1.73, 1.74, 1.74, 1.75, 1.76, 1.76, 1.77, 1.78, 1.78, 1.79, 1.80, 1.80, 1.81, 1.81, 1.82, 1.82, 1.83, 1.84]
series 1 (y1)
y2 = [0.01, 0.71, 1.00, 0.70, -0.01, -0.72, -1.00, -0.71, 0.01, 0.71, 1.00, 0.70, -0.02, -0.71, -1.00, -0.70, 0.01, 0.71, 1.00, 0.70, -0.01, -0.71, -1.00, -0.70, 0.02, 0.72, 1.00, 0.71, -0.00, -0.31, -0.60, -0.81, -0.95, -1.00, -0.95, -0.80, -0.58, -0.31, 0.01, 0.32, 0.59, 0.81, 0.95, 1.00, 0.95, 0.80, 0.58, 0.30, -0.01, -0.31, -0.59, -0.81, -0.95, -1.00, -0.95, -0.81, -0.59, -0.30]
Plotted as category line:

Category Line Demo
Plotted as category stack:

Category Stack Demo
Plotted as value line:

Value Line Demo
Problem
You can clearly see that two line plots appear visually different. In the category plots, it seems that y1 is not a linear function as has a kink arround x=14. The y2 line has larger period in x in [14, 20] and shorter period in x in [0, 14].
In the value plot you can see that y1 is actually a linear function (the small off-linearity is due to roundoff error), and y2 is regular periodic function without any changes in periods.
This data plotted as 'category' creates confusion to the receiver, because datapoint lay in mathematically incorrect locations. User can incorrectly conclude that y1 is non-linear and y2 is not regularly periodic. In general any (x, y) data represented by real numbers should always be presented as 'values' and never as 'categories'. See plotting in Matlab, python, gnuplot, excel or any other plotting tools.
The solution you proposed in the last plot, in my example I would need to put sampling in 0.01 period, which is 2000 points instead of 58 (dataset size). But in general case (interval are real numbers) this is not possible to find such interval.
Finally, you can make a restriction that x values are common for both y1 and y2. I.e., there is not such x point of series 1 for which we don't have data from series 2 and vice versa.

Aah what a beauty, a model for problem/feature presentation, great job @maciej-flexcompute !
The new data helped me improve algorithm and code.

But in general case (interval are real numbers) this is not possible to find such interval.

Curious on the reason behind this statement. A constant step (interval) is crucial for the algorithm.
Please take a look at the couple lines where smp is generated. Could it not work with different data ?

Finally, you can make a restriction that x values are common for both y1 and y2

That may eventually help depending on what comes out of the previous question. But hope this limitation won't be necessary.
Latest Demo, essentially redrawing the lines with new X-values with a fixed step (smp).
Number of points for each series:   original value = 58,  new categorical = 100.

@helgasoft
Your example looks exactly like what I am looking for.

But in general case (interval are real numbers) this is not possible to find such interval.

Here is the proof:

lets take a, b real numbers which represents intervals between points. We are looking for such interval c that a = p * c and b = q * c where p, q are whole numbers and they have no common factors. I will show that such interval c does not exist if a=sqrt(2) and b=sqrt(3). We have respectively:
sqrt(2) = p * c and sqrt(3) = q * c. We have sqrt(2) * q = sqrt(3) * p. We can raise to power 2 both sides:
2 * q^2 = 3* p^2. We can see that left-hand side is even, thus, p^2 must be even, thus p must be even, right-hand side is divisible by 4, thus q^2 must be even, => q is even. We showed that both p and q are even which is in contradicts statement that p, q are whole numbers and they have no common factors.

Mathematically it is not possible, but numerically it is possible since we represent numbers double precision, so at least 1e-16 can work. And practically speaking human cannot visually distinguish ~1e-5.


Structure as an R package

To ease development.
The 📦 could have host the extension somewhere in inst so that we can have something easier than:
dbExecute(con, "LOAD '{{path to duckdb-rfuns}}/build/release/extension/rfuns/rfuns.duckdb_extension'")

Agreed, but let's keep the general structure of this repository, for CI/CD.

Sure. I was thinking perhaps :

The 📦 lives in e.g. r/
make could move rfuns.duckdb_extension somewhere in r/inst of the package.
The 📦 loads it because it finds it with system.file() ...

I think it's fine if it's a little quirky, because IIUC the endgame is for the extension to be LOAD in duckplyr but at least having a package here gives some structure we can leverage for e.g. test that etc ...

Works for me. Thanks!


Requesting library items

Description
Online requesting of physical items in the library is a core service that supports access to our collections. This feature connects with the Single Sign-On service and library account registration in order to provide member-level access to the collections.
Objective
Researchers engage with a broader range of our collections
Measures

Library members can request closed stores items

Library members can view the items they have on hold

Up-to-date information available about requesting

To do

Request from the catalogue with a library account

View list of current holds/requests from My Account

See request status from My Account

Link to feature: https://wellcomecollection.productboard.com/feature-board/planning/features/4845067

Yup, users can do this. 🎉


Publisher: hosts filtering not working

Running version
3.15.3-nightly.4
Describe the bug
Hosts filtering on an integration plugin, which is having defined plugin attributes, are showing even hosts are not mentioning a particular host.
To Reproduce
Steps to reproduce the behavior:
following example is taken form https://github.com/ynput/OpenPype/pull/4715

Open settings at project_settings/deadline/publish/SuspendedPublishingJobOnFarm/hosts and remove all hosts so the field is empty.
Save settings
Open Nuke in your testing workfile
hit Publish and click to any render or prerender family instance to see right panel plugin attributes.
Notice that Suspended publish toggle is still showing.

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots

Desktop (please complete the following information):

OS: [e.g. windows]
Host: [e.g. Maya, Nuke, Houdini]

[cuID:OP-5447]

I believe with the new publisher you actually explicitly need to set the settings using the apply_settings method on the class. It doesn't automatically find a key in settings that matches the class name like the old logic to 'automatically' apply the settings. Right @iLLiCiTiT ?

You're right but the issue is that attribute definitions from pyblish plugins are shown even if plugins' host filters do not match registered hosts.

You're right but the issue is that attribute definitions from pyblish plugins are shown even if plugins' host filters do not match registered hosts.

Let's clarify that in the issue title?


Exception when subclassing MudInputBase and doing async work while initializing.

Bug type
Component
Component name
MudBaseInput
What happened?
I am trying to create a component that's derived from MudAutocomplete that has functionality to fill itself with the data it needs using an http call in OnInitializedAsync. But when I do that, I get an error in the console when trying to render the component. The exception is

InvalidOperationException: The ParameterView instance can no longer be read because it has expired. ParameterView can only be read synchronously and must not be stored for later use.

As you can see in the log output, it happens inside MudBaseInput's SetParametersAsync.
Not sure what's happening here... or if it's uberhaupt a bug with mudblazor or with blazor itself... but any pointers would be greatly appreciated ;-)
The thing is, even though the error happened, the control is working fine as it is supposed to.
And when you comment out the one line in OnInitializedAsync that simulates the server request, no errors happen.
I have also tried putting the code in OnParametersSetAsync, but with the same result.
Expected behavior
I expect no errors or exceptions.
Reproduction link
https://try.mudblazor.com/snippet/cYGcuFcqURLuzdAd
Reproduction steps

Run the sample, you should immediately see the yellow error bar pop up on the bottom

Relevant log output
crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: The ParameterView instance can no longer be read because it has expired. ParameterView can only be read synchronously and must not be stored for later use.
System.InvalidOperationException: The ParameterView instance can no longer be read because it has expired. ParameterView can only be read synchronously and must not be stored for later use.
   at Microsoft.AspNetCore.Components.Rendering.ParameterViewLifetime.AssertNotExpired()
   at Microsoft.AspNetCore.Components.ParameterView.GetEnumerator()
   at Microsoft.AspNetCore.Components.ParameterView.TryGetValue[String](String parameterName, String& result)
   at MudBlazor.ParameterViewExtensions.Contains[String](ParameterView view, String parameterName)
   at MudBlazor.MudBaseInput`1.<SetParametersAsync>d__167[[System.String, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
   at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle, ComponentState owningComponentState)

Version (bug)
6.0.5
Version (working)
No response
What browsers are you seeing the problem on?
Microsoft Edge
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

This issue is still present in version 6.0.10. According to this SO issue, this bug can be resolved by binding the parameters synchronously before any asynchronous operations.

The snippet can be simplified as follow to see the issue occurring (v6.0.12):
https://try.mudblazor.com/snippet/QkmcOsEHJPWWgCHP
<MudTextField @bind-Value="@Name" TextChanged="OnValueChangeHandler" />

@code {
    public int Name { get; set; }

    protected async Task OnValueChangeHandler(string newValue)
    {
        //Crashes around here XD
        await Task.Delay(1);
    }
}


Suggested support tool to minify XLIFFs

Hello Martin
Thanks again for an excellent tool. There is an option/functionality that we use which could be of interest to others as well. When we build a project, we have added a step to minify the XLIFF files to remove (what we think are) unnecessary tags.
We've added the following to a pre-build.js:
var fs = require('fs');

const files = fs.readdirSync('src/locale', {encoding: 'utf8'});
files.forEach(file => {
  if (file.match(/^(messages\.[a-z]{2,2}(-[A-Z]*)*)(\.xlf)$/)) {
    const minified = file.replace(/^(messages\.[a-z]{2,2}(-[A-Z]*)*)(\.xlf)$/g, '$1.min$3');
    console.log(`Minifying src/locale/${file} > src/locale/${minified}...`);
    if (fs.existsSync(`src/locale/${minified}`)) {
      fs.unlinkSync(`src/locale/${minified}`);
    }
    fs.writeFileSync(`src/locale/${minified}`,
      fs.readFileSync(`src/locale/${file}`, {encoding: "utf8"})
        .replace(/<!--[\s\S]*?-->/g, '') // remove html comments
        .replace(/<context-group[\S\s]*?context-group>/g, '') // remove context-group tags with content
        .replace(/<source[\S\s]*?source>/g, '') // remove source tags with content
        .replace(/\sstate=\".*?\"/g, '') // remove state attributes
        .replace(/\sdatatype=\".*?\"/g, '') // remove datatype attributes
        .replace(/(>)\s*(<)/g, '$1$2'), // lastly, linearize
      {encoding: 'utf8'}
    );
  }
});

and are including the resulting *.min.xlf files (<50% size) instead of the original translated files in the build.
We have not run into any problems with this approach, and perhaps it could be a welcome addition to your package?
/Johan

Hello Johan,
thanks for your suggestion, but to be honest I am not really convinced.
First of all I do not expect to have a real win by minimizing the XLIFFs. The build process will not be measurably faster, I guess.
Second, the informations you are removing are not used by the angular build process, but they can be used by translation tools and you will lose this by removing them.
For example the source tags are a hint, where the translation is used and this can be a valuable information for translators.
Regards
Martin

Hello Martin
It is not the build process itself that we aim to optimise. It will be slower, but the minification of seven language files is done in a fraction of a second. However, even if it took significantly longer, the duration of the production build process is insignificant to us. We're currently minifying the XLIFFs on every build, but would really only need to for distribution/production builds if it was necessary to optimise development builds.
Regarding removal of information, the minification does not affect the "normal" files used for "offline" translation, and we have not seen any tools which would allow a translator to translate the app at runtime.
Our aim with the minification (as with the minification of the JavaScript) is to cut out everything not needed at runtime for the optimisation of the app's loading time, for example:
      <trans-unit id="actionbar.command-save.tooltip" datatype="html">
        <source>Save (Ctrl+S)</source>
        <target state="final">Speichern (Strg+S)</target>
      </trans-unit>

where the only thing really needed at runtime seems to be the id and the target
<trans-unit id="actionbar.command-save.tooltip"><target>Speichern (Strg+S)</target>

By minification of ~850 strings (expected to grow even further), we save >100 kB per language bundle, an opportunity the Angular team would probably jump at.
The generated minified files are excluded from GIT using .gitignore with /src/locale/*.min.xlf as they are generated on demand, and are included in the architect/build/configurations of angular.json as for example:
            "de-prod": {
              "i18nFile": "src/locale/messages.de.min.xlf",
              "i18nFormat": "xlf",
              "i18nLocale": "de"
            },

To us this makes completely sense and we have only seen an upside with the approach so far.
/Johan

Forgot to mention that this would be another support tool / command, and not an option to xliffmerge, since the normal offline XLIFFs are needed for translation and the minification would be performed after the translation has been completed.

@johannks, the XLIFF files are only used by the build process, they are not part of the output. When you build for a locale and supply an XLIFF file, the translations are applied during the build process.
Minimizing the XLIFF file itself should have no impact on the generated bundles.

@GeorgDangl, in our setup (following the instructions in @ngx-translate/i18n-polyfill) it does get included into the main.js.
As a matter of fact, I only just now noticed that ALL our 7 XLIFF files get included in the main.js of every language prod-bundle, which actually compounds our problem.
Are we doing something wrong? Is anyone else having the same issue?

Oh, I see, the XLIFF is directly loaded for dynamic translations. I thought you'd create a separate bundle for
every target language. Maybe that's an option you can evaluate if you really want to trim down on the bundle size:)
Personally, I build a .json file for every language target with the strings I need and statically reference that during the build, so only the actual values (and their keys) are present, not the whole XLIFF. I can later take a look at how exactly I've implemented it.


Ruby doesn't work when installed in Unicode path

When Ruby is installed to Unicode path like  C:\tēst\Ruby22-x64 then any ruby application will fail with
<internal:gem_prelude>:1:in `require': cannot load such file -- rubygems.rb (LoadError)
        from <internal:gem_prelude>:1:in `<compiled>'

I think it's most likely Ruby bug.

It is, but it also can depend on your code page. Try chcp 1252 and chcp 65001 and let me know if it's any different.

Changing code pages doesn't change anything, still same error.

Alright, sorry. It's a bug in Ruby and they've looked at it a couple of times. Going to close it here. The RubyInstaller mailing list might have some better advice for you too.


Option to return password reset token without sending email

As discussed in my email, FL want to send the password reset emails via the website so they require the reset token returning. Michael also asked for the user's _id property.

Hi Tom,
This opens up a security hole in that anyone can request this through the public api and receive a token - enabling them to hijack any account in the system.
Accordingly I cannot merge this PR.
What you'd need to do instead would be to create a separate API route to request a reset token for an e-mail, and make that api route admin only in routes.coffee

I realised after I sent the PR that the resetPassword route was public so thought you'd reject this based on that! I've not got around to creating the separate route and method but I'll try to do it shortly.

From: David Bochenski<EMAIL_ADDRESS>Sent: 11 May 2015 17:33
To: GoIncremental/gi-security
Cc: Tom Crawley
Subject: Re: [gi-security] Option to return password reset token without sending email (#66)
Hi Tom,
This opens up a security hole in that anyone can request this through the public api and receive a token - enabling them to hijack any account in the system.
Accordingly I cannot merge this PR.
What you'd need to do instead would be to create a separate API route to request a reset token for an e-mail, and make that api route admin only in routes.coffee

Reply to this email directly or view it on GitHubhttps://github.com/GoIncremental/gi-security/pull/66#issuecomment-100972790.

No worries - glad to see you're keeping me on my toes in code review.  Just pop something similar on it's own admin wrapped route and it'll be fine.

Yep, will do.

From: David Bochenski<EMAIL_ADDRESS>Sent: 11 May 2015 17:40
To: GoIncremental/gi-security
Cc: Tom Crawley
Subject: Re: [gi-security] Option to return password reset token without sending email (#66)
No worries - glad to see you're keeping me on my toes in code review. Just pop something similar on it's own admin wrapped route and it'll be fine.

Reply to this email directly or view it on GitHubhttps://github.com/GoIncremental/gi-security/pull/66#issuecomment-100974172.

Sent another PR.

From: David Bochenski<EMAIL_ADDRESS>Sent: 11 May 2015 17:40
To: GoIncremental/gi-security
Cc: Tom Crawley
Subject: Re: [gi-security] Option to return password reset token without sending email (#66)
No worries - glad to see you're keeping me on my toes in code review. Just pop something similar on it's own admin wrapped route and it'll be fine.

Reply to this email directly or view it on GitHubhttps://github.com/GoIncremental/gi-security/pull/66#issuecomment-100974172.


update RTD configuration

https://github.com/ROCm/rocm-install-on-linux/commit/41a9cca7de78a99bc39a80826b6edb51993df383
Addressed in ^


How hide load more view?

Need to be able to hide the load more view when it comes to the error from the server.

Pls checkout 2.0.4 to use hideLoadMoreView().


Overview sub-section of the Introduction section

Improve the Introduction and Explanations project

Section
Sub-section
Author

Introduction
Overview
Joseph Mawa

This the Overview sub-section of the Introduction section

@proudofsimin

@proudofsimin Thank you very much for your comments to improve this PR, I believe they are very valuable.
We should strictly follow the Documentation System for our docs contributing,  @nibble0101 please follow the suggestions from @proudofsimin and make sure all our docs can be adaptered to the Documentation System, appreciate it!

I don't think CI is failing because the commit I made above.

I don't think CI is failing because of the commit I made above.

Yes, it's not related to this PR.
Sorry for that, I'm fixing it now.

Tag #872

Please resolve the conflict first.

@chris-4444 I would like you to once go through the PR, and approve when you think it's ready to get merged.

Thank you very much for all efforts from everyone as a team, appreciate it!


DTO Factory: piccolo implementation

It would be nice to get this added - maybe we can help in some way.
We recently added support for litestar to Piccolo (replacing starlite), and came across this in our integration tests. For now, we'll version pin to litestar==2.0.0a3.

Hey @dantownsend - thanks for reaching out.
I've only implemented support for dataclasses and sqlalchemy so far as PoC. While we are still in alpha/beta I'm keen to make another pass over the internals of the DTO factory ABC before building implementations for all of the remaining libraries that we had support for in v1.
I'm away on a family holiday for the next week or so and will launch into this stuff 2nd week of may.
Any help along the way would be appreciated, am I ok to @ you in here if I have any questions?

@peterschutt Cool, happy to help! Thanks for the update.

@peterschutt Cool, happy to help! Thanks for the update.

Hi @dantownsend - i added a PR with a DTO factory for Piccolo. Can you perhaps take a look? Additionally, it would be great if you or one of your collaborators would contribute improvements to this. I did not set out to handle nested models and relations, and that would be a great addition.

@Goldziher It looks great - thank you! I'll have a play around with it. @sinisaos in case you want to give it a go.

@dantownsend Just finished trying out PiccoloDTO and everything is working great (great job @Goldziher). I had a little problem with the partial update and then I found a very good documentation with an example that helped me to get everything work. @Goldziher I see you write the documentation for PiccoloDTO and here is a full working example for PiccoloDTO that you can use
import typing as t

from litestar import Litestar, MediaType, asgi, delete, get, patch, post
from litestar.contrib.jinja import JinjaTemplateEngine
from litestar.contrib.piccolo.dto import PiccoloDTO
from litestar.dto.factory import DTOConfig, DTOData
from litestar.exceptions import NotFoundException
from litestar.static_files import StaticFilesConfig
from litestar.template import TemplateConfig
from litestar.types import Receive, Scope, Send
from piccolo.engine import engine_finder
from piccolo_admin.endpoints import create_admin

from home.endpoints import home
from home.piccolo_app import APP_CONFIG
from home.tables import Task

# mounting Piccolo Admin
@asgi("/admin/", is_mount=True)
async def admin(scope: "Scope", receive: "Receive", send: "Send") -> None:
    await create_admin(tables=APP_CONFIG.table_classes)(scope, receive, send)

class PatchDTO(PiccoloDTO[Task]):
    """Don't allow client to set the id, and allow partial updates."""

    config = DTOConfig(exclude={"id"}, partial=True)

@get(
    "/tasks",
    return_dto=PiccoloDTO[Task],
    media_type=MediaType.JSON,
    tags=["Task"],
)
async def tasks() -> t.List[Task]:
    return await Task.select().order_by(Task.id, ascending=False)

@post(
    "/tasks",
    dto=PiccoloDTO[Task],
    return_dto=PiccoloDTO[Task],
    media_type=MediaType.JSON,
    tags=["Task"],
)
async def create_task(data: Task) -> Task:
    await data.save()
    await data.refresh()
    return data

@patch(
    "/tasks/{task_id:int}",
    dto=PatchDTO,
    return_dto=PiccoloDTO[Task],
    media_type=MediaType.JSON,
    tags=["Task"],
)
async def update_task(task_id: int, data: DTOData[Task]) -> Task:
    task = await Task.objects().get(Task.id == task_id)
    if not task:
        raise NotFoundException("Task does not exist")
    result = data.update_instance(task)
    await result.save()
    return result

@delete("/tasks/{task_id:int}", tags=["Task"])
async def delete_task(task_id: int) -> None:
    task = await Task.objects().get(Task.id == task_id)
    if not task:
        raise NotFoundException("Task does not exist")
    await task.remove()

async def open_database_connection_pool():
    try:
        engine = engine_finder()
        await engine.start_connection_pool()
    except Exception:
        print("Unable to connect to the database")

async def close_database_connection_pool():
    try:
        engine = engine_finder()
        await engine.close_connection_pool()
    except Exception:
        print("Unable to connect to the database")

app = Litestar(
    route_handlers=[
        admin,
        home,
        tasks,
        create_task,
        delete_task,
        update_task,
    ],
    template_config=TemplateConfig(
        directory="home/templates", engine=JinjaTemplateEngine
    ),
    static_files_config=[
        StaticFilesConfig(directories=["static"], path="/static/"),
    ],
    on_startup=[open_database_connection_pool],
    on_shutdown=[close_database_connection_pool],
)

Sorry for long comment.

@dantownsend Just finished trying out PiccoloDTO and everything is working great (great job @Goldziher). I had a little problem with the partial update and then I found a very good documentation with an example that helped me to get everything work. @Goldziher I see you write the documentation for PiccoloDTO and here is a full working example for PiccoloDTO that you can use
import typing as t

from litestar import Litestar, MediaType, asgi, delete, get, patch, post
from litestar.contrib.jinja import JinjaTemplateEngine
from litestar.contrib.piccolo.dto import PiccoloDTO
from litestar.dto.factory import DTOConfig, DTOData
from litestar.exceptions import NotFoundException
from litestar.static_files import StaticFilesConfig
from litestar.template import TemplateConfig
from litestar.types import Receive, Scope, Send
from piccolo.engine import engine_finder
from piccolo_admin.endpoints import create_admin

from home.endpoints import home
from home.piccolo_app import APP_CONFIG
from home.tables import Task

# mounting Piccolo Admin
@asgi("/admin/", is_mount=True)
async def admin(scope: "Scope", receive: "Receive", send: "Send") -> None:
    await create_admin(tables=APP_CONFIG.table_classes)(scope, receive, send)

class PatchDTO(PiccoloDTO[Task]):
    """Don't allow client to set the id, and allow partial updates."""

    config = DTOConfig(exclude={"id"}, partial=True)

@get(
    "/tasks",
    return_dto=PiccoloDTO[Task],
    media_type=MediaType.JSON,
    tags=["Task"],
)
async def tasks() -> t.List[Task]:
    return await Task.select().order_by(Task.id, ascending=False)

@post(
    "/tasks",
    dto=PiccoloDTO[Task],
    return_dto=PiccoloDTO[Task],
    media_type=MediaType.JSON,
    tags=["Task"],
)
async def create_task(data: Task) -> Task:
    await data.save()
    await data.refresh()
    return data

@patch(
    "/tasks/{task_id:int}",
    dto=PatchDTO,
    return_dto=PiccoloDTO[Task],
    media_type=MediaType.JSON,
    tags=["Task"],
)
async def update_task(task_id: int, data: DTOData[Task]) -> Task:
    task = await Task.objects().get(Task.id == task_id)
    if not task:
        raise NotFoundException("Task does not exist")
    result = data.update_instance(task)
    await result.save()
    return result

@delete("/tasks/{task_id:int}", tags=["Task"])
async def delete_task(task_id: int) -> None:
    task = await Task.objects().get(Task.id == task_id)
    if not task:
        raise NotFoundException("Task does not exist")
    await task.remove()

async def open_database_connection_pool():
    try:
        engine = engine_finder()
        await engine.start_connection_pool()
    except Exception:
        print("Unable to connect to the database")

async def close_database_connection_pool():
    try:
        engine = engine_finder()
        await engine.close_connection_pool()
    except Exception:
        print("Unable to connect to the database")

app = Litestar(
    route_handlers=[
        admin,
        home,
        tasks,
        create_task,
        delete_task,
        update_task,
    ],
    template_config=TemplateConfig(
        directory="home/templates", engine=JinjaTemplateEngine
    ),
    static_files_config=[
        StaticFilesConfig(directories=["static"], path="/static/"),
    ],
    on_startup=[open_database_connection_pool],
    on_shutdown=[close_database_connection_pool],
)

Sorry for long comment.

cheers, would you care to add a PR to the docs?

@dantownsend and @sinisaos - if you guys would like to add a followup PR that improves the DTO by supporting recursive relations etc. that would be great. We have very strong support for SQLA, because we have the knowledge to do this. I do not have the knowledge how to handle Piccolo on this level, but it would be great to have.

@Goldziher Sorry for the slow response. I made a PR #1916 for the PiccoloDTO docs and I hope it's good enough. If not, feel free to change it.


ValueError: This solver needs samples of at least 2 classes in the data

Hi,
I am using SparkLinearSVC. The code is as follows:
svm_model = SparkLinearSVC(class_weight='auto')
svm_fitted = svm_model.fit(train_Z,classes=np.unique(train_y))

and I get the following error:
File "/DATA/sdw1/hadoop/yarn/local/usercache/ad79139/filecache/328/spark-assembly-<IP_ADDRESS>.2.4.2-2-hadoop<IP_ADDRESS>.2.4.2-2.jar/pyspark/worker.py", line 98, in process
    serializer.dump_stream(func(split_index, iterator), outfile)
  File "/usr/hdp/<IP_ADDRESS>-2/spark/python/pyspark/rdd.py", line 2081, in pipeline_func
    return func(split, prev_func(split, iterator))
  File "/usr/hdp/<IP_ADDRESS>-2/spark/python/pyspark/rdd.py", line 2081, in pipeline_func
    return func(split, prev_func(split, iterator))
  File "/usr/hdp/<IP_ADDRESS>-2/spark/python/pyspark/rdd.py", line 258, in func
    return f(iterator)
  File "/usr/hdp/<IP_ADDRESS>-2/spark/python/pyspark/rdd.py", line 820, in <lambda>
    return self.mapPartitions(lambda x: [sum(x)]).reduce(operator.add)
  File "/usr/lib/python2.6/site-packages/splearn/linear_model/base.py", line 81, in <lambda>
    mapper = lambda X_y: super(cls, self).fit(
  File "/usr/lib64/python2.6/site-packages/sklearn/svm/classes.py", line 207, in fit
    self.loss
  File "/usr/lib64/python2.6/site-packages/sklearn/svm/base.py", line 809, in _fit_liblinear
    " class: %r" % classes_[0])
ValueError: This solver needs samples of at least 2 classes in the data, but the data contains only one class: 0

whereas, I have 2 classes, namely 0 and 1. The block size of the DictRDD is 2000. The percentage of classes 0 and 1 are 92% and 8% respectively

Sadly this is a bug indeed. Sparkit trains sklearn's linear models in parallel, then averages them in a reduce step. There is at least one block, which contains only one of the labels. Try the following:
train_Z[:, 'y'].map(lambda x: np.unique(x).size).filter(lambda x: x < 2).count()

You could try to randomize the train data to avoid blocks with one label, but this is still waiting for a clever solution.

Thanks

I believe I found a workaround for this. Considering these problems tend to happen to highly imbalanced datasets, I would suggest using StratifiedShuffleSplit, and alter the train_size or test_size ratio as an alternative as seen below:
for trainRatio in np.arange(0.05, 1, 0.05):
    split = StratifiedShuffleSplit(n_splits=2, train_size=trainRatio)
    for trainIdx, testIdx in split.split(X, y):
        Xtrain, Xtest = X[trainIdx], X[testIdx]
        ytrain, ytest = y[trainIdx], y[testIdx]
        model = someModel()
        model.fit(Xtrain, ytrain)
        pred = model.predict(Xtest)

Sadly this is a bug indeed. Sparkit trains sklearn's linear models in parallel, then averages them in a reduce step. There is at least one block, which contains only one of the labels. To check try the following:
train_Z[:, 'y']._rdd.map(lambda x: np.unique(x).size).filter(lambda x: x < 2).count()

To resolve You could randomize the train data to avoid blocks with one label, but this is still waiting for a clever solution.

Can't believe that this bug is still not fixed! Sad!


Misleading error message when type is not match

Check following references.
https://forum.crystal-lang.org/t/misleading-error-message-when-type-is-not-match/5075

check this replied by straight-shoota,  explain what I want exactly.

So we have the def types
String, Int32
Int32, _

And the argument types are String, Int32?.
The options for changing the types to match are:
change #1 from String to Int32
change #2 from Int32? to Int32

Both can be valid suggestions and they involve the same amount of changes.
I think the suggestion to drop the Nil type from Int32? to Int32 is more likely to catch the intention. Not accounting for a value’s nilability is a common cause of error. Chances are high that that’s exactly the suggestion the user needs.
In general terms, restricting a union to a subset of its members is a smaller change and more likely to be helpful than changing one type into another unrelated type.
So I think the compiler error message could take this into consideration.

Just ran in to this on a Lucky app this morning on 1.6.0. For Lucky we have method overloads that are designed to raise a compile-time error if you call them to help catch errors and display our own custom error messages. Since those methods show up as potential overloads, Crystal will show the incorrect overload on an argument when a different argument type is wrong.
Example code:
class SaveComment < Comment::SaveOperation
  needs title : String
end

title : String? = "Test"
SaveComment.create(params, title) do |_,_|
end

# this is wrong because it's the `title` arg that has the wrong type here, not the `params`
# Error: expected argument #1 to 'SaveComment.create' to be Hash(K, V), not Lucky::Params

@asterite yup!
Error: expected argument 'title' to 'SaveComment.create' to be String, not (String | Nil)

Tested, it works.
 ╰─ $ cr version
Crystal 1.7.0-dev [7a04fdd0f] (2022-11-17)

LLVM: 14.0.6
Default target: x86_64-pc-linux-gnu


Allow manual authentication

MVP
This is an alternative MVP for manual authentication requirements, the first one being #496 . In this version, we emit an event and expect the platform to update the token prop on our web component. There's a test here that proves this works.
Example platform usage (vanilla):
<manifold-auth-token auth-type="manual" token="my-token"></manifold-auth-token>

const component = document.querySelector('manifold-auth-token');
component.addEventListener('manifold-token-clear', async () => {
  const token = await myGetTokenFunction();
  component.token = token;
});

Reason for change

Testing

Checklist

[ ] CHANGELOG: The Unreleased section of CHANGELOG was updated
[ ] Prop changes: docs were updated
[ ] Prop changes: E2E tests were updated, testing from the highest level possible
[ ] Platform testing: If this change should be tested against a platform, has it been?

Of the two approaches, I’m kinda liking this one a bit better. This is more transparent to the platform when tokens expire, and affords them more opportunities to handle this.


[MonoRepoBuilder] split command fails

Hi,
the following cmd fail with 1 package:
vendor/bin/monorepo-builder split --max-processes 2 --tag 1.5

Error:
 Process failed with "1" code: "+ echo 'Initializing subsplit from '\''/Users/regenrek/wpdev/bbg/site/.git'\'' to '\''/private/var/folders/7w/l2j5mtn12tv8hsd7ch6htbq40000gn/T/monorepo_builder/_subsplit/web-app-m
  u-plugins-mj-coollib'\'' directory'
  + git clone --mirror /Users/regenrek/wpdev/bbg/site/.git .git
  Cloning into bare repository '.git'...
  done.
  + git config --unset core.bare
  + git reset --hard
  + publish
  + git remote remove origin
  Note: A branch outside the refs/remotes/ hierarchy was not removed;
  to delete it, use:
    git branch -d master
  + git remote add origin git@gitlab.com:somerepo/wp-plugins/coollib.git
  + echo 'Syncing '\''web/app/mu-plugins/mj-coollib'\'' to '\''git@gitlab.com:somerepo/wp-plugins/coollib.git'\'''
  + split_branch
  + '[' -n master ']'
  + LOCAL_BRANCH=local-master
  + echo ' - syncing branch '\''master'\'''
  + git checkout -b local-master-checkout master
  + git subtree split -q --prefix=web/app/mu-plugins/mj-coollib --branch=local-master master
  No new revisions were found
  + die 'Failed while git subtree split for '\''master'\'''
  + echo Failed while git subtree split for ''\''master'\'''
  + exit 1
  "

Sidenote: If I remove the package the split works for other packages.
Any ideas?

What's in your config?

Hi,
this is my monorepo-builder.yml
parameters:
    # for "merge" command
    data_to_append:
        require-dev:
            phpunit/phpunit: '^7.3'
            symplify/monorepo-builder: '^7.2'
            vlucas/phpdotenv: "^3.4.0"
            oscarotero/env: "^1.2.0"
            roots/wordpress: "5.2.3"
            roots/wp-config: "1.0.0"
            roots/wp-password-bcrypt: "1.0.0"
            lkwdwrd/wp-muplugin-loader: "~1.0.0"

    package_directories:
    - 'web/app/themes'
    - 'web/app/mu-plugins'

    # for "split" command
    directories_to_repositories:
        web/app/themes/mjtheme: 'git@gitlab.com:somerepo/mjtheme2.git'
        web/app/themes/mjtheme-child: 'git@gitlab.com:somerepo/mjtheme-child2.git'
        web/app/mu-plugins/mj-fewbricks: 'git@gitlab.com:somerepo/wp-plugins/colllib.git'
        web/app/mu-plugins/acf-fewbricks-hidden: 'git@gitlab.com:somerepo/wp-plugins/acf-fewbricks-hidden.git'

Hi,
my bad. Unfortunately was collib somehow a submodule and so the cmd failed.
I removed the submodule git rm --cached and pushed it - all good!
Regards


Support token aware routing for cassandra

I was reading the source code and stumbled upon this logic for routing with no sharding:
https://github.com/scylladb/scylla-rust-driver/blob/8c20d39e5ef67c8c0b04976cb459cde13fa52fc0/scylla/src/transport/connection_pool.rs#L242
And this logic for parsing sharding info from a supported response:
https://github.com/scylladb/scylla-rust-driver/blob/8c20d39e5ef67c8c0b04976cb459cde13fa52fc0/scylla/src/routing.rs#L115
My understanding of this is that scylla-rust-driver will silently never perform token aware routing for cassandra because cassandra does not support sharding.
It should be straightforward to add support for cassandra here by considering each cassandra instance to be a single shard?
Edit: thinking about this more I already rely on scylla-rust-drivers cassandra token aware routing support (see https://github.com/scylladb/scylla-rust-driver/issues/681 )
So I'm probably misunderstanding something in the code, I'll investigate further myself.

Looking at the TRACE level logs, token aware routing is clearly happening for cassandra.
It seems that the filtering of connections happens at an earlier stage.
Sorry for the poor issue.


Item importer

Imports items from a PDF. Can parse weapons and armor automatically, but other items won't have their stats automatically imported. This is more of a stepping stone for the ability to better implement magic items from the core rules.

Part of #680

Please remove changes to release_notes and package.lock


CI: set QED dependencies for doc build to dev branch version, if target branch is not main

This QED.jl PR required before we can merge this PR.

Force merge, because the #94 solve the unit tests but needs to this PR that the doc build job passes. Also this PR does not affect the library code.


[Enhancement] add iceberg column stats session var

Fixes #issue
What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[FE Incremental Coverage Report]
:disappointed: fail : 5 / 7 (71.43%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
2
4
50.00%
[566, 567]

:large_blue_circle:
com/starrocks/connector/iceberg/IcebergMetadata.java
3
3
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)


added article link

Hey @thombergs I pushed a fix for the core-java tests. Can you please try re-creating this PR? I see it's not seeing the changes here.

@lor6 will do :)


XUnit parsed report does not process the TIME field from original xml

I got a JUnit result for golang run.
It contained test cases and each testcase contained only a time field for each test case, giving the elapsed time for a test.
Example bellow.
Them I parse it with Oxygen, but the output start/finish date do not take into account the elapsed time for the test.
I understand that my junit does not contain initial/finish time for tests, but at least it contain the time that each test took to run.
But this information is lost, and the final xunit does not contain such time information for individual tests.
I would like that at least, this report start/end time could take into account the time field form the origin file to take into account.
Files below are just a snip of the original and final files.
I change the test names and suite names.
Original file
<testsuites>
<testsuite tests="24" failures="0" time="316.525" name="test1">
<properties>
<property name="go.version" value="go1.16.15"/>
</properties>
<testcase classname="test1" name="test_suite1" time="19.330"/>

Parsed file by oxygen
<robot generator="Robot 4.1.2 (Python 3.9.13 on linux)" generated="20220808 11:06:06.878" rpa="false" schemaversion="2">
<suite id="s1" name="JUnit Execution">
<suite id="s1-s1" name="test_suite1">
<test id="s1-s1-t1" name="teste1">
<kw name="Pass Execution" library="BuiltIn">
<arg>Test passed :D</arg>
<doc>Skips rest of the current test, setup, or teardown with PASS status.</doc>
<msg timestamp="20220808 11:06:06.910" level="INFO">Execution passed with message: Test passed :D</msg>
<status status="PASS" starttime="20220808 11:06:06.910" endtime="20220808 11:06:06.911"/>
</kw>
<status status="PASS" starttime="20220808 11:06:06.909" endtime="20220808 11:06:06.911">Test passed :D</status>
</test>

Hi! Sorry it took time to get back to you 😅
Just wanted to say that this issue is in the command line usage of Oxygen. Looking into things, it is a bit difficult to fix due to the fact that we would have to, after creating the corresponding RF output.xml, go back and fix the elapsed time manually.
Due to the trickyness described above, this unfortunately does not make to the next release in the following days. However, I will look into this and try to get another release out fixing this soon


[UNDERTOW-2451] fix the information leakage issues

Issue: https://issues.redhat.com/browse/UNDERTOW-2451
fix the information leakage issues

@BFionaccept could you please update commit messages? Add [UNDERTOW-2451] as prefix and reword first message, since that CVE is very specific and does not cover class you make change to.

Dear Bartosz Baranowski,
Thank you for your efforts and your ongoing attention to these vulnerabilities.
However, I am unable to view this issue: https://issues.redhat.com/browse/UNDERTOW-2451. Could you please help add me to it? Additionally, could you assign CVE(s) to these security issues?
Best Regards,
BFionaccept
At 2024-09-30 17:54:43, "Bartosz Baranowski" @.***> wrote:
@baranowb requested changes on this pull request.
In core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java:

@@ -247,11 +245,11 @@ private String readHpackString(ByteBuffer buffer) throws HpackException {
if (huffman) {
return readHuffmanString(length, buffer);
}

   StringBuilder stringBuilder = new StringBuilder(length);

final ?
In core/src/main/java/io/undertow/protocols/http2/HpackDecoder.java:

@@ -260,12 +258,12 @@ private String readHpackString(ByteBuffer buffer) throws HpackException {
}

 private String readHuffmanString(int length, ByteBuffer buffer) throws HpackException {

   StringBuilder stringBuilder = new StringBuilder(length);

final ?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

@baranowb Hi baranowb, I'm unable to view this issue: https://issues.redhat.com/browse/UNDERTOW-2451. Could you please help add me to it?

@baranowb Hi baranowb, I'm unable to view this issue: https://issues.redhat.com/browse/UNDERTOW-2451. Could you please help add me to it?

@BFionaccept I have opened the Jira. You can try again.

My understanding from https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2024-4109 is that this issue has assigned CVE-2024-4109

@fl4via , sorry for pinging you here, but I did not find any relevant thread to ask about CVE-2024-4109
Are there any plans to address this anytime soon?
Thank you!


test: run all e2e tests against sandbox

Fixes #2642
Fixes https://github.com/AztecProtocol/aztec-packages/issues/2917
Also: use aztecprotocol/aztec-sandbox:canary for canary tests
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

Benchmark results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit d7b7fb1d and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
222,900
868,136
3,448,076

l1_rollup_execution_gas
841,987
3,595,244
22,203,445

l2_block_processing_time_in_ms
1,022 (+1%)
3,894 (+1%)
15,426

note_successful_decrypting_time_in_ms
325 (-1%)
1,005 (-1%)
3,680 (-8%)

note_trial_decrypting_time_in_ms
30.0 (-9%)
108
138

l2_block_building_time_in_ms
8,908
35,912
149,231 (-5%)

l2_block_rollup_simulation_time_in_ms
6,601 (+1%)
26,700 (+1%)
104,980

l2_block_public_tx_process_time_in_ms
2,267 (-1%)
9,091 (-1%)
:warning: 43,792 (-15%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
:warning: 11,301 (-19%)
:warning: 21,542 (-19%)

note_history_successful_decrypting_time_in_ms
:warning: 2,265 (-26%)
:warning: 4,583 (-23%)

note_history_trial_decrypting_time_in_ms
121 (-5%)
147 (-6%)

node_database_size_in_bytes
1,668,466
1,206,902

pxe_database_size_in_bytes
27,188
54,187

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
:warning: 42.6 (-18%)
56,577 (-8%)
:warning: 14,745 (-22%)

private-kernel-ordering
:warning: 21.0 (-20%)
:warning: 20,137 (-17%)
8,089

base-rollup
848 (-10%)
631,605 (-1%)
811

root-rollup
:warning: 37.6 (-11%)
4,072
1,097

private-kernel-inner
:warning: 34.9 (-26%)
:warning: 72,288 (-11%)
:warning: 14,745 (-22%)

public-kernel-private-input
:warning: 46.9 (-11%)
37,359 (-10%)
:warning: 14,745 (-22%)

public-kernel-non-first-iteration
:warning: 27.7 (-19%)
37,401 (-10%)
:warning: 14,745 (-22%)

merge-rollup
0.913 (-10%)
2,592
873

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
8,723
27,094 (-2%)


[cc26x2x7] Implement Key Value Store

Problem

Fixes #7471

Change overview
Adds basic key value storage implementation for the TI platform.
Testing
Manual testing. Rendezvous was performed and the OpCSR was observed in NV with the CCS debugger.

I implemented a commit with the full 16 bit CRC by using the itemID as part of the subID. Currently this is HEAD^.
I also implemented a parallel list version. This can store 2^10 key/value pairs without any hashing. But it does maintain two NV items per key/value pair. I think this is more brittle, but it does remove the dependency on a hashing function.

This looks like good stuff, but I don't see any unit tests added for pretty key functionality here. Can we put something in place?

I don't think there is a unit test framework for this platform. But if you can point me to the documentation I would be happy to add one.
Is this the test driver in src/test_driver or the platform tests src/platform/tests/TestKeyValueStoreMgr.cpp or would this be the test application in examples/persistent-storage.

Added support for the persistent-storage test application.

/rebase

/rebase

@woody-apple have my changes addressed your request?


Adding routeMiddleware

Hey,
somehow creating new routeMiddleware does not work. I do not get an error, but the middleware does not kick in. Using a global middleware works fine.
I am thinking it might be to do with dingo having a different router? How do I register route middleware?
Any ideas? I am using Lumen 5.2.6.

Just place the middle ware in the api.php file:
 'middleware' => [
    ],

Hey, so I got it working by using the fully qualified namespace:
    $api->group([
        'namespace' => 'App\Api\V1\Controllers',
        'middleware' => [
            App\Http\Middleware\TestingMiddleware::class
        ],
    ], function($api){

Adding it to the middleware array does have a disadvantage, it is called for every route, not just the one I want.


Weight file for "yolox_x_mot20_ablation"

Hello.
Thank you for sharing the great work about multi-object tracking, and I hope this message finds you well.
I wanted to inquire about the availability of the weight file for "yolox_x_mot20_ablation."
If I click the link, access to the google drive is denied, and it is not able to download the weight file.
Can you let me know when I can expect to have access to the aforementioned weight file?
Your assistance is greatly appreciated.
Thank you very much for your help.

@kamkyu94  I have enabled file sharing permissions. You can try downloading the weight file.

Thank you so much!


If SFX is behind a firewall, what ports need to be open?

Obviously 19000, but anything else?

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

ID: 7d1345db-45da-3db7-4c3e-0db94c2ac675
Version Independent ID: e7f1d8ce-c7ca-95d8-833b-aa10f43d0aa7
Content: Connect securely to an Azure Service Fabric cluster
Content Source: articles/service-fabric/service-fabric-connect-to-secure-cluster.md
Service: service-fabric
GitHub Login: @athinanthny
Microsoft Alias: atsenthi

Thanks for the question. We are currently investigating and will update you shortly.

Below ports are used by service fabric:

Port 19000 : we use 19000 port for connecting the service fabric via the powershell.
Port 19080:  we use 19080 port for access the service fabric explorer.
Please refer to this doc for details: https://github.com/Azure/Service-Fabric-Troubleshooting-Guides/blob/master/Security/NSG configuration for Service Fabric clusters (Applied at VNET level).md

We will now close this issue. If there are further questions regarding this matter, please tag me in a comment. I will reopen it and we will gladly continue the discussion. :)

@Karishma-Tiwari-MSFT Thanks!  Unfortunately, it doesn't work and we don't know why.  We have 19000 opened up in our load balancer, as well as 19080.  SFX works.  When we try to connect we get:
WARNING: Failed to contact Naming Service. Attempting to contact Failover Manager Service...
WARNING: Failed to contact Failover Manager Service, Attempting to contact FMM...
False
Connect-ServiceFabricCluster : Could not ping any of the provided Service Fabric gateway endpoints.

We can run the same command on a computer behind the firewall, so we know the command is good.
We'll open up a support ticket, but we just wanted to make sure this was indeed possible to do and there wasn't anything obvious we were missing.


iam: add a very basic user policy smoke test

Signed-off-by: Abhishek Lekshmanan<EMAIL_ADDRESS>

depends on https://github.com/ceph/ceph/pull/31127

QA suite at http://pulpito.ceph.com/abhi-2019-12-04_17:41:25-rgw-wip-abhi-testing-2019-12-04-1433-distro-basic-smithi/, after fixing the user-policy qa pr, the tests were rerun at http://pulpito.ceph.com/abhi-2019-12-06_16:18:07-rgw-wip-abhi-testing-2019-12-04-1433-distro-basic-smithi/
S3tests have passed, but seeing (unrelated?) failures in swift & java tests

rebased...


tts for the chat bot

you'll need to create an endpoint in your website's backend that takes in text input and outputs the synthesized audio. You can use the Tortoise-TTS library in your backend code to generate the audio. Here's a sample code snippet in Python:
python
from tortoiseTTS import Tortoise
def generate_audio(text):
tortoise = Tortoise()
audio = tortoise.say(text)
return audio
You can expose this function as an API endpoint using a Python web framework like Flask or Django. For example, with Flask:
python
from flask import Flask, request
app = Flask(name)
@app.route('/api/synthesize', methods=['POST'])
def synthesize():
text = request.form.get('text')
audio = generate_audio(text)
return audio
if name == 'main':
app.run()
Note that this is just a basic example, and you may need to modify it depending on your specific use case. Also, be aware that generating audio can be a computationally intensive task, so you may want to optimize the code for performance if you expect a high volume of requests.

Optimization idea: store common audios in storage. Not planning to generate TTS on running computer, instead on api basis. Checking your code. Thanks

Output looks great. But needs a gpu and probably won't run on potato pc and definitely not small cloud hostings...scared ti use this one. Keeping it as a good option .

Output looks great. But needs a gpu and probably won't run on potato pc and definitely not small cloud hostings...scared ti use this one. Keeping it as a good option .

my brother uses aws its afordable for small use cases the charge on terabytes space and heavy usage or you can try linode

Output looks great. But needs a gpu and probably won't run on potato pc and definitely not small cloud hostings...scared ti use this one. Keeping it as a good option .

and you can always save it to a data base where it save multiable responses to the same question like 20 each

The issue is it doesn't generate same output, instead genetes random msg on every query, so caching might help but not always. generating every tts locally , i can smell my gou burnibg

Currently using edge-tts


Fix failing test because of hardcoded datetime

DateTimeProvider::dateTimeThisMonth() is working with -1 month as starting date. In the test the $max date was much older than that, and this is resulted in an error!

Oh, sorry. I forgot to update my project and did not see the fix :(

Anyway... Maybe this is a more future proof solution. 🤔

@davidporos92 any update on your PR?

@pimjansen Sorry for the late reaction, missed the notification


Generalized Terminology

Please change the program names according to proposed UI labels

As discussed with Narmatha old terminology to be used. Once the confirmation is given can change to new generalized terminologies.

It is Duplicate ticket


Shown borehole resistance on borehole resistance page

Currently, when using the gui with a dynamically calculated effective borehole thermal resistance, this resistance is only shown on the result page. It would be nice if this result could be shown on the page on borehole thermal resistance so changes to borehole parameters can immediately be evaluated.

This is implemented and merged into branch issue45-restructure-package.


URLConnectionLoadBalancer example is wrong

Current code does not use the retryHandler previously built

PR was provided: https://github.com/Netflix/ribbon/pull/242


Migration use for create new DatabaseView

Hi,
I actually have a database on version 1.
I've just add a new DatabaseView, visible on .g.dart file one the onCreate method:
await database.execute(             'CREATE VIEW IF NOT EXISTS 'CepParcelle' AS SELECT c.*, p.code as parcelle_code From cep c INNER JOIN parcelle p ON p.id = c.parcelle_id');
But i can't see the new view on my database schema, even if i delete install app on emulator and reinstall it.
Need i use 'migration' for add the new databaseView and set 1 to 2 on my database version like this :
@Database(version: 1, views[...]) --> @Database(version: 2,views:[...])
?
Thx a lot

Hi @sancho0410,
If I understand correctly, you have first created a database WITHOUT the DatabaseView.
Now you've added a DatabaseView but it doesn't appear and you wonder if you need a migration for it to become available?

But i can't see the new view on my database schema, even if i delete install app on emulator and reinstall it.

This almost sounds like the Database is somehow preserved. Which could possibly be, I've seen it before. Have you tried clearing the app's data?

Need i use 'migration' for add the new databaseView and set 1 to 2 on my database version like this :
@Database(version: 1, views[...]) --> @Database(version: 2,views:[...])
?

If you have users already on the first version of the database (version 1) and you want to add a DatabaseView, then YES, you need a migration.
DISCLAIMER: I'm pretty new to the package, but this is what worked for me:
I had to perform the following steps (assuming you've already created your DatabaseView Class):

Bump the version of your database:

@Database(version: 1, ...) --> @Database(version: 2, ...)

Add the DatabaseView to Database.views:

@Database(version: 2, views: [CepParcelle], ...)

Create a migration function:

final migration1to2 = Migration(1, 2, (database) async {
  await database.execute('CREATE VIEW CepParcelle AS SELECT c.*, p.code as parcelle_code From cep c INNER JOIN parcelle p ON p.id = c.parcelle_id');
});

Add the migration to the databaseBuilder:

final db = await $FloorMenuDatabase.databaseBuilder('app.db')
  .addMigrations([migration1to2])
  .build();

Run the build-runner again.

I hope this helpes!


A doubt about persistence

Does stored data persist even after updating my app via Apple Store, PlayStore or Expo OTA?

Yes.


Image style in Overlay

Summary
Hello, first of all thank you for this amazing librairy,
I would like to change the style of the image of my overlay (using the property transform)
But it doesn't change anything, could you please give me a solution or an alternative ?
Reproducible sample code
<Overlay
    bounds={[
        [
            parseFloat(location?.coords?.latitude),
            parseFloat(location?.coords?.longitude),
        ],
        [
            parseFloat(location?.coords?.latitude) + 0.01,
            parseFloat(location?.coords?.longitude) + 0.01,
        ],
    ]}
    image={{ uri: image.uri}}
    opacity={0.5}
    style={{transform: [{rotateX: '50deg'}]}}
/>

Steps to reproduce
Change the style of the image of an overlay inside a MapView
Expected result
Beiing able to change the angle of the image
Actual result
The image doesnt change when I pu a transform property inside the style props for Overlay, nor when I put it inside my image object, next to uri.
React Native Maps Version
1.3.2
What platforms are you seeing the problem on?
Android
React Native Version
0.70.5
What version of Expo are you using?
SDK 48
Device(s)
Asus Zenphone Max Pro M2
Additional information
No response

Well i just realised don't need to modify the picture using the style since i can juste change the bounds to change the angle, position and width.


Enable exporting adjecency matrix to sparse matrix

We need to add a property to export the graph's adj matrix to a sparse matrix, e.g. provided by scipy

scipy provides an implementation of the Compressed Sparse Row matrix here:
csr_matrix


ZEPPELIN-3484. sc.setJobGroup() shows up in error stack and shifts line numbering

What is this PR for?
This PR would call sc.setJobGroup and the user code separately.
What type of PR is it?
[Bug Fix]
Todos

[ ] - Task

What is the Jira issue?

https://issues.apache.org/jira/browse/ZEPPELIN-3483

How should this be tested?

CI pass

Screenshots (if appropriate)

Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

@Tagar Could you help review it ? Thanks

Ideally, setJobGroup would not fail. I check it just in case. And the error message will be propagated to frontend via streaming

Thanks @zjffdu - I will test this today.

works as expected.
thanks for quick turnaround!
LGTM.


Create .gitattributes to prevent unneeded files will be exported on publish to packagist

CI failed because of #75 and the not runned workflows..


[dv] Manually update dvsim config files

As per the discussion in #840, I've aligned the dvsim config files in dv/uvm/data as much as possible with their updated counterparts in the main OpenTitan repository.
Signed-off-by: Udi<EMAIL_ADDRESS>

This force push removes the sw_build target from sim.mk, as we do not need this for icache simulations.

For what it's worth, I've pushed up a PR with the dumping tidy-ups as https://github.com/lowRISC/opentitan/pull/2128.

@rswarbrick - The missed xcelium directory path is an easy fix, I'll get that pushed up today.
It looks like the remaining comments are regarding the general wave dumping mechanism - since your PR to reflect the code in Ibex is currently under review in OpenTitan, should we wait until lowRISC/opentitan#2128 is merged to reflect those changes here? Otherwise we'll probably have to open a second PR to manually update these files.

Let's leave those files unchanged in Ibex until that PR has been merged. I'm also working on some code at the moment that will get rid of lots of the OpenTitan paths from the hjson files. I was hoping it would be done by today, but looks like it will extend into tomorrow. Once that's merged, I'm hoping that we'll genuinely be able to vendor in the code from (OpenTitan's) hw/dv/data directory. We'll have some path changes on the Ibex side, obviously, but that should all come out in the wash, I think.

Sounds fine to me; I agree, hopefully we can properly vendor things in soon.
I'll fix the xcelium path and revert the vcs TCL files back to their original state later today (I'm currently attempting to remotely reboot my machine).

The latest force pushes fix the Xcelium pathname issue, delete vcs_vpd.tcl, and revert vcs_fsdb.tcl back to its original state.

Latest force push fixes the vcs_fsdb.tcl naming inside of vcs/vcs.hjson.


Add Support style prop for Button component

What do you think about support prop style for Button component ?
If yes i can do pr

Sounds good! Please proceed.


chore: avoid installing husky on CI with is-ci

:tada: This PR is included in version 9.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


FIX: replaced pysha3 with pycryptodome for Python 3.11 support

pysha3 does not work for Python 3.11+ as it runs into issues including pystrhex.h during compile. See https://github.com/tiran/pysha3/issues/15. Uses pycryptodome instead as an alternative library for generating kaccek digests, thus supporting Python 3.11 now.

I hope this PR will be considered by the author and merged.


Godot 4.0 Compailing error vulkan\loader unknown type name 'IDXGIFactory6'

Godot version:

Godot #4.0
commit 2830a152de98bb8e1f09a3228375028699f033ef
OS/device including version:

Windows 10 19009 / Intel graphics
Issue description:

Trying to compile the master branch on windows 10. Using gcc 9. I'm new on Godot. I do Apologize if make any funny action. I'm a bit excited about the Godot 4.0

=====
b"thirdparty\\vulkan\\loader\\loader.c: In function 'loader_create_instance_chain':\nthirdparty\\vulkan\\loader\\loader.c:6059:5: error: unknown type name 'IDXGIFactory6'; did you mean 'IDXGIFactory1'?\n 6059 |     IDXGIFactory6* dxgi_factory = NULL;\n      |     ^~~~~~~~~~~~~\n      |     IDXGIFactory1\nthirdparty\\vulkan\\loader\\loader.c:6060:42: error: 'IID_IDXGIFactory6' undeclared (first use in this function); did you mean 'IID_IDXGIFactory5'?\n 6060 |     HRESULT hres = fpCreateDXGIFactory1(&IID_IDXGIFactory6, (void **)&dxgi_factory);\n      |                                          ^~~~~~~~~~~~~~~~~\n      |                                          IID_IDXGIFactory5\nthirdparty\\vulkan\\loader\\loader.c:6060:42: note: each undeclared identifier is reported only once for each function it appears in\nthirdparty\\vulkan\\loader\\loader.c:6063:21: error: request for member 'lpVtbl' in something not a structure or union\n 6063 |         dxgi_factory->lpVtbl->Release(dxgi_factory);\n      |                     ^~\nthirdparty\\vulkan\\loader\\loader.c: In function 'ReadSortedPhysicalDevices':\nthirdparty\\vulkan\\loader\\loader.c:7088:5: error: unknown type name 'IDXGIFactory6'; did you mean 'IDXGIFactory1'?\n 7088 |     IDXGIFactory6* dxgi_factory = NULL;\n      |     ^~~~~~~~~~~~~\n      |     IDXGIFactory1\nthirdparty\\vulkan\\loader\\loader.c:7089:42: error: 'IID_IDXGIFactory6' undeclared (first use in this function); did you mean 'IID_IDXGIFactory5'?\n 7089 |     HRESULT hres = fpCreateDXGIFactory1(&IID_IDXGIFactory6, (void **)&dxgi_factory);\n      |                                          ^~~~~~~~~~~~~~~~~\n      |                                          IID_IDXGIFactory5\nthirdparty\\vulkan\\loader\\loader.c:7106:32: error: request for member 'lpVtbl' in something not a structure or union\n 7106 |             hres = dxgi_factory->lpVtbl->EnumAdapterByGpuPreference(dxgi_factory, i, DXGI_GPU_PREFERENCE_UNSPECIFIED, &IID_IDXGIAdapter1, (void **)&adapter);\n      |                                ^~\nthirdparty\\vulkan\\loader\\loader.c:7106:86: error: 'DXGI_GPU_PREFERENCE_UNSPECIFIED' undeclared (first use in this function)\n 7106 |             hres = dxgi_factory->lpVtbl->EnumAdapterByGpuPreference(dxgi_factory, i, DXGI_GPU_PREFERENCE_UNSPECIFIED, &IID_IDXGIAdapter1, (void **)&adapter);\n      |                                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\nthirdparty\\vulkan\\loader\\loader.c:7190:21: error: request for member 'lpVtbl' in something not a structure or union\n 7190 |         dxgi_factory->lpVtbl->Release(dxgi_factory);\n      |                     ^~\n"
=====
scons: *** [thirdparty\vulkan\loader\loader.windows.tools.64.o] Error 1
scons: building terminated because of errors.

Steps to reproduce:
Minimal reproduction project:

Duplicate of https://github.com/godotengine/godot/issues/44637

Duplicate of https://github.com/godotengine/godot/issues/44637

I'm using gcc (tdm64-1) 9.2.0

Then why i'm still getting error ?

I'm using gcc (tdm64-1) 9.2.0

Then why i'm still getting error ?

@Calinou I'm using gcc (tdm64-1) 9.2.0

@Calinou I'm using gcc (tdm64-1) 9.2.0

Try this version of GCC, latest one.

Try this version of GCC, latest one.

@Al-Shahrior I'm referring to the MinGW version, not the GCC version. GCC 9.x on Windows is paired with MinGW 7.0, which is too old to compile the master branch.

@Al-Shahrior I'm referring to the MinGW version, not the GCC version. GCC 9.x on Windows is paired with MinGW 7.0, which is too old to compile the master branch.

Привет @Xartorx  Thanks a lot. I managed to compile the master branch. It's took about 2.1 hour. And 1.09GB. Without WebM SIMD optimizations.

Привет @Xartorx  Thanks a lot. I managed to compile the master branch. It's took about 2.1 hour. And 1.09GB. Without WebM SIMD optimizations.

I managed to compile the master branch. It's took about 2.1 hour. And 1.09GB. Without WebM SIMD optimizations.

Linking with MinGW on Windows is quite slow. For development purposes, I'd recommend using MSVC instead.

I managed to compile the master branch. It's took about 2.1 hour. And 1.09GB. Without WebM SIMD optimizations.

Linking with MinGW on Windows is quite slow. For development purposes, I'd recommend using MSVC instead.

I managed to compile the master branch. It's took about 2.1 hour. And 1.09GB.

Or LLVM+MinGW tool chain, e.g. https://github.com/mstorsjo/llvm-mingw, LLD is much faster than GNU ld.

Without WebM SIMD optimizations.

To enable optimizations, add https://yasm.tortall.net/ executable to your PATH.

I managed to compile the master branch. It's took about 2.1 hour. And 1.09GB.

Or LLVM+MinGW tool chain, e.g. https://github.com/mstorsjo/llvm-mingw, LLD is much faster than GNU ld.

Without WebM SIMD optimizations.

To enable optimizations, add https://yasm.tortall.net/ executable to your PATH.

Or LLVM+MinGW tool chain, e.g. https://github.com/mstorsjo/llvm-mingw, LLD is much faster than GNU ld.

Didn't worked for me - went on 25+ minute linking process until LLD ran out of memory and crashed.
And with mono build it crashed with error.

Error:

[ 81%] b'lld-link: error: undefined symbol: thread-local initialization routine for GDMonoUtils::current_invoke_count
referenced by modules\mono\csharp_script.cpp
        libmodule_mono.windows.opt.tools.64.a(csharp_script.windows.opt.tools.64.o)
referenced by modules\mono\mono_gd\gd_mono_marshal.cpp
        libmodule_mono.windows.opt.tools.64.a(gd_mono_marshal.windows.opt.tools.64.o)
referenced by modules\mono\signal_awaiter_utils.cpp
        libmodule_mono.windows.opt.tools.64.a(signal_awaiter_utils.windows.opt.tools.64.o)
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
'
=====

Yeah, safest bet is using MSVC on Windows.

Or LLVM+MinGW tool chain, e.g. https://github.com/mstorsjo/llvm-mingw, LLD is much faster than GNU ld.

Didn't worked for me - went on 25+ minute linking process until LLD ran out of memory and crashed.
And with mono build it crashed with error.

Error:

[ 81%] b'lld-link: error: undefined symbol: thread-local initialization routine for GDMonoUtils::current_invoke_count
referenced by modules\mono\csharp_script.cpp
        libmodule_mono.windows.opt.tools.64.a(csharp_script.windows.opt.tools.64.o)
referenced by modules\mono\mono_gd\gd_mono_marshal.cpp
        libmodule_mono.windows.opt.tools.64.a(gd_mono_marshal.windows.opt.tools.64.o)
referenced by modules\mono\signal_awaiter_utils.cpp
        libmodule_mono.windows.opt.tools.64.a(signal_awaiter_utils.windows.opt.tools.64.o)
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
'
=====

Yeah, safest bet is using MSVC on Windows.

@Al-Shahrior which version ow mingw worked for you?

@Al-Shahrior which version ow mingw worked for you?

@slapin This version seem working.
This is the winlibs 64-bit standalone build of:

GCC 10.2.0
GDB 10.1
LLVM/Clang/LLD/LLDB 11.0.0
MinGW-w64 8.0.0
GNU Binutils 2.35.1
GNU Make 4.3
PExports 0.47
dos2unix 7.4.2
Yasm 1.3.0
NASM 2.15.05
JWasm 2.12pre

But whenever i use this use_lto=yes parameter i'm getting linking error don't no  if it's compiler issue.
I have open a new issue  for that #45470

@slapin This version seem working.
This is the winlibs 64-bit standalone build of:

GCC 10.2.0
GDB 10.1
LLVM/Clang/LLD/LLDB 11.0.0
MinGW-w64 8.0.0
GNU Binutils 2.35.1
GNU Make 4.3
PExports 0.47
dos2unix 7.4.2
Yasm 1.3.0
NASM 2.15.05
JWasm 2.12pre

But whenever i use this use_lto=yes parameter i'm getting linking error don't no  if it's compiler issue.
I have open a new issue  for that #45470


Component keypaths - RFC/Review

This was a TODO in Model.getKeypath(), and I bumped into it in one of my components. This adds accounting for the component instance and its mappings when getting the keypath for a model so that @keypath inside a component is relative to the component if the reference happens to be in the context of a mapping. Any events that fire inside a component will also get an adjusted keypath that is relative to the component.
This also adds a @rootpath and event.rootpath that are just the current @keypath and event.keypath i.e. not adjusted.
I started going a bit cross-eyed when trying to puzzle out how to handle keypaths that get updated and under which circumstances they do. I think I've sufficiently accounted for that by storing the adjusted keypath models on their component instance and registering them as children of the actual keypath model. Then, when one updates, it moves its cached instance on its component instance and continues the change propagation downstream.

Getting carried away with the @ thingies :trollface: So essentially, they're like "absolute paths" and "relative paths" for keypaths right? As long as they're consistent (and documented), this is a :+1:
Quick check on docs, there isn't a getKeypath or getRootPath method. Would it make sense to have those for the JS side of things?

Can't have too many special refs! :grinning:
The current @keypath basically has the "absolute" behavior now, but I figured it'd be nice to keep around. So I named it @rootpath, though I'm not opposed to axing it altogether or naming it something else. The "relative" version that this adds stems from a TODO comment leftover from #2022 and #1740. @keypath and @rootpath always resolve to the same thing if they're not in a component template.
I don't think there's really a place in the API for these since they deal strictly with template-related state. Aside from events, which were already included, the only other place that I can think of with keypath access is Ractive.getNodeInfo, and I just added that to this PR.

I just noticed that the shuffle test is failing in phantom, but it passes in Chrome and Firefox. Also Firefox has a failing decorator teardown transition test and a few enhancement tests. I'll have to look into those tomorrow.

Found a spot that I missed on the first run through that raised a question: should the _ractive added to element nodes store the keypath? It's readily available from the context and Ractive.getNodeInfo can easily supply it from there when requested.

@evs-chris I'm thinking let's merge this because it can fix the keypath problem.
As a follow up, rather than @rootkeypath and needing to add join paths to ractive (can't find that PR right now), why don't we implement a class for @keypath value that returns the string for toString and valueOf, but then we could hang props and methods off of it?

@martypdx I'm good with merging this as-is and then addressing any further issues (observers) or api adjustments in another PR. The only thing I was questioning was the way I set up keypath model children of other keypath models.

The only thing I was questioning was the way I set up keypath model children of other keypath models.

Can you provide more detail? I'm not following...

I added a nested component test and it comes out mostly as I expected. The only odd thing is that since there's not way to tell if a path was mapped or not at the reference point, this will always return the mapped path. <cmp foo="{{bar.baz}}"/> - cmp: {{#with foo.bar}}{{@keypath}}{{/with}} {{#with bar.baz.bar}}{{@keypath}}{{/with}} - yields: foo.bar foo.bar because they reference they same model and have a mapping to reverse.

because they reference the same model and have a mapping to reverse

I think that's acceptable for first go.
I played around with a MappedModel that wraps the underlying model, but if your solutions is working, let's move forward with that.
I'll go ahead and merge, then I can merge the observer * fix


Documentation code is deprecated

Thanks for stopping by to let us know something could be better!
PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response.
Please run down the following list and make sure you've tried the usual "quick fixes":

Search the issues already opened: https://github.com/googleapis/java-resourcemanager/issues
Check for answers on StackOverflow: http://stackoverflow.com/questions/tagged/google-cloud-platform

If you are still having issues, please include as much information as possible:
Steps to reproduce
The documentation in the readme file is old and shows code that has been deprecated a long time ago. Personally took me a few hours to figure it out to

get specific projects
update the project
create a new project
fetch a list of project

The current documentation focus on v1 of resourceManager which is deprecated and the latest version 1.2.5 version of the library resourceManager is on v3. The documentation and code samples need to be updated to show the latest code.
Any additional information below
Following these steps guarantees the quickest resolution possible.
Thanks!

Any particular docs you are referencing?  I can see both v1 and v3 on cloud.google.com

Hello @eaball35, I'm referring to the readme file on this library.

The readme has moved to https://github.com/googleapis/google-cloud-java/tree/main/java-resourcemanager/ It has updated library version.


Report is attached to a wrong branch

I'm trying to integrate CodeCov with our repo. We have C#, msbuild and VS Online for CI.
I followed instruction from the example and locally everything worked as expected.
When I try to integrate it with CI report is uploaded to a master branch rather than my local branch.
My ps script is:
..\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe -register:user "-target:C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "-targetargs:..\bin\Release\src\Adapters.Tests\Tests.dll /logger:trx" -hideskipped:All -output:.\coverage.xml

(New-Object System.Net.WebClient).DownloadFile("https://codecov.io/bash", ".\CodecovUploader.sh")
.\CodecovUploader.sh -f coverage.xml -t $env:CODECOVACCESSKEY -X gcov

VS Online shows me that I compiled my branch (it actually would not work in any other since I have CodeCov integration only in that branch). CodeCov.io shows that branch is master.
Please suggest why that may happen.

You can change the branch via -B branch. In linux we would call -B $(git rev-parse --abbrev-ref HEAD) but not sure how to translate that into Batch.

Thank you for the suggestion.
Apparently VSO does something weird because your command returns just "HEAD".
On the agent box after the build I get this:
git branch
* (HEAD detached at 3cff89a)
  master

And in VSO build logs I see this:
Running 'git reset --hard HEAD' on C:\Builds\CoreSDK\3\s.
HEAD is now at e8c4249 Switch to vstest.console.exe; add all tests
Starting fetch
Checking out 3cff89a4142ea72141f948efe3622b25ac0a5b60 to C:\Builds\CoreSDK\3\s
Checked out branch refs/heads/abaranch/tryCodeCov for repository XXX at commit 3cff89a4142ea72141f948efe3622b25ac0a5b60

I will try to find out a way to get a branch name and post back...

Ok, figured that out. Thank you for the suggestion.
Looks hacky but works
$lastCommit = $(git rev-parse HEAD)
$branchName = $(git branch --all --contains $lastCommit)[1].Trim().Substring("remotes/origin/".Length)

Thanks! We are looking to integrate with VS this year, so this process should be much better soon. Cheers!


Add Raman map

Hi,
Not sure where to send requests, so putting this here.
Can someone please add the concept of 'Raman map'? This is similar to 'infrared map' (http://purl.obolibrary.org/obo/CHMO_0001893) and is the outcome of performing Raman microscopy (http://purl.obolibrary.org/obo/CHMO_0000056)
While I don't need it, the concept of 'Fourier transform Raman map' might also be worth adding at the same time.
Please let me know how to go about making related requests, or how to become an editor.
Thanks,
Alex

This would be in the scope of allotrope more than this?
https://www.allotrope.org/ontologies


[Bug Report] Cannot reshape on device tiled tensor from (1, 1, 1[32], 1024) to (1, 1, 32,32)

Describe the bug
Though not optimal, reshaping 1D vectors into matrices is sometimes needed in GGML for inference. The new reshape code fails to perform such reshape. The following Python code demonstrates the issue
import ttnn
import torch

device = ttnn.open_device(device_id=0)
x = ttnn.from_torch(torch.ones(1024), layout=ttnn.TILE_LAYOUT).to(device)
y = ttnn.reshape(x, (32, 32))

With log
                  Metal | INFO     | Initializing device 0. Program cache is NOT enabled
                  Metal | INFO     | AI CLK for device 0 is:   1000 MHz
                  Metal | INFO     | MMIO Device 0 : Tunnel 0 : Device 0
                  Metal | INFO     | MMIO Device 0 : Tunnel 0 : Device 4
                 Always | FATAL    | dtype cannot be specified when converting to ROW_MAJOR_LAYOUT!

To Reproduce
Steps to reproduce the behavior:

Run the above python progeam
See error

Expected behavior
Reshape should work
Screenshots
If applicable, add screenshots to help explain your problem.
Please complete the following environment information:

OS: Arch Linux
commit: 876aff0e5582bc5504f581a5c4ea5780a5f4b1c9

Additional context
Add any other context about the problem here.

i spoke to @jvegaTT . He is aware of the problem and should be a simple fix he can get to this week.

I see the new GGML tag :)

I just verified the above code passes on main as shown below. The referenced commit is 4 days old and there have been multiple changes in reshape since then, it is possible the issue was corrected in one of those

I am closing the issue as it is working on our end, I also tested a reshape from (1,1,1,1024) to (1,1,32,32) directly and added PCC checking it also worked. If however there is still an issue, please reopen and I will investigate.

Weird. I am seeing the issue on yesterday's commit, even a complete rebuild.

Update: same symptom on e8465bc101b3e98721bd094309f8448f1800ae6f


Make travis more complicated for marginally faster builds!

The testing infrastructure is far too simple, so we must upgrade to use Travis's Docker-container-based CI.

this seems like a nice addition. thank you - i'll merge it :)


--key-type specifies invalid argument

[Enter feedback here]
The --key-type parameter is documented as having systemKeys as a valid argument, the CLI returns a response for invalid argument, it should be systemKey.

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

ID: 4246edfd-394e-4d61-360b-b95173159995
Version Independent ID: e5365558-9b77-c72f-7b6d-f42e36a0a52c
Content: az functionapp keys
Content Source: latest/docs-ref-autogen/functionapp/keys.yml
Service: azure-functions
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Thank you for opening this issue, we will look into it.

@PontiusTheBarbarian what's the cli version you are using.  I am using Azure CLI 2.47 and it asks me to enter "systemKeys"

Please upgrade your CLI and check again. Thanks.


Add new aliases

Adds aliases:

atom and rss for markup
webmanifest for json (see Web App Manifest).

It seems that the name atom collides with something, since it doesn’t get added to plugins/show-language/prism-show-language.js (or its minified version) when running gulp. I couldn’t find the reason for this.

Thank you for making this PR @valtlai!
Could you please clarify what "Atom" is? I only know this Atom and this atom.

It seems that the name atom collides with something, since it doesn’t get added to plugins/show-language/prism-show-language.js (or its minified version) when running gulp. I couldn’t find the reason for this.

Most language ids are just the name of the language in all-lowercase, so Show Language will try to guess the title by capitalizing the id. If that guess is correct, then the id-title pair won't be stored in prism-show-language.js.
If I remember correctly, we guess about 30% correctly, so this decreases the file size quite a bit.
Also, don't worry. If any aliases/ids collide, the tests won't pass.

Hi, @RunDevelopment!

Could you please clarify what "Atom" is? I only know this Atom and this atom.

It’s Atom feed, like RSS but less known.

Most language ids are just the name of the language in all-lowercase, so Show Language will try to guess the title by capitalizing the id. If that guess is correct, then the id-title pair won't be stored in prism-show-language.js.

Oh, that’s clever!

Thanks for the clarification.
One last thing before we merge this: Could you please revert the reordering? The ordering in prism-markup.js is a pure implementation detail and has nothing to do with the order in components.json. Also, I like the older order because it's roughly sorted from most-used to least-used.
I think it's ok if we just append new aliases. (If we created some rule for their ordering then we'd also have to write a test that enforces that rule.)

Thank you for contributing @valtlai!


Observable->toFlowable

First iteration of Observable->toFlowable.  Seeking feedback while still have work to do.

Have a single unit test right now, need to add more.
Cancellation does not work currently.

@nickgg this theoretically will be useful to you once it's done.

@nickgg @vjn Does this look okay now?

@nickgg alright, I think I removed the silly things I'd left behind :-)

Looks good to me from a code POV.

Anything from a non-code perspective?

I need a review approval before I can merge.

Oh, no - sorry I just meant I wasn't an expert in the RX side of things to comment. I'm happy to approve if you don't want to wait for vjn.

Cool :-) I appreciate the review!


Adds Turkish language support

LGTM. Thank you!

I have just published Humanize 1.2.4 which contains this change.


Infinite recursion with the stderr wrapper thing

Don't have a minimization yet, but it affects 0.11.5. Doesn't seem to be deterministic...
    for batch, tags in tqdm.tqdm(iterator, "eval"):
  File "/opt/levanter/.venv/lib/python3.10/site-packages/tqdm/std.py", line 1098, in __init__
    self.refresh(lock_args=self.lock_args)
  File "/opt/levanter/.venv/lib/python3.10/site-packages/tqdm/std.py", line 1347, in refresh
    self.display()
  File "/opt/levanter/.venv/lib/python3.10/site-packages/tqdm/std.py", line 1494, in display
    self.moveto(pos)
  File "/opt/levanter/.venv/lib/python3.10/site-packages/tqdm/std.py", line 1443, in moveto
    self.fp.write('\n' * n + _term_move_up() * -n)
  File "/opt/levanter/.venv/lib/python3.10/site-packages/tqdm/utils.py", line 196, in inner
    return func(*args, **kwargs)
  File "/opt/levanter/.venv/lib/python3.10/site-packages/equinox/_jit.py", line 162, in write
    self.stderr.write(data)
  File "/opt/levanter/.venv/lib/python3.10/site-packages/equinox/_jit.py", line 162, in write
    self.stderr.write(data)
  File "/opt/levanter/.venv/lib/python3.10/site-packages/equinox/_jit.py", line 162, in write
    self.stderr.write(data)
  [Previous line repeated 979 more times]
RecursionError: maximum recursion depth exceeded

somehow actually i'm getting segfaults and other memory corruption in multithreaded code in 0.11.5 and not 0.11.3 . Is there a less crazy way to suppress the error?

Eek! That's not good.
I'm not sure how you ended up with an infinite loop but I suppose the answer is "threading something something".
Perhaps we could arrange to replace stderr for only the main thread? That would cover the main use-case (of hiding the noisy default printout from eqx.error_if), hopefully without triggering your case here.
Absent a MWE then I'd be happy to take a PR on this, if you can identify such a fix.

Mostly notes for me (or @hawkinsp said he could maybe take a look).
I have isolated it to 2188e01, which isn't surprising. The newer variant (with flush, doesn't fix it, except that it makes wandb happier)
A non-minimal, but reasonably reliable, reproducer of a crash is here: https://github.com/stanford-crfm/levanter/tree/reproduce_eqx_crash
Running bash infra/repro_crash.bash will reproduce. It assumes a decent amount of setup of docker and such, but it's one line (after installing levanter). This "reproduction" is usually a stackless abort with no context at all. Previous versions will print the (supposedly) infinite recursion above, or some kind of memory corruption.
That branch separates the crash from tensorstore, ray, and wandb, which were my other suspects.
I'll think on the right way to address in Equinox. My suspicion is a judicious use of thread locals is in order.

Hey @patrick-kidger what's the code path that makes the _FilteredStderr thing useful? I can't find any tests that fail if i turn it off or even a test that calls write to stderr inside filter_jit

(in general this approach is clearly not threadsafe, though I still don't understand why it explodes.)

All good questions! I've just poked at this more carefully and noticed that really what's going on is that JAX is making a logging.warning, which in turn writes to stderr. I've switched from filtering stderr to filtering the log, and I've added a test for this as well.
Take a look at #849 -- how does this behave for you? Notably I've not tried doing anything with threads just yet, we may need to tweak this further.

OK, it's of course hard to know with multithreading issues, but it's not crashing with that branch. Thank you for the quick fix!

Sometimes 'not crashing' is the highest ideal we can aspire to in this industry.
Glad that works! We've picked up a few such bugfixes now so I'll do a new release shortly.


Fixes spelling errors

Fixes https://github.com/Ch3ck/AlGo/issues/46

Nice work @Imhotup Can you please squash all these into one?