k8s: update app protocol detection for k8s service port

Description:
This change updates the app protocol detection for a service port to eliminate an error scenario that results from using the same port for multiple protocols.
It does the following:

Only uses http implicitly for TCP based ports that do not have appProtocol or a valid protocol prefix in the port name.

Adds a warn log when implicitly using http as the app protocol for TCP based ports.

The result is that duplicate filter chain matches
are eliminated with the same port is used for different protocols, eg. port 8080 being used for TCP and UDP.
Resolves #5223

Testing done:
Unit tests

Affected area:

Functional Area

Control Plane
[X]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? no

Did you notify the maintainers and provide attribution?

Is this a breaking change? no

Has documentation corresponding to this change been updated in the osm-docs repo (if applicable)? TBD

changes look sane. I don't know if understand why we want the value to result in an error when building the config, If we know its invalid shouldn't we error early?
from the linked issue: When port.protocol is UDP, to not set MeshService.Protocol to http, but to leave it as is and let it result in an error log when the code that builds the config sees an unsupported protocol

changes look sane. I don't know if understand why we want the value to result in an error when building the config, If we know its invalid shouldn't we error early?
from the linked issue: When port.protocol is UDP, to not set MeshService.Protocol to http, but to leave it as is and let it result in an error log when the code that builds the config sees an unsupported protocol

It's not an invalid config per-se. The problem currently is that we see mysterious errors (duplicate filter_chain_match) that don't make the issue obvious when it occurs under certain scenarios. With this change, we'd get that error log to correctly root cause this potential scenario. Other than that, since we don't support UDP proxying, it also seems wrong to implicitly set the app protocol to http for UDP ports, which is addressed in this change.
Moreover, given this arises from the k8s service spec, it's hard to enforce how users author the config. Currently, the only thing we expect is to correctly configure app protocol selection.

It's not an invalid config per-se.

I guess I don't understand how we don't support UDP proxying, and it not being a valid config works together?  Do we support UDP in some scenarios and not others?

It's not an invalid config per-se.

I guess I don't understand how we don't support UDP proxying, and it not being a valid config works together? Do we support UDP in some scenarios and not others?

To clarify, it's a valid k8s config, but UDP proxying won't work in OSM. This would result in mysterious errors as I noted earlier, which would now be obvious with the code logging an error when it sees an unsupported protocol.

I guess my earlier comments stands. If we don't support UDP, Why let the config get written and an update pushed to envoy with bad configuration, then go searching for logs when something doesn't work as expected.  Wouldn't it be better user experience to fail earlier in the process?

I guess my earlier comments stands. If we don't support UDP, Why let the config get written and an update pushed to envoy with bad configuration, then go searching for logs when something doesn't work as expected. Wouldn't it be better user experience to fail earlier in the process?

It doesn't get pushed to Envoy with a bad config. We push whatever is correct. Whatever isn't currently capable is logged as an error. So in this case, TCP proxying would work for that port. This is consistent with how unsupported configs are handled, with an error log. We can't prevent users from creating k8s services. So in this case, we would suggest them to use a port exclusion rule if they want UDP proxying, so it bypasses the sidecar completely. But that doesn't mean that port will magically not exist in the k8s service config. The point of letting this fall through to the place where it logs an error is to not silently drop the config.

got it, Thanks for helping me understand!


Minor bug fix for mobile on boarding

What's this PR do?

Forces the browser to (0, 0) when you change slides in onboarding.

How should this be reviewed?

Any background context you want to provide?
no
Relevant tickets
Fixes #6997
Checklist

[ ] Tested on staging.

Do we know what is actually causing the issue? I feel this is a patch to cover the actual problem? Why is it dropping to the header?

@weerd good to go?

¡OLÉ! :sheep: it!
Just wanted to note here, that this may be an issue being cause because currently it seems the way we built it, React is being forced to re-render all 3 slides each time the prev or next buttons are pressed. This is not ideal. Something we may want to look at in the future.


Add list of all cmake-tools vscode commands (for command substitution) to documentation

The documentation here mentions command substitution in launch.json like, e.g.,
"program": "${command:cmake.launchTargetPath}"

My question is, what commands are available besides cmake.launchTargetPath. Where can I find a list of commands in the documentation? How do I find out which commands are available?

This document has the list.
We should update the debugger documentation to link there.

Thank you for the link.

The debugger documentation has been updated.  Thanks for helping us make it better!


Old and Combined Issues

@ilanbiala @lirantal Since you guys seem to be the most active collaborators lately, do you mind if I go through the older issues and mark ones that are resolved or have a discussion open in a newer issue to be closed?

that would be very helpful, thanks!


Transpiler target

Looks like the tests currently don't execute anything because they can't find the right environment. Tests are failing for me because the fixture linear_architecture_3q is missing.

Of course I forgot to commit the conftest.py 🤦♂


Chart style doesn't apply

Hi, first of all thank you for this library, it's a great work!
I built a dashboard in nodeJS and EJS displaying some graphs using the NvD3 library.
I don't know why but when I download the chart points are converted into big black dots.
I'm quite new to JS so there might be something wrong with my code...
The output on the dashboard:

The downloaded file.png:

The code for the graph:
    var chart = nv.models.scatterChart()
                  .showDistX(true)    //showDist, when true, will display those little distribution lines on the axis.
                  .showDistY(true)
                  .color(d3.scale.category10().range());

    //Configure how the tooltip looks.
    chart.tooltipContent(function(key) {
        return '<h3>' + key + '</h3>';
    });

    //Axis settings
    chart.xAxis.tickFormat(d3.format('.02f'));
    chart.yAxis.tickFormat(d3.format('.02f'));
    chart.xAxis.axisLabel(x_axis.replace(/_/g, ' '));
    chart.yAxis.axisLabel(y_axis.replace(/_/g, ' '));

    d3.select('#chart_' + chart_id + ' svg')
        .datum(data)
        .call(chart)
        .style({ 'width': 600, 'height': 600 })
        .append("text")
        .attr("x", 300)
        .attr("y", -6)
        .attr("text-anchor", "middle")
        .text(title);
    nv.utils.windowResize(chart.update);
    return chart;
  });

d = document.getElementById(svg_idd)
    saveSvgAsPng(d, "plot.png", {'backgroundColor':'white'});

I'm not familiar with NvD3, but I'm guessing that the chart's CSS styles have a selector that doesn't match against the SVG. See the readme for hooks to transform CSS selectors, and if you think this is truly a bug with this library, feel free to re-open this issue and supply a JSFiddle or equivalent that demonstrates the problem.

This was because of chrome security error throwing :

DOMException: Failed to read the 'cssRules' property from 'CSSStyleSheet'

Check this issue

Thanks for the update. Is there anything this library can do about that limitation? Even better error detection would be helpful.


Bad suggestion for a per deployment unique value using utcNow

This page suggests using utcNow() function to generate a unique value by using it in conjunction with uniqueString but unfortunately utcNow() function can only be used as a parameter default value in a bicep file.

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

ID: a36b1f58-7fc9-7d2f-108d-0a5c7c0c7c67
Version Independent ID: d295ee04-80c5-ba43-54d0-4594c2baa78d
Content: Bicep functions - string - Azure Resource Manager
Content Source: articles/azure-resource-manager/bicep/bicep-functions-string.md
Service: azure-resource-manager
Sub-service: bicep
GitHub Login: @mumian
Microsoft Alias: jgao

@Bazul99 Thanks for your comment. We will review the issue and get back to you shortly.

@Bazul99 - thank you for your comments.  I think the suggestion is ok, but need to remind people that utcnow() can only used to set parameter default value. Here is a example:
param uniqueValue string = uniqueString(utcNow())
output uniqueValue string = uniqueValue
I will update the article later today.
#please-close


update node version, @vsce/vsce, and fix build errors from node updat…

Update our signing so that we support the new signing support partially documented here: https://gist.github.com/dtivel/c0b722fe1756c2b614d7096bde602c66.
To complete this, it required updating our signing as well as our node version and vsce version, and the resulting changes required for building.
NOTE: I've locally verified that the new signing process worked.

Blocking comment to test some with the vsix to ensure it behaves as expected.

NOTE: I performed a super fast smoke test to make sure things were behaving as expected, and they are.


ExtensionPoint provision throwing checked exception causes compiler error

When an extension point provision method throws a checked exception, this exception won't be declared in the generated setup method causing a compiler error.
Two possible fixes:

IMHO, extension point provisions should not throw exceptions, it just doesn't make any sense. So, simply prohibiting extension point provisions that throw checked exceptions seems reasonable.

Then again, maybe the user has some good reason – I can't think of a good reason, but who knows. Declaring that exception as being thrown when building the configuration is also a possibility.

I tend to go for 1, because extension point provisions are usually just accessors for final objects, i.e. compositions. That's how you implement extension points. They don't throw. Then again, does it hurt to allow it? After all, 2 is only insignificantly more complex than 1.

I'm going for 2.
Yes, I consider it bad practice for a EP provision to throw an exception. But this is a compiler and it's not the compiler's job to impose what's good and bad practice, its job is to be consistent with the language. Since the language allows exceptions to be thrown from EP provisions, this case should to be handled correctly by the compiler.


#160922155 This checks if a user exists

What does this PR do
It checks the email of a user trying to register if its in the database. If it is, it requests the user to use a different email or login.

Pull Request Test Coverage Report for Build 157

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

Totals

Change from base Build 146:
0.0%

Covered Lines:
96

Relevant Lines:
99

💛  - Coveralls

Pull Request Test Coverage Report for Build 153

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

Totals

Change from base Build 146:
0.0%

Covered Lines:
96

Relevant Lines:
99

💛  - Coveralls


Mirroring a face or wire can misplace wires and create invalid geometry

In this example instance, the mirrored face looks fine initially. But when negatively offset, part at the top crosses over and (seems to) create 3 new edges. The unmirrored face does not have this issue.

from build123d import *
with BuildLine() as bd_l:
    Line((108.58, 44.175), (108.58, 71.15))
    EllipticalCenterArc(
        center=Vector(69.713384900205, 69.625551596677, 0),
        x_radius=38.8965,
        y_radius=38.8965,
        start_angle=2.2461361800515647,
        end_angle=31.622711700698396,
        rotation=0.0,
        angular_direction=AngularDirection.COUNTER_CLOCKWISE
    )
    Line(Vector(102.8345, 90.0199, 0), (100.302, 94.2913))
    EllipticalCenterArc(
        center=Vector(98.640007202038, 93.239969652525, 0),
        x_radius=1.9666,
        y_radius=1.9666,
        start_angle=32.31630539456188,
        end_angle=122.9624926651918,
        rotation=0.0,
        angular_direction=AngularDirection.COUNTER_CLOCKWISE
    )
    EllipticalCenterArc(
        center=Vector(50.839924471056,<PHONE_NUMBER>0158, 0),
        x_radius=86.937,
        y_radius=86.937,
        start_angle=-75.6480174141709,
        end_angle=-57.48526147396416,
        rotation=0.0,
        angular_direction=AngularDirection.CLOCKWISE
    )
    EllipticalCenterArc(
        center=Vector(2.0797538794043,<PHONE_NUMBER>1216, 0),
        x_radius=281.9336,
        y_radius=281.9336,
        start_angle=-89.9431487602918,
        end_angle=-75.5588909320381,
        rotation=0.0,
        angular_direction=AngularDirection.CLOCKWISE
    )
    Line(Vector(2.3595000000001, 75.0684, 0), (2.085, 75.0659))
    EllipticalCenterArc(
        center=Vector(2.0499755879332, 73.065006516938, 0),
        x_radius=2.0012,
        y_radius=2.0012,
        start_angle=88.99717496834309,
        end_angle=177.9956279905412,
        rotation=0.0,
        angular_direction=AngularDirection.COUNTER_CLOCKWISE
    )
    Line(Vector(0.05, 73.135, 0), (0.0579, 18.8293))
    EllipticalCenterArc(
        center=Vector(3.9300371532193, 20.059959525075, 0),
        x_radius=4.063,
        y_radius=4.063,
        start_angle=-162.36847552288572,
        end_angle=-126.99757592507173,
        rotation=0.0,
        angular_direction=AngularDirection.COUNTER_CLOCKWISE
    )
    EllipticalCenterArc(
        center=Vector(46.458434118276, 68.788099999992, 0),
        x_radius=68.73,
        y_radius=68.73,
        start_angle=-130.87033625155783,
        end_angle=-90.00002844221156,
        rotation=0.0,
        angular_direction=AngularDirection.COUNTER_CLOCKWISE
    )
    Line(Vector(46.4584, 0.0581, 0), (50.4351, 0.0576))
    EllipticalCenterArc(
        center=Vector(43.142390071729,<PHONE_NUMBER>7127, 0),
        x_radius=144.0266,
        y_radius=144.0266,
        start_angle=-87.09761770737784,
        end_angle=-69.05828449598486,
        rotation=0.0,
        angular_direction=AngularDirection.COUNTER_CLOCKWISE
    )
    EllipticalCenterArc(
        center=Vector(94.304900001699, 10.067150483852, 0),
        x_radius=0.75,
        y_radius=0.75,
        start_angle=-65.14857573001218,
        end_angle=-0.003856682207086237,
        rotation=0.0,
        angular_direction=AngularDirection.COUNTER_CLOCKWISE
    )
    Line(Vector(95.0549, 10.0671, 0), (95.035, 41.4891))
    EllipticalCenterArc(
        center=Vector(97.034975587933, 41.419106516938, 0),
        x_radius=2.0012,
        y_radius=2.0012,
        start_angle=88.997174968343,
        end_angle=177.9956279905412,
        rotation=0.0,
        angular_direction=AngularDirection.CLOCKWISE
    )
    Line(Vector(97.07, 43.42, 0), (107.83, 43.425000000000004))
    EllipticalCenterArc(
        center=Vector(107.83, 44.175, 0),
        x_radius=0.75,
        y_radius=0.75,
        start_angle=-90.0,
        end_angle=0.0,
        rotation=0.0,
        angular_direction=AngularDirection.COUNTER_CLOCKWISE
    )

edges = bd_l.edges()
# Edges are definitely connected
for i, edge in enumerate(edges):
    assert edges[i-1] @ 1 == edges[i] @ 0

face = make_face(bd_l.edges())
mirrored = mirror(face)
bad_face = offset(mirrored, -4)
good_face = offset(face, -4)

Oddly, if I wrap the above in BuildPart and BuildSketch, then finish with this, I get a mirrored face without this issue.
 with BuildPart() as bd_p:
      with BuildSketch() as bd_s:
              ...
      bd.mirror(bd_s.sketch)
      bd.extrude(amount=1)

face = bd_s.face()
bad_face = offset(face, -4)
show(bad_face)
# Promising!
show(offset(bd_p.part.faces().filter_by(bd.Axis.Z)[0], -4))

Looks like it is related to the face being reversed. The above show() grabs the bottom face, which ends up with the normal in the wrong direction.
If I do this to reverse it before offsetting it, the problem persists
show(offset(-bd_p.part.faces().filter_by(bd.Axis.Z)[0], -4).face())
However, if I reverse it after offset, the result is fine.
    show(-offset(bd_p.part.faces().filter_by(bd.Axis.Z)[0], -4).face())


title fix

📝 Changed routes:

/solutions/chains

(view full size)

Commit 861bb551de727898321fcb3ba68f09eccffd303c (https://thirdweb-10y3ef9h9.thirdweb-preview.com).


restore @query_params for index

fixes https://github.com/matthewdeanmartin/openmock/issues/16

Sorry for slow response, I'll publish to pypi shortly.


Code quality: RSA and rand

Code quality improvements for RSA and rand, mostly SAL, debug removal, and comments.

SC_OSSL_LOG_BYTES_DEBUG("SymCrypt pbPrivateExponent", pbPrivateExponent, cbPrivateExponent);

ditto

Refers to: SymCryptEngine/src/sc_ossl_rsa.c:1140 in 1122f0f. [](commit_id = 1122f0f99bd70b4f30cf5ee8c47d783974f3f51d, deletion_comment = False)

Awesome, I think this is looking very close to ready to merge - thanks for cleaning this up! :)
Just 1 outstanding comment, and I'll also double check unit tests on my side before approving.

I just ran unit tests - looks good to merge


provide method in resource for client_auth

see https://github.com/chef-cookbooks/tomcat/issues/188

Merged and the rubocop offense has corrected


Can you share the wallpaper?

https://github.com/cormiertyshawn895/PixelPerfect/blob/main/PixelPerfect/Screenshots/screenshot-animation.gif
I love PixelPerfect App.
I also like the blue wallpaper, can you share it?
Sorry about this issue.

Of course! The blue wallpaper is a simple gradient sampled from Mouse and Trackpad videos in System Settings.


Different gadgets cannot cancel each other out, meaning if a player uses a gadget on me in a negative way i cannot use my gadget to cancel the effect on me

optional, won't do


⚠ ClamAV has degraded performance

In 20880a6, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 456 ms

Resolved: ClamAV performance has improved in 0ab82e6 after 5 minutes.


add machine icons to help differentiate them in the UI

Add some icons of the device types to help tell them apart if there isn't an alias or if during a drinking session you forget which machine type a specific alias is mapped to 🍻.

❤


Prepended and Appended fields on form-inline

When you have a prepended or appended like this below on a form-inline it brokes.

    @
    <input class="span2" id="prependedInput" size="16" type="text">

Duplicate of #1948.

same pb. And it's not duplicte of 1948 IMO ...

This is a different issue than 1948.  Something like the following should work, but I haven't tested everything.
.form-inline .input-prepend input,
.form-search .input-prepend input {
  float:left;
}


Updated to support Theme

Thanks for your work here! I needed the Theme support so I finished out the work there based on Xterm's spec for themes.

Thank you @jasona 🤗
Would you like to add the documentation base on https://github.com/xtermjs/xterm.js/blob/master/typings/xterm.d.ts#L274 ?

Oh, yes! Will do. I'm out of town until Tuesday but will update then!

I will do it for you😉.

You're awesome! Thank you!

v1.2.0 has been released, good luck with your projects!


Doesn't "absolutify" URLs with /../ segments

The crawler does not seem to turn URLs including /../ segments (and probably also including /./ segments) into absolute / normalized URLs. This leads to duplication in the queue and committer sink.
E.g. I would expect a reference such as http://example.com/some-dir/dir2/../file to consistently be referred to as http://example.com/some-dir/file by the crawler. The latter is the URL that both should be put in the queue as well as used as the document reference (ID) when committing.
In actuality however, I see http://example.com/some-dir/dir2/../file being used throughout.
Example config:
<?xml version="1.0" encoding="UTF-8"?>
<httpcollector id="test-collector">
  <crawlers>
    <crawler id="test-crawler">
      <startURLs>
        <url>https://herimedia.com/norconex-test/this.is.not.a.file/test</url>
      </startURLs>
    </crawler>
  </crawlers>
</httpcollector>

Note that https://herimedia.com/norconex-test/this.is.not.a.file/test contains three links with /../ segments:
<!DOCTYPE html>

    <title>Norconex test</title>

    Norconex HTTP Collector Test Site
    Charset Test Large
    Charset Test Small
    No Extension Test

As a result, the crawler e.g.

queues https://herimedia.com/norconex-test/this.is.not.a.file/../../norconex-test.html.
This file links back to norconex-test/this.is.not.a.file/test.
The crawler then interprets that as https://herimedia.com/norconex-test/this.is.not.a.file/../../norconex-test/this.is.not.a.file/test. This file has previously already been crawled but that isn't recognized as the URL is not properly normalized.
Now it gets even crazier because the crawler processes the links again and now e.g. queues https://herimedia.com/norconex-test/this.is.not.a.file/../../norconex-test/this.is.not.a.file/../../norconex-test.html.
This will repeat indefinitely with more and more norconex-test/this.is.not.a.file/../../ repetitions until the crawler gets stopped.

Instead what should happen is that in (1) the crawler right away turns https://herimedia.com/norconex-test/this.is.not.a.file/../../norconex-test.html into https://herimedia.com/norconex-test.html even before queueing.
See here for a sample log.

This is already supported.   You have to enabled it in the URL normalization phase. Have a look at GenericURLNormalizer. You can enable it by adding removeDotSegments like this:
  <urlNormalizer class="com.norconex.collector.http.url.impl.GenericURLNormalizer">
    <normalizations>
        removeFragment, lowerCaseSchemeHost, upperCaseEscapeSequence,
        decodeUnreservedCharacters, removeDefaultPort, encodeNonURICharacters,
        removeDotSegments
    </normalizations>
  </urlNormalizer>

The other normalizations in the above example are the default ones always applied.
The reason removeDotSegments is not part of the defaults is because there is no guarantee it will not change URL semantics for all websites out there.
Please try with the above config snippet and let me know.

Ah yes, of course. I have the normalizations in all my production configs but was playing around with minimalistic test configs when I ran into this (non-) issue.
Many thanks for the prompt sanity check!


[BUG] It's taking about 3 to 7 minutes on the screen connecting to Roblox, never it didn't have this problem

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[X] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.8.1
What problem did you encounter?

Bloxstrap Log
It's taking about 3 to 7 minutes on the screen connecting to Roblox, never it didn't have this problem

can you please send your log file


Add package.json to JavaScript projects

Fixes https://github.com/Microsoft/vscode-azurefunctions/issues/1155
As part of this change, I also stopped writing down package-lock.json in the typescript scenario. I just don't think it's worth it. There's a lot of different versions of npm so it would change immediately for a lot of users anyways. The only previous concern was that people might get stuck in a bad situation if the latest version of typescript or @azure/functions has problems, but the user could easily change the version in their package.json - plus Microsoft owns both of those packages so I guess I'm fine taking that minimal risk.

They're trivial files and we don't want to take a dependency on the func cli when creating a project


css: Increase opacity of sidebar titles in dark theme.

0.5 opacity felt too light to make users miss their presence. This opacity reduction is only applied in dark theme to sidebar titles.
discussion: https://chat.zulip.org/#narrow/stream/101-design/topic/private.20messages.20section.20.2320870
before:

after:

I just pulled down the PR, and I think it looks good!
Just to check, are the titles now the same color as status text in the right sidebar?

status text has the same color but an opacity of 0.75 instead of 0.7. I can change the opacity for titles to 0.75 if it doesn't come off as too bright (as in standout with the content below) to you.

Another solution could be to make collapsed PMs brighter to match with top left sidebar buttons, since streams and users titles are pretty useless to highlight.

status text has the same color but an opacity of 0.75 instead of 0.7. I can change the opacity for titles to 0.75 if it doesn't come off as too bright (as in standout with the content below) to you.

Hm, @timabbott, perhaps we should play with this live? I don't have a clear preference here, other than avoiding colors that are just a bit different without a strong justification.

Another solution could be to make collapsed PMs brighter to match with top left sidebar buttons, since expanded PMs , streams and users titles are pretty useless to highlight.

Yeah, I dunno... It looks weird to me to have the PMs header be a different color from STREAMS, since they are clearly designed to match otherwise.

@timabbott tagging for us to take a look at this together.

Merged this with 0.75; that looked pretty reasonable and I agree matching the status text is good. (And I remember us trying 0.7 and 0.8 and feeling like 0.75 was in fact best).
Thanks @amanagr!


Fix redis pool handling

No need to close the redis pool any time there's an error, the pool
Dials new connections as needed.
remove all conn.Close() calls after errors, since the defer already
calls Close().
Prevent panics from the multiple calls to Close, and from returning
connections to a closed pool.
Fixes panics in #179

:+1: very nice


Gracefully tokenize invalid objects

From #947.
This PDF
<< /ColorSpace @pgfcolorspaces >>

raises
pdfminer.psparser.PSSyntaxError: Invalid dictionary construct: [/'ColorSpace', /b'@', /b'pgfcolorspaces']

The cause is that << /ColorSpace @pgfcolorspaces >>  is actually an invalid PDF object. With the current implementation @ and pgfcolorspaces are both tokenized as KWD's. Ideally this invalid object is tokenized as a single token with a different class from KWD.
The invalid PDF object has a << and >>. This indicates that it is a dictionary object (section 3.2.7). Dictionary keys are names (section 3.2.4) and the value can be any object. But the value in question (@pgfcolorspaces) is not a valid object because it starts with an @:

Booleans (3.2.1) are either true or false
Numerics (3.2.2) are numbers with a potential leading +, - or .
Literal strings (3.2.3) start with a (
Hexadecimal strings (3.2.3) start with a single <
Name objects (3.2.4) start with a /
Array objects (3.2.5) start with a [
Dictionary objects (3.2.6) start with a <<
Stream objects (3.2.7)start with a dictionary.
Null objects (3.2.8) are simply null
And indirect objects (3.2.9) start with a numeric object.

So starting an object with a @ is not an option in the PDF spec. So the question is: how should this unexpected object be tokenized?
Currently the tokenizer checks for a couple of special characters (%/-+.(<>) to recognize most objects (e.g. numerics, strings, names, etc.). If the token starts with a alphabetical character, it checks if it is a boolean and otherwise assumes it is a multi-character keywords (ending at the first whitespace or special character from above). All non-special non-alphabetical characters are assumed to be keywords.
This works well for PDF's with correct syntax. For example, the array keywords are parsed correctly ([ and ]). And the same for indirect objects (which use the keyword R). But for PDF's with incorrect syntax it puts all the "unexpected" characters on their on in a KWD. Ideally pdfminer.six distinguishes between expected and known keywords (using KWD) and other unexpected characters (using another class). I think that is the preferred solution here.

To add something here: we just tried pdfminer.six pdf2tex.py on this arXiv document: https://arxiv.org/pdf/2411.18626 and it failed with:
pdfminer.psexceptions.PSSyntaxError: Invalid dictionary construct: [/'AIS', /b'fals', /b'e', /'BM', /'Normal', /'CA', 1, /'OP', False, /'OPM', 1, /'SA', True, /'SMask', /'None', /'Type', /'ExtGState', /'ca', 1, /'op', False]

I guess it is correct, since there is an odd number of entries because the fals and e are split into two (no idea why).
What puzzles me is that:

qpdf --check reports no error
pdfcpu validate reports no error
okular/browsers display the document without any error
pdftotext produces output (although not really useful)

I am not sure what the correct solution is - but I would love to see a two fold approach:

a validate like command that returns a list of errors found
the text extraction part that tries to be resilient in case of errors like the above

Thanks for your work on all this!


adding useLocalize hook

Pull Request Test Coverage Report for Build 480

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 86.905%

Totals

Change from base Build 308:
0.2%

Covered Lines:
47

Relevant Lines:
54

💛  - Coveralls

Pull Request Test Coverage Report for Build 480

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 86.905%

Totals

Change from base Build 308:
0.2%

Covered Lines:
47

Relevant Lines:
54

💛  - Coveralls

Pull Request Test Coverage Report for Build 480

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 86.905%

Totals

Change from base Build 308:
0.2%

Covered Lines:
47

Relevant Lines:
54

💛  - Coveralls

Pull Request Test Coverage Report for Build 480

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 86.905%

Totals

Change from base Build 308:
0.2%

Covered Lines:
47

Relevant Lines:
54

💛  - Coveralls

Pull Request Test Coverage Report for Build 480

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 86.905%

Totals

Change from base Build 308:
0.2%

Covered Lines:
47

Relevant Lines:
54

💛  - Coveralls

Pull Request Test Coverage Report for Build 480

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 86.905%

Totals

Change from base Build 308:
0.2%

Covered Lines:
47

Relevant Lines:
54

💛  - Coveralls


Silent API

Hi,
I have gone through the code and in order to not trigger change event and set silent this is what we have done.
 var bs = $(company).bootstrapToggle().data('bs.toggle');
 bs.on(true);

is this correct?
Is there a better way to do it?
something like
$('#toggle-demo').bootstrapToggle('on,silent')

The use case is I ask the user a question in an alert to answer yes or no in JS change event when the toggle the checkbox. If the user answers no I should go back to the original state and not trigger the change.
Appreciate if this can be added to your API document
Thanks
Aswin

Hi @aswin1980
Thanks for the issue.
Support for silent toggle has been added and included in index.html demo.
Regular toggle:
$('#toggle-demo').bootstrapToggle('on')

Silent toggle (does not trigger onChange event):
$('#toggle-demo').bootstrapToggle('on', true)

Thanks


npm run dev -> TypeError: routeSegments.at is not a function

Wanted to try out the stack, installed via the getting-started.md instructions. Ran the setup command, and then tried to boot up the server (without touching any files or code) and got this:
➜ npm run dev

> dev
> remix dev -c "npm run dev:server" --no-restart

TypeError: routeSegments.at is not a function
    at getRouteSegments (/Users/timothymalcham/dev/uu/node_modules/remix-flat-routes/dist/index.js:356:23)
    at getRouteInfo (/Users/timothymalcham/dev/uu/node_modules/remix-flat-routes/dist/index.js:210:25)
    at /Users/timothymalcham/dev/uu/node_modules/remix-flat-routes/dist/index.js:119:33
    at defaultVisitFiles (/Users/timothymalcham/dev/uu/node_modules/remix-flat-routes/dist/index.js:382:13)
    at defaultVisitFiles (/Users/timothymalcham/dev/uu/node_modules/remix-flat-routes/dist/index.js:379:13)
    at _flatRoutes (/Users/timothymalcham/dev/uu/node_modules/remix-flat-routes/dist/index.js:113:9)
    at flatRoutes (/Users/timothymalcham/dev/uu/node_modules/remix-flat-routes/dist/index.js:44:20)
    at Object.routes (file:///Users/timothymalcham/dev/uu/remix.config.js:22:10)
    at Object.readConfig (/Users/timothymalcham/dev/uu/node_modules/@remix-run/dev/dist/config.js:248:40)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

Is there a recommended way of resolving this?

Tried reproducing this with the latest version and haven't run into this myself.
OS: Windows 10
Environment: WSL2
Based on the error log, obviously it's thrown from the remix-flat-routes package. Possibly a rare edge case, that I am having a hard time reproducing.
@timothymalcham still experiencing this?

I had the same problem, it was the node version.
Found the solution in the remix-flat-routes git: https://github.com/kiliman/remix-flat-routes/issues/44


Still no password management?

Tool is great, but, still no password management? is upset put password every time.
Nice work btw!

There is no plan to support this kind of thing.
You can use ssh key authentication instead of passwords.
https://www.digitalocean.com/community/tutorials/how-to-configure-ssh-key-based-authentication-on-a-linux-server
Thanks.

Thanks.


Add a License to Project

Hey @joshua-johnson-personal , I wonder what type of license I should add to this project.

Thanks @joshua-johnson-personal . I added the license file.


gnomeExtensions.pop-shell: unstable-2023-04-05 -> unstable-2023-04-27

This contains https://github.com/pop-os/shell/pull/1618, which should fix grab handling behaviour in GNOME/Mutter 44.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Successfully verified this fixes GNOME 44 and window grabbing again :+1:


Support for IPv6

Currently no functionality supports IPv6. This is known-limitation and if there is a need for this feature I might consider adding it long term.

#103 Will address and support IPv6 objects.

No plans to support creating these objects at this time.


Shell32 library

I added KnowFolders related funcitions and constants

Except for the IntPtr -> pointer the rest LGTM

Why is your src/Shell32.Desktop/Shell32.exports.txt file empty? It should have a bunch of function names in it. The AddNewLibrary.ps1 script generally takes care of this for you. Did it malfunction?
Could you perhaps try directly running CreateExportsTxtFile.ps1 to see if it can create it properly?

Strange. It seems that it failed. But the AddNewLibrary run.
File C:...\pinvoke\templates\CreateExportsTxtFile.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see
about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170.
+ CategoryInfo          : SecurityError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnauthorizedAccess

Is there any other way to populate it?

You could run this powershell command to unblock it, I think:
set-executionpolicy remotesigned

I'm working on this PR now to resolve some issues we've talked about.
Also, the ILFree method is missing, which evidently is a requirement when anyone calls SHGetKnownFolderIDList

Well, I've come away convinced that pointers were definitely important to retain here. The rules for these functions and how to free the memory they allocate are diverse, and there's no way the .NET Marshaler could handle it all automatically. It must be done with native pointers (or IntPtr) rather than marshaled so that the original pointer is available to free later. Helper methods can help keep things sane for the caller though.

SetLastError=true is inappropriate, because these functions don't document to use it.
Also you seem to be treating error codes as if they were Win32 errors by throwing Win32Exception, which is inappropriate because these functions return HRESULTs.

@vbfox please consider looking at arlm/pinvoke#2 to review the changes I'm proposing to this PR.

But before we can merge this PR, #248 needs to be fixed to avoid introducing a bunch of build warnings.

@AArnott  arlm/pinvoke#2 LGTM, nice that we can have tests for that. I don't know if the manual methods to change / get the value under an SHITEMID will be useful to anyone but the code LGTM.
(Make me think that I could create a NuGet version of my answer on how to open explorer with files selected http://stackoverflow.com/a/3578581/46594 now that we are adding shell functions)

Thanks.
Yes, I meant to add tests for my SHITEMID accessor methods. But I also found in debugging that the buffer appears to not be intended for direct consumption, so I can probably just remove them all.

I've removed the accessor methods and added doc comments warnings folks to always use pointers (or IntPtr) when handling these structs.

Thanks for your contribution, @arlm!


Feature request: Option to disable grouping

Version of Photo Location Map
1.9.0
OS
macOS
OS Version
13.6
Description
Thanks a lot for this useful tool. I would like to suggest a new feature.
I would like to have an option to disable the grouping of photos in the map.
I want to fix GPS coordinates stored  in images. The Google camera app on Android smartphones has an annoying “feature“ — if it doesn't have a good GPS signal yet, it just uses rough WIFI-based estimated coordinates instead of just leaving the EXIF values empty. I live in an area with a big harbour, having a wide area WiFi network, so if Google “sees“ that WiFi it put's coordinates in the EXIF tags that are multiple kilometers “off“.
Other apps don't store any coordinates in that case, so that images are easily identified and can be corrected manually. But I'd like to stay with the otherwise great Google GCam.
I was searching for a tool that displays one marker per each image. It would be great to have that feature.

This screenshot illustrates my problem. Two images are clearly “off track“, but those are difficult to find between all other files, because they have coordinates, but obviously on the wrong side of the river.

Hello @joergRossdeutscher
Thanks for your explanation about your issue.
I guess the option to disable grouping can be added.
The grouping feature is introduced because the ungrouped pins often overlap with each other and are not easy to use.
Therefore, it will be an option that is disabled by default but available for an advanced user like you.
I'm currently quite busy with my personal life and won't be able to take time for a while, so please don't expect it to be implemented soon.


Arm-ttk failing the usage of concat() in ARM-templates

We have faced an issue while using the Arm-ttk runner to static scan some of the ARM-templates which were infact exported from the Azure portal it self and directly used, which contains concat() in some of the URI attributes. Following is the failure message which shows in the Pipeline run logs.
[-] URIs Should Be Properly Constructed (51 ms)
Function'concat' found within 'iconUri Line: 45, Column: 3533
Function'concat' found within 'requestUri Line: 52, Column: 4575

We are facing a similar issue that only started today.
The ARM templates for ADF, Databricks and Synapse are all failing the Static testing.
Here's an Example....
ERROR MESSAGE
Microsoft.PowerShell.Commands.WriteErrorException: Function'concat' found within 'url in template file deploy.dataFactory.json
STACK TRACE
_tasks\RunARMTTKTests_\1.5.1\arm-ttk\testcases\deploymentTemplate\URIs-Should-Be-Properly-Constructed.test.ps1: line 34
_tasks\RunARMTTKTests_\1.5.1\arm-ttk\Test-AzTemplate.ps1: line 249
_tasks\RunARMTTKTests_\1.5.1\arm-ttk\Test-AzTemplate.ps1: line 313
_tasks\RunARMTTKTests_\1.5.1\arm-ttk\Test-AzTemplate.ps1: line 553
_tasks\RunARMTTKTests_\1.5.1\arm-ttk\Test-AzTemplate.ps1: line 699
_tasks\RunARMTTKTests_\1.5.1\invoke-ttk.psm1: line 17
_tasks\RunARMTTKTests_\1.5.1\invoke-ttk.psm1: line 120
_tasks\RunARMTTKTests_\1.5.1\powershell.ps1: line 40
Here's a snippet of the ARM template showing the use of concat().
  "name": "[variables('dataFactoryName')]",
  "type": "Microsoft.DataFactory/factories",
  "apiVersion": "2018-06-01",
  "location": "[variables('location')]",
  "identity": {
    "type": "SystemAssigned"
  },
  "properties": {
    "publicNetworkAccess": "Disabled",
    "purviewConfiguration": {
      "purviewResourceId": "[parameters('purviewResourceId')]"
    }
  },
  "tags": {
    "catalogUri": "[concat(variables('purviewAccountName'), '.catalog.purview.azure.com')]"
  },
  "resources": [
    {
      "name": "default",
      "type": "managedVirtualNetworks",
      "apiVersion": "2018-06-01",
      "dependsOn": [
        "[resourceId('Microsoft.DataFactory/factories', variables('dataFactoryName'))]"
      ],
      "properties": {}
    },

@riclandy - any chance you could attach (or send me) a complete template?  I know ADF/Datbricks can be a bit unwieldy but I'm not able to repro the stack trace with just your snippet above.  The flagging of the concat function is expected...

@erik-source and @bmoore-msft
Thank you for you help, the fix above partially works.
However, in the majority of cases where I need to update the code, the value only needs to be a baseurl
Therefore, if I need to use the URI function I have to pass in 2 values.
This works but leaves me with a trailing '/' , which I don't need in the ARM template. For example,
"baseUrl": "[uri(concat('https://', variables('keyVaultName'), '.vault.azure.net'), '/')]"
This example, also passed the test but the URL function adds a trailing '/'
"baseUrl": "[uri(concat('https://', variables('keyVaultName'), '.vault.azure.net'), '')]"
Is this the best way to focus on fixing the proper constructed url and uri's ?
Just thought I'd check with you incase there is a better option.

That is a good point, the docs for the uri function state "Creates an absolute URI by combining the baseUri and the relativeUri string." which is not how the concat function is being used in this case.
I noticed in one of the passing test cases a dot is used as the second parameter. I'm not an expert at URIs by any means but I suppose that's still a valid DNS name, albeit not a common pattern. And maybe I'm totally misinterpreting the usage of the dot there.
It would be easier to have the tests allow for URIs without path segments, but still need interpolation/format/concat. The DeploymentTemplate-Must-Not-Contain-Hardcoded-Uri test checks for this, so I imagine it will be very common.

I believe the trailing slash is part of the canonical representation of the URI - any code that deals with a uri would take that into account, any string manipulation would have to "manually".
Is the problem that you don't want/need the trailing slash or something in ARM doesn't allow it (which wouldn't surprise me).
Aside from that I'm not sure what we could do in the test, that would account for both cases - so the only option may be to skip it.

Thanks for the speedy replies!
We've decided to go the the trailing backslash.
"baseUrl": "[uri(concat('https://', variables('keyVaultName'), '.vault.azure.net'), '/')]"
It's working OK, the Arm-Ttk tests are all passing and the ARM templates are deploying without any errors.
Also tested that the ADF Pipelines are running fine without any errors.
(we had to alter the Post-deployment pester testcases to include the trailing / in the tests, but that isn't related to the Pre-deployment Arm-Ttk testing)
So far, so good.
Cheers

@bmoore-msft I think the only issue in our case is that we don't want/need it. If we don't need to combine a base and relative uri, I wouldn't expect to have to call the uri function, whose purpose is to combine a base and relative uri. Just feels unnecessary.
As you say, the result is still a valid uri and it has not broken anything for us. If this can't be accounted for in the test, I suppose we just have to deal with this quirk when writing our templates.

I also have issue with trailing slash in uri() function. Solved by using variables, instead of using
"catalogUri": "[concat(variables('purviewAccountName'), '.catalog.purview.azure.com')]"
I added variable:
"catalogHost": "[concat(variables('purviewAccountName'), '.catalog.purview.azure.com')]"
and in resource parameter:
"catalogUri": "[variables('catalogHost')]"

We might be able to get creative and check to see if it's just a hostName you're after... e.g. is the last arguement in the function fit a regex that looks like a TLD (...) of something like that...
Would have to think through it a bit to see if that has unintended consequences -- would also be a breaking change...  but I do agree with the scenario.  A hostname and a URI are arguably different things.


Errors after recompiling same dexes into jar

Issue details
Attaching file because too much code.
I really can't deduct whether or not these are even something to worry about, let alone understanding what they mean. But I am unsure why decompiling and recompiling the exact same .dexs into a .jar would show these?
Jadx version
1.5.0
Java version
21.0.3
OS

[X] Windows
[ ] Linux
[ ] macOS

JADX.txt

Can you please describe what steps you have performed to get Jadx-Gui into this state?
It seems like you are trying to load an unzipped APK file with multiple dex files.
Also what do you means by "recompiling same dexes into jar", what are you trying to do?

 The original stock .jar also shows exact same errors, so I guess OEM/ROM builder left them in.


Allow calling setup.sh from other scripts

Calling setup.sh from other scripts fails, for example when adding a new mailbox:
the input device is not a TTY

I'll merge this as the tests pass (sorry for being slow), but can you point to any resource that shows the difference between the built-in -t option and the tty command? I'd like to understand why tty is better than -t.

I noticed, that I was a little bit wrong. However the change is still valid. Let me explain:
The problem was not that my script was calling setup.sh, but my script was not attached to a TTY when used like:
migrate.sh < users.txt.
Without using < users.txt there would be no problem.
[ -t FD ] True if file descriptor FD is open and refers to a terminal.
-t only checked if there is a terminal, but not if there is a TTY attached.
docker -ti however expects a TTY.
Thats why -t 1 failed in my setup. USE_TTY was wrongly set, even if there was no TTY. Thats why the docker command failed with: the input device is not a TTY.
tty -s checks if there is a TTY and is therefor the correct test for the USE_TTY variable.


Claim ownership of the L2 contract

When a user bridges an NFT, a default token contract will be deployed on L2. Initially, the smart contract bridge will be the owner of this contract.
As the owner of an L1 collection, I must have the right to claim ownership of the token contract on L2.

For that we need to exactly defined how to claim the contract on L2
it can be done with the L1 smart contract owner address, but if the ownership has been dropped it can be tricky, after several discussion it can be done with a trust third party that validate that the contract is own by a specified entity like a company or something else


Update stable version in repo from 1.3.23 to 1.4.0

Think about update stable version to 1.4.0
Version: stable=1.3.23 (115 days old) => latest=1.4.0 (30 days old)
Installs: stable=4339 (55.28%), latest=327 (4.17%), total=7849
Click to use developer portal
Click to edit
Note: This is an automatically generated message and not personally authored by bluefox!
Do not close this issue manually as a new issue will be created if condition for update still exists
@mcm1957 for evidence

Is there any reason to delay updating stable any longer?
Please drop a commit if you know any reason to refrain from updating.
If there is no response until 25.03.2024 we could decide to update anyway.

https://github.com/ioBroker/ioBroker.repositories/pull/3399

This issue seems to be outdated.
This issue suggests to update the stable version of this adapter to 1.4.0 but the current stable version is already 1.4.0.
So this issue should be closed.
@mcm1957 for evidence


error

Hello! When I want to run the project then say "There was an error".


be able to change the npm dist tag

We should add some command line flags instead of using environment variables.

Yeah that would probably be better.


DataGrid: Throw exception when ServerData and Items are supplied (#8020)

Description
Resolves #8020
MudDataGrid parameters Items and ServerData are data providers. When both are provided, throw a exception to avoid confusion.
How Has This Been Tested?
I added a test to check this scenario.
Types of changes

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

This is breaking change, because all code was supplied both parameters ServerData and Items will stop to work.
But it's legit.
Checklist:

[X] The PR is submitted to the correct branch (dev).
[X] My code follows the code style of this project.
[X] I've added relevant tests.

@VoThanhTuan please explain your thumbs down.

@henon, I think @VoThanhTuan prefer safe fail over fast fail. Both have pro/con. What is the library's philosophy?

@henon, I think @VoThanhTuan prefer safe fail over fast fail. Both have pro/con. What is the library's philosophy?

Yeah I'd also prefer fast-fail.

I concur with fast fail on this issue.


[SPARK-32816][SQL] Fix analyzer bug when aggregating multiple distinct DECIMAL columns

What changes were proposed in this pull request?
This PR fixes a conflict between RewriteDistinctAggregates and DecimalAggregates.
In some cases, DecimalAggregates will wrap the decimal column to UnscaledValue using
different rules for different aggregates.
This means, same distinct column with different aggregates will change to different distinct columns
after DecimalAggregates. For example:
avg(distinct decimal_col), sum(distinct decimal_col) may change to
avg(distinct UnscaledValue(decimal_col)), sum(distinct decimal_col)
We assume after RewriteDistinctAggregates, there will be at most one distinct column in aggregates,
but DecimalAggregates breaks this assumption. To fix this, we have to switch the order of these two
rules.
Why are the changes needed?
bug fix
Does this PR introduce any user-facing change?
no
How was this patch tested?
added test cases

Merged build finished. Test PASSed.

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

Test build #128394 has started for PR 29673 at commit b1ce4b5.

@cloud-fan

Test build #128394 has finished for PR 29673 at commit b1ce4b5.

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

Merged build finished. Test PASSed.

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

Test build #128428 has started for PR 29673 at commit 4df4f7c.

Merged build finished. Test PASSed.

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

Test build #128428 has finished for PR 29673 at commit 4df4f7c.

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

Merged build finished. Test FAILed.

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

Test build #128480 has started for PR 29673 at commit 737f996.

Merged build finished. Test PASSed.

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

Test build #128480 has finished for PR 29673 at commit 737f996.

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

Merged build finished. Test FAILed.

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

Merged build finished. Test PASSed.

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

Test build #128504 has started for PR 29673 at commit f2111df.

Test build #128504 has finished for PR 29673 at commit f2111df.

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

Merged build finished. Test PASSed.

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

Test build #128540 has started for PR 29673 at commit 8510ff9.

Merged build finished. Test PASSed.

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

Test build #128540 has finished for PR 29673 at commit 8510ff9.

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

Merged build finished. Test PASSed.

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

thanks, merging to master!


Adding Grunt Plugins (TypeScript) in SAP Web IDE

I get the following Web IDE build error when I run through the subject tutorial:

Running "cleanTs" task
Warning: Path must be a string. Received undefined� Use --force to continue.
Aborted due to warnings.
[ERROR] Failed to build module grunt_tutorial_ui.

I have it integrated in with a basic MTA project as an HTML5 module (grunt_tutorial_ui).  I get the same error when I try it as a stand-alone project too.
For the stand-alone attempt, I have tried running the command to clean my npm cache, but that does not correct this issue.  The option to clean the npm cache is not available on the project as an MTA module, so I cannot try it from that project.
Please advise...

@michal-keidar  Can you help here?

Not really... It's hard to assist this way, more details are needed. I recommend to open a ticket.
As the reporter is an SAP employee, here are the instructions:
https://wiki.wdf.sap.corp/wiki/display/webapptoolkit/How+to+report+Web+IDE+bugs+or+Usability+Issues

This is not a bug with the IDE, so there is no bug to report.  However, this does appear to be a problem with the tutorial code.  All I'm hoping is that someone with more knowledge on this topic than myself would take this code, import it into SAP Web IDE as a stand-alone project (or MTA module) and build it to see the build error I described above, and (hopefully) deliver a solution for the tutorial.  This just leads to confusion when the tutorial code will not build nor run as described in the tutorial.
I should mention that I was able to get around the error by commenting out the cleanTs task code from the Gruntfile.js and commenting out the cleanTs task from the default grunt task.  When I did that, I got a successful build and was able to at least get the web page to display.

@bamajap We are removing this tutorial as the issues there cannot currently be solved. Sorry for any inconvenience.
If you have any further questions, please be in touch with Asaf Bruner

Understood, no worries.


Update devDependencies

@types/jest        ^26.0.19  →   ^26.0.20
@types/lodash     ^4.14.165  →  ^4.14.168
@types/node       ^14.14.13  →  ^14.14.25
semantic-release    ^17.3.0  →    ^17.3.7
ts-jest             ^26.4.4  →    ^26.5.0

Closes #92, closes #105, closes #107, closes #101 by superseding it

@tancredi you should pick up this PR since it's ready and updates all deps. :)


C# nullability

Steps:

Add ? and ! where appropriate
Add framework attributes in addition to JetBrains Annotations. We must not remove the annotations for older frameworks and VS support.

Thanks.
The PR is not ready yet. There is some work to do with annotating precisely code to reduce amount of warnings.
IMO if we are going with nullable , the best way is to set all nullable warnings as errors.
It is correct that attributes are not dependent on framework.
I added for the old frameworks in the library itself. Need to check whether it works the same way as JB.
I do think we must keep both since there could be enough people with ReSharper 2019 without good nullable support.
ReSharper got good support for C#nullable only starting 2020.2 and still it doesn't work 100% as expected .

I do think we must keep both since there could be enough people with ReSharper 2019 without good nullable support.

Nice argument and I'm going to strongly agree with you.
Can I help in the warnings battle? We can split the work, if you wish.

Sure, you can help 👍
First I am going to make tests pass and then will go back to nullable.
You can commit all your suggestions directly to the branch.
Just make small fixup commits and regular pull so we don't get out of sync.

I've added some missing nullable annotations.
I'm going to start fixing nullability warnings on evenings next week.  It looks like a pretty good amount of work so it'll take some time.

What do you say about errors for all nullable warnings ?
I do this in my project and this is good but sometimes annoying :)

I'd fix all warnings at first. Current analysers (both c# and ReSharper ones) may produce false positives sometimes.
As example,
class Helpers<T>
{
   public void DefaultArg([MaybeNull] T arg) {}
   public void Call() => DefaultArg(default); // < warning here
}

I use convention. JBNotNull and FWNotNull.
Do you think a better convention is to use fully qualified name instead ?

I use convention. JBNotNull and FWNotNull.

I'm fine with it and I've used it in my commits. The only thing, I've renamed FWNotNull to FwNotNull, as by .net naming guidelines.
We always can do find-replace if there will be any objections:)

MS doesn’t follow own convention which says 2 letters is okay for acronym.
So you have System.IO and IOException and DBNull but then they introduce ClientId:)
My point is whatever looks better we shall use, the convention contradicts itself with too many use cases.

My opinion that JB looks better than Jb , same for FW.
Also maybe one letter can be good enough for us?

My opinion that JB looks better than Jb , same for FW.

Okay, let's use FW then. I'm not going to commit anything until tomorrow so feel free to rename it back:)

Have you seen branch /feature/nullable_v3?

Yes. I saw.
I will take a closer look later when I have time.
There are several changes which are not good like removing JetBrains attributes. They must be preserved.
Do you suggest to take your branch as base one ?

I think that supporting old R# attributes is a double job, and I don't think that there are many people forced to use a Resharper versions from years ago.
As for the branch, there are 620 warnings in the old one and 3700 warnings in the current, so with the first work should be done less.

Not everyone is updated to the latest VS2019 16.8 and there are developers even not using VS2017.
I don't see a big problem supporting both.
Happily in current job we update every release and can easily use newer .NET Core version, but in the previous one, for instance, we couldn't afford that.

NRT support does not require a VS 16.8, as NRT has been added in C# 8.0/VS 16.3, not 9.0. And NRT works well even with FW 2.0 target (with Theraot, of course, to add System.Diagnostic.Annotation attributes). The only reason to use old attributes is to support old versions of R#/Rider that do not support C# 8.

There were issues with ReSharper even 2020.1 with NRT.
Only the upcoming 2020.3 has solved  issues I have discovered so far.


cannot use SqlDataProvider as data

Hi, I just added support for SqlDataProvider. Can you test using "dev-master" version and see if the problem is solved before I make a new release?
Thanks

Fixed on latest release.


Crash to desktop when invoking startPurchase and generateItems

Describe the bug
Invoking Steam.generateItems() will cause crash to desktop. This didn't happen on previous version where the generateItems function was taking int as quantity parameter.
To Reproduce
Steps to reproduce the behavior:

git clone -b godot4 https://github.com/CoaguCo-Industries/GodotSteam.git godotsteam
Compile the Godot Engine
Run Steam.generateItems()
Crash to desktop

Expected behavior
No crashing
Screenshots
N/A
Desktop (please complete the following information):

OS: Windows 11
Version Latest

Version of Godot:
Godot 4.2
Version of GodotSteam:
#e85ace6
Additional context
This might affect other all list-based arguments: generateItems, exchangeItems, getItemsByID, and startPurchase
godot.log:
Vulkan API 1.2.142 - Forward+ - Using Vulkan Device #0: NVIDIA - GeForce GTX 1060 6GB

{ "status": 1, "verbal": "Steamworks active." }
USER ERROR: FATAL: Index p_index = 1 is out of bounds (size() = 1).
   at: CowData<__int64>::get (.\core/templates/cowdata.h:158)

I'd like to attempt to fix this as I'm already have items I already working on for my projects.

OK, those got merged in.  Thanks again!  I'll add you to our contributor list tomorrow and make the appropriate patch notes!


is @getify/proper-arrows/params needed?

afaik eslint's max-params and no-unused-vars handle AsyncFunctionExpression

https://github.com/eslint/eslint/blob/master/lib/rules/max-params.js
https://github.com/eslint/eslint/blob/master/lib/rules/no-unused-vars.js

There's a slew of reasons for params rule. To quote our documentation:

Note: This rule mode resembles the built-in "no-unused-vars" rule, but instead focuses only on the parameters of => arrow functions.

So first, this plugin applies rules only to arrow functions, whereas those rules you cited are focused on all functions. I do not necessarily feel that all function types should have the same rules, so that's the reason why this plugin has these rules, focused only on arrow functions.
That's an important distinction. The philosophy of this plugin is to apply rules specifically and only to arrow functions, under the assumption that they might need different rules than other functions. ESLint core has a number of rules which apply more broadly, but there are "gaps" where you cannot apply some of the behaviors from this plugin to normal functions, even if you might like to. But that's not this plugin's concern. Someone could make another plugin that could apply the same kinds of rules to non-arrow functions.
The built-in "no-unused-vars" rule applies to all variables; there doesn't appear to be a way to restrict it to only deal with function parameters. This is undesirable in that it's too broad. I prefer the narrow scope of rule checking of params. Moreover, I want to apply the rules only to my arrow functions, not all my functions.
All rules in this plugin support the trivial config, which disables checking on certain kinds of "trivial" arrow functions, which are often so simple that it's inappropriate to apply the same rules to as you do to more substantial arrow functions. None of the built-in eslint rules let you exempt trivial arrow functions.
All of the checks/modes in params can also exempt from consideration parameters by name, using the allowed config. This is more powerful than the built-in eslint behavior, which has the argsIgnorePattern, but only for the "no-unused-vars" rule; it's not possible to define that for the "max-params" rule.

alright, I follow your reasoning. Thanks for nice explanation.


Failure in execution due to compatibility issues with the Primer Design System.

Description
I created a Next.js project that utilizes the Primer Design System framework. While building the project with yarn dev, there are no issues,

but an error occurs when using yarn dev —turbo.

Steps to reproduce

Install and initialize the project: yarn create next-app.
Add the framework: yarn add @primer/css @primer/react @primer/octicons-react styled-components sass @emotion.
Create the component PrimerThemeProvider.tsx

'use client'

import { ThemeProvider, BaseStyles } from '@primer/react'
import { StyleSheetManager } from 'styled-components'
import isPropValid from '@emotion/is-prop-valid'

export default function PrimerThemeProvider({
  colorMode,
  children,
}: {
  colorMode: 'light' | 'dark' | 'auto',
  children: React.ReactNode,
}) {
  return (

  )
}

Use the newly created theme and style management component in the layout.tsx file located in the root directory.

import type { Metadata } from 'next';
import<EMAIL_ADDRESS>import './globals.scss';
import PrimerThemeProvider from './components/PrimerThemeProvider';

export const metadata: Metadata = {
  title: 'Primer Demo',
  description: 'Primer Design System framework study.',
}

export default function RootLayout({
  children,
}: {
  children: React.ReactNode
}) {
  return (

        <PrimerThemeProvider colorMode='light'>

{children}

        </PrimerThemeProvider>

  )
}

Use Primer's styles and components in the page.tsx file located in the root directory.

import { ActionList, ActionListItem, Button } from './lib/primerDesignSystem'
import { BookmarkIcon } from '@primer/octicons-react'

export default function Home() {return (
    <>

ttttt

      <button className='mt-4 btn color-bg-attention color-fg-attention color-border-attention'>button 1</button>

      <Button className='mt-4 color-bg-accent color-fg-accent color-border-accent'>Click Me</Button>

12312sdfsfsfs

      <BookmarkIcon className="mt-4" size={24} />

      <ActionList className='mt-4' variant='inset'>
        <ActionListItem>Copy link</ActionListItem>
        <ActionListItem>Quote reply</ActionListItem>
        <ActionListItem>Edit comment</ActionListItem>
      </ActionList>
    </>
  )
}

The code for primerDesignSystem is

'use client'

import { ActionList } from '@primer/react'

export const ActionListItem = ActionList.Item

export * from '@primer/react'

Running the test command yarn dev as shown above is fine. However, when exiting and then running yarn dev —turbo, an error occurs.

Version
v36.2.0
Browser
Chrome, Safari, Edge

Hi @meiyingqishi 👋 Sorry for the trouble you're having here.
It looks like you're trying to import primer/css alongside primer/react. You shouldn't need to utilize primer/css as the React components include styles alongside them. I'm going to go ahead and close this issue, but please feel free to write back if this doesn't resolve your concern. Thanks!

I don't think it's due to this reason because there are no issues when running with yarn dev. The problem only occurs when running with yarn dev —turbo. I'm unsure if it's a compatibility issue with the new build tool in Next.js, Turbopack, or if it's a compatibility issue with your Primer Design System.

@meiyingqishi I have to admit that I'm unfamiliar with -turbo and cannot confirm that Primer has been tested for complete compatibility with Turbopack. We do plan for Primer to be compatible with Next.js, so if you're able to confirm whether that is part of the problem please let us know.


fix: the order of image_size is wrong

It appears that there are two instances of image_size in the code, and they are represented as (height, width) instead of the (width, height) format that OpenCV requires.
The rectified image produced with the incorrect image_size appears to be similar to the results obtained with the correct image_size (a very small offset). This might explain why the bug went unnoticed initially.

Hi,
Thank you for pointing this out and submitting a fix. This error went unnoticed for quite a while.


Fixes: Testimonial link not working #218

Related Issue
#218
Description
Replaced OpenSource with Home button and testimonial link links to the testimonial section
Type of PR

[X] Bug fix
[ ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)

Checklist:

[X] I have performed a self-review of my code
[X] I have read and followed the Contribution Guidelines.
[X] I have tested the changes thoroughly before submitting this pull request.
[X] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ ] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

Thank you for submitting your pull request! 🙌 We'll review it as soon as possible. In the meantime, please ensure that your changes align with our CONTRIBUTING.md. If there are any specific instructions or feedback regarding your PR, we'll provide them here. Thanks again for your contribution! 😊

@ashutosh-rath02 Please add gssoc and level label to this merge, since this merge has not been counted in my leaderboards.


Not Working with Vue CLI 3

The error I get is
This relative module was not found:

* ./public/assets/home/icon-notification.svg in ./src/pages/home/Home.js?vue&type=script&lang=js

This is all I'm doing in my component:
import Header from<EMAIL_ADDRESS>import Footer from<EMAIL_ADDRESS>import NotificationIcon from './public/assets/home/icon-notification.svg';

export default {
  name: 'home',
  components: {
    Header,
    Footer,
    NotificationIcon
  }
};

"dependencies": {
    "@fortawesome/fontawesome-svg-core": "^1.2.4",
    "@fortawesome/free-solid-svg-icons": "^5.3.1",
    "@fortawesome/vue-fontawesome": "^0.1.1",
    "@sendgrid/client": "^6.3.0",
    "@sendgrid/mail": "^6.3.1",
    "axios": "^0.18.0",
    "body-parser": "^1.18.3",
    "bourbon": "^5.1.0",
    "buttercms": "^1.1.1",
    "dotenv": "^6.0.0",
    "i": "^0.3.6",
    "npm": "^6.4.1",
    "prerender-spa-plugin": "^3.4.0",
    "swiper": "^4.4.1",
    "vue": "^2.5.17",
    "vue-meta": "^1.5.4",
    "vue-router": "^3.0.1"
  },
  "devDependencies": {
    "@vue/cli-plugin-eslint": "^3.0.4",
    "@vue/cli-service": "^3.0.4",
    "@vue/eslint-config-prettier": "^3.0.4",
    "ejs": "^2.6.1",
    "express": "^4.16.3",
    "node-sass": "^4.9.3",
    "sass-loader": "^7.1.0",
    "vue-svg-loader": "^0.10.0",
    "vue-template-compiler": "^2.5.17",
    "webpack-hot-middleware": "^2.24.2"
  },

In vue.config.js, I have:?
  chainWebpack: config => {
    config.module
      .rule('svg')
      .use('file-loader')
      .loader('vue-svg-loader');
  },

Yea I've also tried all possible combinations.

Have you tried this one?
import NotificationIcon from '../../../public/assets/home/icon-notification.svg';

Oh wow, sorry.. yes that works. Thanks a lot and sry for the silly mistake. I wonder why the normal assets/home/icon-notification.svg wasn't working.


Client Allocation Request for: asd

Client Allocation Questions
Core Information

Name: asd
Website / Social Media: asd, (asd, asd)
Region: Africa
DataCap Requested: 640 GiB
Addresses to be Notarized: asd
Notary Requested: Simon

This user’s identity has has been verified through filplus.storage

This user’s identity has been verified through filplus.storage


Still maintained?

Is this project still maintained? It doesn't seem to work at the moment, does the owner accept a new maintainer?

Hey @TooMuchLagWillKillYou — what issue(s) are you running into?
I'm still maintaining 😄 wasn't aware of any problems

cant work


LocalOsmosis

[ ] Add localOsmosis docs.

Done in stage, pending prod PR:
https://stage-docs.osmosis.zone/developing/tools/localosmosis.html#what-is-localosmosis


Use public slack link

Slack link in CONTRIBUTING.md only allows people with a @google.com, @caicloud.io, or @microsoft.com email address to sign up.

Update the link with link from kubeflow.org which allows anyone to sign up.

/assign @yuzisun

I did not know there is a shared invite, I know people has been complaining about this. Thanks for fixing it !
/lgtm
/approve


Site feedback

Hey Ryan,
Your site looks great!  The only thing I would say is to position your photo closer to your "about me" description. Other than that, keep up the good work :)
(we were supposed to leave feedback as an issue, I think)...
-C

Hey Christine,
Thanks for the helpful feedback! I'll definitely be changing up the site and making those two elements closer using some padding and margin techniques!
Best,
Ryan


Balance event page by moving elements on the right side.

In an effort to balance the event page, I moved a few elements like the toolbox and the similar events list on the right side. The left side is too long and will become longer when this bug is resolved [0]. @johngian @wraybowling @dailycavalier thoughts?
If this something that we want to proceed with, I will open a bug in order to document the effort.
[0] https://bugzilla.mozilla.org/show_bug.cgi?id=1106071

Closing this one due to inactivity. @akatsoulas feel free to reopen this PR when you revisit this.
Cheers :beers:


Add a Cached Compiler

Add a Compiler that integrates caching. This not only allows the Middleware to be more compact, it also enables intermediary builds to be re-used when the are 'fresh'.
Refs #30

Current coverage is 86.78% (diff: 100%)

Merging #33 into master will increase coverage by 0.12%

@@             master        #33   diff @@
==========================================
  Files            33         34     +1
  Lines           990        999     +9
  Methods         163        166     +3
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            858        867     +9
  Misses          132        132
  Partials          0          0

Powered by Codecov. Last update 442f631...76add53


✨ (signer-solana) [DSDK-549]: Add SignerSolana interface and models

📝 Description
Add SignerSolana interface with 4 functions:

signTransaction
signMessage
getAddress
getAppConfiguration

❓ Context

JIRA or GitHub link: DSDK-549

Feature:

✅ Checklist
Pull Requests must pass CI checks and undergo code review. Set the PR as Draft if it is not yet ready for review.

[ ] Covered by automatic tests
[x] Changeset is provided
[ ] Impact of the changes:

list of the changes

🧐 Checklist for the PR Reviewers

[ ] The code aligns with the requirements described in the linked JIRA or GitHub issue.
[ ] The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
[ ] There are no undocumented trade-offs, technical debt, or maintainability issues.
[ ] The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
[ ] Any new dependencies have been justified and documented.

signMsg()
getAddress()

We were thinking about this but in fact there is only the getAddress and signTransaction that are common for all the signer. also each input and output can vary a lot between blockchains so we dont bother with a complex interface with generic types

Just a suggestion : it turns out we have several XXSigner interfaces (Solana and Ethereum for example). What about having only one :
SignerInterface{
  signMsg()
  getAddress()
  ...
}

And several impl : SolanaSigner impl SignerInterface EthSigner impl SignerInterface
With this same logic, can we mutualise other classes like SignTransaction / GetAddress etc... and inject the signer in it?

We were thinking about this but in fact there is only the getAddress and signTransaction that are common for all the signer. also each input and output can vary a lot between blockchains so we dont bother with a complex interface with generic types


feat(core): add http.url sanitization

Which problem is this PR solving?
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes #2000
It seems like there hasn't been any activity on assignee for a while, so I made a PR.
Short description of the changes
Add sanitization of http.url attribution
Type of change
Please delete options that are not relevant.

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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A

Checklist:

[x] Followed the style guidelines of this project
[x] Unit tests have been added
 [] Documentation has been updated

Thank you for working on this!

I believe the sanitization should happen in the HTTP instrumentation, e.g.
* https://github.com/open-telemetry/opentelemetry-js/blob/main/experimental/packages/opentelemetry-instrumentation-http/src/utils.ts#L346

* https://github.com/open-telemetry/opentelemetry-js/blob/main/experimental/packages/opentelemetry-instrumentation-http/src/utils.ts#L468

* https://github.com/open-telemetry/opentelemetry-js/blob/main/experimental/packages/opentelemetry-instrumentation-fetch/src/fetch.ts#L211

* https://github.com/open-telemetry/opentelemetry-js/blob/main/experimental/packages/opentelemetry-instrumentation-xml-http-request/src/xhr.ts#L338

In this way, we don't cost extra sanitization for HTTP semantic conventions in the general SDK for all spans.

I agree :+1: We discussed this in the SIG meeting yesterday and the consensus was that this is the best way to move this forward.

@legendecas thank you!
So, I'm thinking of implementing Sanitaize processing with getAbsoluteUrl, but what do you think?

So, I'm thinking of implementing Sanitaize processing with getAbsoluteUrl, but what do you think?

For what it is worth, getAbsoluteUrl in instrumentation-http should have already formatted the URL without credentials. However, there is no test to verify it.
Additionally, instrumentation-fetch and instrumentation-xhr didn't handle this well (as linked above). So I believe the http.url should be sanitized in the fetch and xhr instrumentation and add tests to cover the conditions.


use tag image in Makefile when tagging the release

If I checkout v0.2.3 [1] or v0.3.2 [2] tag of devworkspace operator, the Makefile still reference :next tag so make install command doesn't work out of the box
I think release process [3] should also update Makefile when cutting a release

it should be fixed already, at least 0.7.2 seems to have the right values https://github.com/devfile/devworkspace-operator/blob/v0.7.2/Makefile


Clean up API

Rename Reader -> Decoder
Return a parsed packet from the decoder
Return only a parsed packet (no header) from Unmarshal

Am I missing anything? I want to make the API more consistent and easy to use for the v2 release.

@kixelated I know you had some opinions about Reader too

Thanks for the review.
The idea behind doing Decode rather than Read is that Read doesn't match the stdlib's io.Reader interface so some may be confused. Decoder is like encoding/json's Encoder/Decoder and matches the Marshal/Unmarshal methods.


Add files via upload

@ahmed-raza-ssuet I am sorry, the domain ssuet.edu.pk is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Find a safer way to integrate with lxml

lxml's maintainer here. Users have run into numerous issues in the past due to incompatible libxml2 versions being used by lxml and xmlsec. This is because xmlsec is usually built against system installed libraries, whereas lxml bundles libxml2 and libxslt to ease the otherwise difficult installation. Thus, both can end up using different library versions that make different assumptions about the C tree structure and its handling, as well as missing configuration state (see #239, for example). lxml has about 100x as many downloads as xmlsec, so most users don't use both together, and thus, both have different needs regarding their installation and user base.
I would like to improve the situation by making lxml and xmlsec more independent from each other.
Most xmlsec features seem to rely on serialisation, probably C14N, which can be left to lxml. Exchanging serialised byte buffers should trivially avoid compatibility issues.
At which places does xmlsec need actual access to libxml2 trees? How can we get them to use a safe but efficient data exchange?

Looks like python-xmlsec uses both the libxml APIs and the lxml C API 😅
Unfortunately it looks like this repo is pretty unmaintained at the moment (but here's hoping someone steps up to do something about that!).

I think @jimjag is gonna fork it. 🙏

@scoder is there a way check what version of libxml2 lxml is using via the C api?
Maybe a way to approach this is to check the libxml2 version being used by both lxml and xmlsec and raise and exception if it is not compatible.
It's not as elegant as your suggestion but it seems like an easier change to make and it would at least alert users of the issue instead of having to try to figure out what is causing a segfault.

@jonathangreen does it have to be C API?
from lxml import etree

print("%-20s: %s" % ('libxml used',      etree.LIBXML_VERSION))
print("%-20s: %s" % ('libxml compiled',  etree.LIBXML_COMPILED_VERSION))

from https://lxml.de/1.3/FAQ.html#i-think-i-have-found-a-bug-in-lxml-what-should-i-do
That's how I am testing a few combinations on macOS today with your xmlsec.get_libxml_version() in<PHONE_NUMBER>e3efea4a69e0616eecfd55eb9a7818

@yhlee-tw it would be much easier if we could do the comparison in python but unfortunately the integration with lxml is done via the lxml c api. There really isn't any python code as part of this package.
I took a look at the lxml c api and I don't see a way to get the libxml version being used, but I was hoping @scoder or someone more familiar with the lxml c api might have a suggestion.

@yhlee-tw it would be much easier if we could do the comparison in python but unfortunately the integration with lxml is done via the lxml c api. There really isn't any python code as part of this package.
I took a look at the lxml c api and I don't see a way to get the libxml2 version being used, but I was hoping @scoder or someone more familiar with the lxml c api might have a suggestion.


starcoder engine building failed

The error occurs when I convert from ft to engine.
Error info:
[10/21/2023-07:49:30] [TRT] [E] 9: Skipping tactic0x0000000000000000 due to exception PLUGIN_V2 operation not supported within this graph.
[10/21/2023-07:49:30] [TRT] [E] 10: Could not find any implementation for node {ForeignNode[GPTLMHeadModel/layers/0/attention/qkv/CONSTANT_1 + GPTLMHeadModel/layers/0/attention/qkv/SHUFFLE_0...GPTLMHeadModel/layers/0/attention/PLUGIN_V2_GPTAttention_0]}.
[10/21/2023-07:49:30] [TRT] [E] 10: [optimizer.cpp::computeCosts::4040] Error Code 10: Internal Error (Could not find any implementation for node {ForeignNode[GPTLMHeadModel/layers/0/attention/qkv/CONSTANT_1 + GPTLMHeadModel/layers/0/attention/qkv/SHUFFLE_0...GPTLMHeadModel/layers/0/attention/PLUGIN_V2_GPTAttention_0]}.)
[10/21/2023-07:49:30] [TRT-LLM] [E] Engine building failed, please check the error log.

Problem solved using TensorRT-9.1.0

Thanks a lot for the update and for closing the issue.


Occasional Memory Access Fault (GPU)

Hello
I seem to have stumbled over a bug in the program - at first it all run fine, but while I was fiddling and with some parameters restarting the training multiple times the code suddenly crashed.
Here's what happened:

INFO:root:Using the privateuseone:0 backend.
Accessing device #0:gfx1100 on AMD Accelerated Parallel Processing
INFO:root:TRAINING STARTING
Epoch 0
Epoch 17] - 99.9%  STEP: [HISTORY]
Memory access fault by GPU node-1 (Agent handle: 0x5d8d620) on address 0x7f810481d000. Reason: Page not present or supervisor privilege.
[1]    18956 IOT instruction (core dumped)  /home/france1/ZFS/AI/.conda/bin/python /home/france1/ZFS/AI/GAN/main.py

It crashed after the first epoch, probably in the middle or the start of the first one.
It has been training a DCGAN network - see the architecture:
    class Generator(nn.Module):
        def __init__(self, coding_sz) -> None:
            super().__init__()

            self.net = nn.Sequential(
                nn.ConvTranspose2d(coding_sz, 1024, 4, 1, 0),
                nn.BatchNorm2d(1024),
                nn.ReLU(),
                nn.ConvTranspose2d(1024, 512, 4, 2, 1),

                nn.BatchNorm2d(512),
                nn.ReLU(),
                nn.ConvTranspose2d(512, 256, 4, 2, 1),

                nn.BatchNorm2d(256),
                nn.ReLU(),
                nn.ConvTranspose2d(256, 128, 4, 2, 1),

                nn.BatchNorm2d(128),
                nn.ReLU(),
                nn.ConvTranspose2d(128, 1, 4, 2, 1),

                nn.Tanh()
            )

        def forward(self, input):
            return self.net(input)

    class Discriminator(nn.Module):
        def __init__(self, coding_sz) -> None:
            super().__init__()

            self.net = nn.Sequential(
                nn.Conv2d(1, 128, 4, 2, 1),
                nn.LeakyReLU(0.2),
                nn.Conv2d(128, 256, 4, 2, 1),
                nn.BatchNorm2d(256),
                nn.LeakyReLU(0.2),
                nn.Conv2d(256, 512, 4, 2, 1),
                nn.BatchNorm2d(512),
                nn.LeakyReLU(0.2),
                nn.Conv2d(512, 1024, 4, 2, 1),
                nn.BatchNorm2d(1024),
                nn.LeakyReLU(0.2),
                nn.Conv2d(1024, 1, 4, 1, 0),
                nn.Sigmoid()
            )

        def forward(self, input):
            return self.net(input)

    netG = Generator(CODING_SIZE).to(device)
    netD = Discriminator(CODING_SIZE).to(device)

    def weights_init(m):
        classname = m.__class__.__name__
        if classname.find('Conv') != -1:
            nn.init.normal_(m.weight, 0.0, 0.02)
        elif classname.find('BatchNorm') != -1:
            nn.init.normal_(m.weight, 1.0, 0.02)
            nn.init.constant_(m.bias.data, 0)

    netG.apply(weights_init)
    netD.apply(weights_init)

I guess it'll take you a hard time debugging, especially since I have not provided you any further information.
If you would like me to try something to discover the bug in the code, I would be happy to help.
It could as well be a problem with the underlying driver, because I have seen abrupt crashes of the screen output and things messing up. I doubt the card arrived broken, because on Windows it's running okay.
Happy working and have a great time

Have you tried to reduce memory consumption? Reduce batch size.
IIRC these issues sometimes happen when no memory left and AMD driver generally allows over-committing memory such that sometimes you may think you use GPU memory but it is paging it to CPU.
I would start from that.

Hmm, no, I am sure it was not memory. I've got 40GB and not more than 4GB were used. Also consider that it came up pretty random - and now I've been training with a large batch size of 128 and there was no such issue.
But while it was training it just suddenly got stuck - the python process would not finish (UGH NO GOD while writing on another device the display output got messed again - everything crashed) and even after killall python the GPU remained at 100%.

This is what just happened when I tried logging into the crashed system.


fix: upgrade Flask-Caching>=1.10.0

SUMMARY
Fixes #15258
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[x] Has associated issue: #15258
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Please advise if it needs a unit test since it uses CACHE_TYPE: 'simple' the current cache_tests:
https://github.com/apache/superset/blob/2cf99467fc49e9a99045215544bf92982655cdb0/tests/cache_tests.py#L68


Only do NewRelic magic if $NEW_RELIC_ID is defined

Please move all this to config/environments/production.rb.

Looks good. Let's move to production.rb if it works. I was messing up with the previous staging setup. It was behaving like "ENV=production" but it did not have NewRelic plugin activated. Then I messed up with so many things I cannot even recall anymore if moving out from production.rb to initializer was the thing that actually worked and solved it. But now it can be easily tested. If production.rb works, let's use per ljuti suggestion. tmatilai, would you like to test?

OK, I'll test with a private Heroku app with and without newrelic addon.

Does not work. Seems that config/environments/production.rb is called too early and all required instances have not been initialized.

If that's the case, can you add Rails.env.production? condition?

Sure, but is that really needed? If NEW_RELIC_ID is set and Unicorn and NewRelic gems are installed in in a non-production environment maybe the user really wants to use it?
I'm sorry, but I fail to see the problem that this is causing in non-prod environments...

If the current conditions no longer cause application boot up failures in development and NewRelic is also used in other environments than production, then there's no need to add that.


Extension/override of library methods

Is your feature request related to a problem? Please describe.
I need to make adjustments to the chart that go beyond what is achievable with chart configuration. I need to make changes to the library methods which are drawing the chart, more specifically I need to override about half methods of the Pie class, with drawArcs method to be most heavily modified. I could not find this class in global namespace or chart instance, looks like it is created using some sort of factory function, but I can't understand if it possible to somehow modify its creation.
Describe the solution you'd like
I need to know if it is possible to override Pie class method and so than how should I do that. Adding that to documentation and providing a simple example would be great.
Describe alternatives you've considered
I can modify library directly but its not desirable.

This is a great library. Unfortunately, the lack of extensibility forces us switching to https://www.chartjs.org/docs/latest/developers/plugins.html

Closing since if there was an existing method someone would probably described it by this time. I have made changes I needed to the library directly.