Support half precision in Metal shaders

Cross compiling to MSL seems to remove precision qualifiers specified in the source ESSL shader. For example, variables specified as "mediump float" should be translated as "half" in MSL.
For reference, using glslang to generate SPIR-V and then translating it back to ESSL using correctly retains precision qualifiers.

The type qualifiers for MSL are driven by the size of the OpTypeFloat in the SPIR-V. MSL will output "half" floats when the size of a OpTypeFloat is 16 bits.Do you have a

I've attached a simple fragment shader with its compiled SPIR-V. I don't see an explicit 16-bit OpTypeFloat, but converting the SPIR-V to GLSL using:
spirv-cross --version 300 --es frag.spv > converted_shader.glsl
has the correct precision qualifiers.
example.zip

The SPIR-V you submitted includes the RelaxedPrecision decoration on the variables. We may be able to use that to make the MSL type declarations output as half instead of float.
But I am a little wary of doing that across the board. According to the SPIR-V spec, the RelaxedPrecision decoration influences execution and calculations, but not the reading and writing (loading and storing) of values...which are still done as 32 bit values.
By contrast...declaring variables as half in MSL would read and write them as 16 bit values. This would be appropriate for an OpTypeFloat 16...which is what happens right now...but I'm not sure that a RelaxedPrecision decorations should have the same effect.
So...I'd like to discuss and get a consensus before making changes.
@HansKristian-ARM  If you have some background on this from the ESSL side, can you weigh in here, please?

Under what conditions would OpTypeFloat 16 be explicitly generated as part of SPIR-V? Are there GLSL or ESSL shaders that would trigger that?
Should we be considering a RelaxedPrecision decoration to declare variables as 16 bit precisions..effectively overriding their OpTypeFloat 32 declarations?
Should we treat this differently between fragment and vertex shaders?

RelaxedPrecision can apply to variables according to the spec, so it seems reasonable to make variables which are relaxed precision into half. This can get messy if implicit casting between half and float is not supported, because RelaxedPrecision escapes the type system (similar to the Read/Write decoration we recently added).
Storing something to a relaxed precision variable can narrow the precision, so that seems like a reasonable approach to me.
All loads and stores involving relaxed precision still read and write 32 bits of data, respectively. Floating-point data read or written in such a manner is written in full 32-bit floating-point format. However, a load or store might reduce the precision (as allowed by RelaxedPrecision) of the destination value.

The wording here means basically that the type itself is 32-bit for purposes of storage, so MSL should never use half in UBOs or SSBOs where binary layout matters, but for local variables and "logical" storage which does not expose the size of the variable, I think we are free to use half.

I've been taking a stab at this by trying to swap out type names in type_to_glsl(), based on the ID of the object that is being operated on. It is turning out to be ugly and intrusive...and I have hit a real road block with constant declarations in shader shaders-msl/frag/constant-array.frag. The constants themselves are not marked with RelaxedPrecision. So...I'm not sure how to move forward.
@HansKristian-ARM...  I can submit my WIP code if someone wants to have a look at it. What's the best way to do that?
Other design options include:

Replacing the SPIRType in any object that has relaxed precision with an invented SPIRType that looks like the original...but has it's width cut in half. This seems clean...except for SPIRType inheritance and decorations...which might get in the way. The lack of decoration on the constants described above will be a problem with this design too.

See if we can get glslang and other tools to spit out real SPIRTypes with reduced widths for anything using relaxed precision. This would be the absolute cleanest design.

Not getting half on constants does not sound like an issue to me?
You can make a PR marked WIP in the PR message to make it clear it's WIP, and I can have a look at it.
Modifying SPIRType is not an option at least.

The constants end up being declared as say float4...with vars that use those constants being declared as half4...and so we end up with issues where the var is assigned from the constant...or as in shaders-msl/frag/constant-array.frag where the var and constant are added together...and Metal complains.
To make a PR means I have to push my WIP to my own repo...which will end up polluting it's master until we get the issues resolved...if ever. And I want to be able to continue to contribute other PR's in the meantime.
I'm by no means a GIT expert...but that sounds like something I don't want to happen. How do people deal with that?

Hm, I think I'd need to have a look at the code to understand the problem.
The suggested way for this kind of "experimental" work is to push your work to a separate branch on your forked repo, then you can make a PR from your experimental branch to upstream master, that way you don't have to pollute your own master branch and you can keep doing PRs from your "clean" fork of SPIRV-Cross.

I've posted PR #217 for this.

This didn't go anywhere and the correct solution will be explicit 16-bit types.


fix: currentIndex prop not working correctly

Description of changes:
This PR fixes the bug with currentIndex prop. In the componentDidUpdate method of Carousel component previous and current currentIndex props were compared, but the previous currentIndex was saved to the state.
( Real life scenario: we start with currentIndex equal to 0, update it to 1 - Carousel still renders index 0, update it to 2 - Carousel renders index 1 )
Please note, that it's the same case for caching components, however I'm not sure if that's also a bug or not, as I didn't investigate into that.
Also included in this PR is a quick change in package.json that causes types to be correctly bundled.
Related issues (if any):

https://github.com/jossmac/react-images/issues/345

Checks:

[x] Please confirm yarn run lint ran successfully
[x] Please confirm that only /src and /examples/src are committed //package.json is also affected ( on purpose )
[ ] [if new feature] Please confirm that documentation was added to the README.md

Thanks for the PR!

@davwheat any idea when this will be published to npm?  if there's something blocking its release i'd be happy to help...

No there was nothing at all. I just forgot to publish a new beta 😅
I'll quickly go and do that now.

awesome, thanks @davwheat

Done! Sorry about that.

@davwheat looks like dist folder missing from beta.4

Huh, that's strange. NPM doesn't like this machine and always does strange
things like this.
On Tue, 17 Mar 2020, 18:08 Samuel Albert<EMAIL_ADDRESS>wrote:

@davwheat https://github.com/davwheat looks like dist folder missing
from beta.4
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jossmac/react-images/pull/349#issuecomment-600219606,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYQJZQB3HU5XN75K7MOJTLRH64CLANCNFSM4KUWMZKA
.


Rate limit exceeded

I was doing development normally today, invoking ~10 builds/hour using buckle, and eventually Buckle broke:
$ buckle
Error: invalid type: map, expected a sequence at line 1 column 0

I looked in the releases.json and saw that it contained an error message:
$ cat /Users/dan/Library/Caches/buckle/releases.json
{"message":"API rate limit exceeded for a.b.c.d. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}

It seems like buckle should definitely not overwrite releases.json with an error message if it gets rate limited, and I'm surprised that I was rate limited at all given how lightly I was using it.

Yeah, that's no good at all. I haven't seen this occur personally but I'll definitely improve that logic


Add clang-tidy-12 in CI

This PR adds clang-tidy-12 in CI pipeline

@BishrutSubedi - can this be closed now that #258 has been merged?

Yes, good to close


To Do - Review CoC for enforcement warning signs

Once #50 has gone through, it might be worthwhile to review the latest version of the CoC using the following list at https://otter.technology/blog/2017/12/28/code-of-conduct-enforcement-warning-signs/, and creating a PR to address any areas that need improvement based on the review.

Reading through this blog post, here are my thoughts.

The email address to send Code of Conduct incident reports to is an info@ or reports@ email address with no indication of who is on the recieving end. Is there an actual person who will answer an emailed report? I’m never sure.

This is true of us. To be honest, I strongly dislike the idea of a personal email being in an official document, especially for an ad hoc community like Code4Lib. It'd be one thing if we had a real org chart where someone was clearly responsible, but our Community Support Coordinators roll over every two years. We do have the CSS volunteers doc listing personal contacts but it is out-of-date.
For 4, we have a wide range of consequences articulated under the "sanctions" header. I don't want to respond to all 10 items but most clearly do not apply; happy for more opinions on that.
This one phrase from the CoC's "Conflict Resolution" section no. 2 stands out to me as problematic:

If you are on the listserv, you're in a free-for-all for public messages;

This seems like it falls somewhere in the 7-9 range of statements that are dismissive or undermine the purpose of the CoC; it sounds like we are trying to not take responsibility for the listserv's content, which is not the case.
So, in sum, I propose the following revision (retaining the hyperlinks in the original):
"If you are on the listserv, you're in a free-for-all for public messages; however, the listserv does have a maintainer, Eric Lease Morgan. In addition, there are Community Support Volunteers whom you are welcome to involve." => "The Code4Lib listserv is maintained by Eric Lease Morgan. Our Community Support Volunteers monitor its messages and may be contacted via email."

Also worth noting with regards to no. 1 from the blog post: we have a track record of responding to every report, which is thoroughly documented and publicized in this repo, so it really doesn't look like a major concern to me.

Thanks @phette23. I've never liked the "you're in a free-for-all" turn of phrase in the code of conduct, so +1 for phasing it out in preference of the rewrite you propose.


Suggestion: use tags to allow interactions with other mods.

Right now, it looks like Stackables can only work with vanilla items. This mod would be a lot more useful if I could, for example add a new soup to the c:soups or stackables:soups tag and have that soup also become stackable.

Oh good idea. I'll work on it for the next version. I always forget about tags 😊

this is a great idea and would solve many problems.

Done as of 2.0.0/2.0.1! See the latest versions on Modrinth! :)


brave: 1.20.110 -> 1.21.73

Motivation for this change
Fix CVE-2021-21166
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Result of nixpkgs-review pr 115029 at fcd759da run on x86_64-linux 1

1 package built:

brave

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/applications/networking/browsers/brave/default.nix:111:3:
    |
111 |   installPhase = ''
    |   ^

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/355


analyzer should show an error when casting to a non-overlapping type

class A {}

class B extends A {}

class C {}

void main() {
  final a = A();
  final b = B();
  final c = C();
  a as B;
  a as C; // no error
}

there should be a warning on casts that are probably wrong, like in typescript

This is working as intended, and it is certainly possible for such casts to succeed:
class A {}
class B {}

class AB implements A, B {}

void main() {
  A a = AB();
  a as B;
  print('Did not throw!');
}

I made a proposal for a safer variant of casting (for instance, a cast which is supposed to be a downcast could be expressed as such, and then we'd have feedback for the case where it isn't), but I can't find it right now. It could also be a lint, based on the assumption that some organizations would prefer to use the same reasoning as in the TypeScript code here.

Say there exists a class D implements B, C {} (and perhaps several other unrelated subtypes of both A and C), and you know, for some reason, that a is a C.
What would you then need to do to avoid the warning, when the cast is actually correct?
You can do a double cast a as A as C (risking an unnecessary-cast warning for the first cast). But that's annoying.
Since you're only asking for a warning, it seems like it's a job for a lint.
The linters does have a slew of "unrelated_something" lints. It could have an "unrelated_cast" as well.
Then you could do a as C; // ignore: unrelated_cast.
So, I'm marking this as a request for the analyzer, because that's the closest thing in this repository, but it should more likely be a feature request for the linter.

@eernstg

This is working as intended, and it is certainly possible for such casts to succeed

yeah i didn't say it's impossible for casts like that to succeed, but most of the time it's a mistake. hence the wording in the typescript error message and my OP

Conversion of type 'A' to type 'C' may be a mistake

there should be a warning on casts that are probably wrong

@lrhn

You can do a double cast a as A as C (risking an unnecessary-cast warning for the first cast). But that's annoying.

imo unnecessary-cast should be updated to support this usage

Since you're only asking for a warning, it seems like it's a job for a lint.

sounds good to me, i don't mind whether it's an analyzer error or a lint. i just didn't know where to raise this since some warnings are considered lints and others aren't? https://github.com/dart-lang/sdk/issues/48553#issuecomment-1067366673

i just didn't know where to raise this

I created this one: https://github.com/dart-lang/linter/issues/3561.

imo unnecessary-cast should be updated to support this usage

The standard way to make a cast acceptable to the linter is to use dynamic as the mid point: a as dynamic as C. Of course, you may then hit yet another lint saying that you shouldn't ever mention dynamic.


[Azure Search] Use synonym mapping for improving search results

We could potentially use synonym mappings for improving known search queries, for eg: searching for database could also include "sql", "nosql", "table storage" etc as the search terms. Azure search provides a way to map these keywords together using Synonym maps which could potentially be helpful.
This work can be done in the future for search improvements.

Closing as dupe of https://github.com/nuget/nugetgallery/issues/6942


Cover entire pages with bUnit

I stumbled upon the weird problem with bUnit and am unsure if it is a bug or my misuse of bUnit. I'm doing a small integration test on a page. It looks something like this:

Find the button for adding a note on the page, click, make sure that a note appears on the page
Click on this note, and a sidebar should appear to edit it
Change note in the sidebar
Delete selected note
For asynchronous actions, I use WaitForAssertion. And the problem is that the tests are written correctly, but they periodically crash without waiting for a timeout or not finding elements on the page. Perhaps this is because the rendering order of the components is different for different test runs? Or I won't be able to cover entire pages with tests using your library?

Version info:

bUnit version: 1.1.5
.NET 5, Blazor Server

Hi @SviatoslavK
In general, a page in Blazor is just a component, so bUnit has no problem with that. What you are experiencing can be any number of things, so without a sample that reproduces the issue I cannot really help.
Ill convert this to a discussion. If you have any additional info, please share it, and ill be happy to help more if I can.


Update source.vb

Moved the <Snippet1> marker to include the Main method. Without it, TestCreateDataReader(DataTable dt) is never called and the sample is incomplete, or doesn't do anything. (I'm assuming that <Snippet1> marks the start of what appears on the page.)
Another option would be to call TestCreateDataReader(DataTable dt) at the end of GetCustomers(), passing in the new table but that's not as clean.

closing and re-opening to trigger CLA check.

No problem. Take care.


Add events to feature, not layer

Previously, when rendering overlay layers, several geojs mouse events were added to the layer. This would cause double-firing of these events. Now, the events are only added to the non-quad features on the layer to prevent the double firing.

This was a bug in GeoJS.  Fixed here: https://github.com/OpenGeoscience/geojs/pull/1265

Closing this as it was fixed in GeoJS.


updating in 0.8x causes error

updating in 0.8x i receive this message:
"the request to This is auto replaced did not provide a valid manifest file"
just thought you should know.

What is ur current chat reactions version

1.2.1

Please try uninstalling the module and reinstalling

thats fixed it. it wasnt redirecting properly.


added an implicit parameter(codec) to PipedRDD

Can one of the admins verify this patch?

Please review https://cwiki.apache.org/confluence/display/SPARK/Contributing+to+Spark  Do you mind closing this PR?


Added intention: Copy and update record field

When using nested records in F# it's annoying to copy and update all of them
This action lets you generate a recursive copy and update for a field
Example is here, made an unit test too
let newItem = outerRec.Inner.Name[CARET HERE]

let newItem = { outerRec with Inner = { outerRec.Inner with Name = [CARET HERE] } }

IsAvailable checks whether the field belongs to a record

@auduchinok A postfix template would be much better, i agree.
It's just that it's currently missing the rest of the infrastructure which i don't know how to add.
Having postfix templates in F# would resolve the issue

It's just that it's currently missing the rest of the infrastructure which i don't know how to add.
Having postfix templates in F# would resolve the issue

The most of the infrastructure is ready and has been there for a while 🙂
It's just we only have let template right enabled now, as some of the others indeed need additional work (including in the infra), but I think it should be possible to add the with keyword here. for template is a good example to look at. Would you like to give it a try?

@auduchinok  Ohh there is an implemented postfix template :o
Sure, i will look into it.
I will report back if i get stuck somewhere

@auduchinok i got it working!
now it works with class fields that are records as well
e.g. it turns this

to this

where the types are like this:

i decided to just not allow functions in the template, as it would make multiple calls of the function which i think won't be very useful
so if it finds a function reference in the qualifiers it won't suggest the template

i havent made any tests yet and idk how to switch the pull request into the net231 branch, but what do you think?

To be honest, I'd expect it to work: from as user standpoint it's not obvious why the template works in some cases and doesn't in others. Especially, since it's working for other kinds of invocations like indexers, computable properties and so on. To make it work we should be dealing with expression tree nodes themselves and not with identifiers texts in createCopyAndUpdate, i.e. get qualifier expression nodes, move them, and clone where needed.

I thought about it and i think you're right on that actually, it's probably best if it works in all cases

To make this work in more user cases I suggest trying to add a popup asking how many levels a user wants to update: it seems it may be useful to update the last field only (and get a new value that is not related to the old value tree) or some of the fields (but it would be great to test it in real life a bit), and then use the new value in another record value or a binding. Could you try using a logic similar to what's done in AddIgnoreFix and Introduce variable refactoring?

In this case is it possible to have a keybind for them? i'm thinking the two most common uses for me would be updating the entire record tree or updating only the last record so it would be very nice to have a keyboard shortcut without the popup for these.
I havent yet figured out how creating RecordExprs works, i know i could create one with tokens individually but is there a utility function for this?

Ok i like this a lot already, here's how it works now.

One thing that i didnt figure out is how i can create a IRecordFieldBindingList, so i currently just passed in a single IRecordFieldBinding directly

i have one more question, how do i turn this feature on in the IDE?
i only got it working by forcing this to be true
    override this.IsEnabled(solution) =
        let configurations =
            solution.GetComponent<RunsProducts.ProductConfigurations>()

        configurations.IsInternalMode()
        || ``base``.IsEnabled(solution)

Ok i like this a lot already, here's how it works now.

Looks really cool, indeed!

i have one more question, how do i turn this feature on in the IDE?

Just return true in IsEnabled. This method was added to allow enabling unfinished templates for testing.
https://github.com/JetBrains/resharper-fsharp/blob/9f864d97fd7c72bee130a3908e936d8587047e4b/ReSharper.FSharp/src/FSharp.Psi.Features/src/PostfixTemplates/LetPostfixTemplate.fs#L24

One thing that i didnt figure out is how i can create a IRecordFieldBindingList, so i currently just passed in a single IRecordFieldBinding directly

You can also get it from the sample record expression, IRecordLikeExpr.FieldBindingList.
A bit off-topic: I'm going to remove this intermediate node at some point, it was added for an old formatter prototype, and we don't need it anymore.

The more I look at it, the more I think we could also try to make it a bit different: enable it on record values instead of record fields.
So this example:
r3.R2.R1.with{caret}

will expand into this
{ r3.R2.R1 with {caret} }

It seems a bit more natural if you think about 1) with being actually applied to a record, not to a field, and 2) about updating several fields, like:
{ getProps() with
    Field1 = true
    Field2 = "" }

And then we could automatically show the completion popup, so all relevant fields are immediately visible (2022.3 already moves them to the top of the popup). To make it even better we would need some experimenting with code completion, like appending = to a field automatically.
If you don't mind experimenting with it, you can use the following check:
let isRecord (expr: IFSharpExpression) =
    let fcsType = expr.TryGetFcsType()
    if isNull fcsType then false else

    let fcsType = getAbbreviatedType fcsType
    if not fcsType.HasTypeDefinition then false else

    fcsType.TypeDefinition.IsFSharpRecord

Getting field qualifiers would still allow updating nested records, so it should be good.
If we decide to make it work this way, I can do the field completion part later if we find some difficulties now.

yeah it's a good idea, plus the "with" expression constrains the available fields in autocomplete as well, so i see no drawbacks.
one thing that usually bothers me about unspecified record expressions is that you get suggestions for every possible record.
i will play around with it for a bit

ok so this works great, i noticed some more things.

And then we could automatically show the completion popup, so all relevant fields are immediately visible (2022.3 already moves them to the top of the popup). To make it even better we would need some experimenting with code completion, like appending = to a field automatically when completion item is accepted.

first this would definitely make it even better, i like both the idea of immediate transition into completions and the =.
and the second thing is that i should constrain the available items if it already knows the resulting type - so in the following example i already know the resulting type is R1B, so this should be the only available option. and if there's only one option it won't even show the menu, so it's all very smooth.

though that might kill the option for mapping other records into the R1B type. so perhaps i should constrain it only if one of the options is an exact match of the known result type. i'll test it for a bit longer and see

also perhaps it would be clearer if the options were just
r3
R2
R1B

instead

this isnt exactly related to this task but how would you replace the entire raw text contents of a file? i want to rewrite the whole syntax tree with a string and then walk over the nodes once it's done.
i found that you can get the file root like this but i got stuck there
let fsfile = textControl.GetFSharpFile(sln)
let root = fsfile.Root()

and the second thing is that i should constrain the available items if it already knows the resulting type - so in the following example i already know the resulting type is R1B, so this should be the only available option. and if there's only one option it won't even show the menu, so it's all very smooth.

I'd prefer not filtering the variants, at least for the start, as it would:

allow using a different type that would influence type inference
allow using a wrong type and changing the field declaration with a quick fix later
be a bit more consistent

also perhaps it would be clearer if the options were just instead

Let's try to highlight them in the editor instead? It's possible to pass a highlighting range in WorkflowPopupMenuOccurrence constructor.
@aciq Could you please write some tests, and I'll do another review after that?

this isnt exactly related to this task but how would you replace the entire raw text contents of a file? i want to rewrite the whole syntax tree with a string and then walk over the nodes once it's done.

This is not what we normally do in quick fixes, context actions, and other features where we work with tree nodes instead. There're various reasons to do it, including these:

R# can do a lot of additional changes that fix the formatting and code style along the way (we don't use it in F# yet, but we're going to)
there're various caches stored in nodes themselves that are kept until a node changes, and replacing the whole file would invalidate extra things (we also lose some of these optimizations in F# already because of the lack of incremental reparse and resolve isolation scopes, but it's better to not add more places that prevent optimizations)

One way to achieve this is to get a new tree with an element factory and then replace the root node. Another option is to replace the document text, commit changes and get a new tree, see FSharpReformatCode for an example.
Could you describe what you want to achieve here? Feel free to ping @auduchinok on F# Slack or Telegram if you'd like to chat about it.

@auduchinok sure, i would look at the tests next week when i have a windows machine again if that's okay.

@auduchinok i think i messed up this pull request's history by merging from net223. i think i'll make a new pull request starting from the net231 branch once i've got working tests

@auduchinok okay, very good!


[Infra] Upgrade dd-trace to 5.17.0 & front pods down to 6

Description
Attempt on issue https://github.com/dust-tt/tasks/issues/859
Risk
na

PMRR


@Relationship when query the db, to retrieve all the related ones without specify the type of the relation, is this possible  ?

Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

...
...
...
...

Context

Your Environment

OGM Version used:
Java Version used:
Neo4J Version used:
Bolt Driver Version used (if applicable):
Operating System and Version:
Link to your project:

Short answer: No. Please ask such questions with a little bit more information at StackOverflow and tag them (at least) with neo4j-ogm. If you have some code to share I will be glad to look on this and look for a possible solution.


bugfix: check err returned by peerMgr.Get to prevent nil pointer refe…

Signed-off-by: lowzj<EMAIL_ADDRESS>Ⅰ. Describe what this PR did
see: #1198
Ⅱ. Does this pull request fix one issue?
fixes: #1198
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #1253 into master will decrease coverage by 0.02%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #1253      +/-   ##
==========================================
- Coverage   48.43%   48.40%   -0.03%
==========================================
  Files         119      119
  Lines        7573     7577       +4
==========================================
  Hits         3668     3668
- Misses       3608     3612       +4
  Partials      297      297

Impacted Files
Coverage Δ

supernode/daemon/mgr/task/manager_util.go
23.43% <0.00%> (-0.32%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 894eae8...d38af90. Read the comment docs.

LGTM


[MRG] bug_fix

This pull request resolves #349 .
The pull request is ready to be merged.
The details of the pull request:
Initialize the weights on the skip connections.

Pull Request Test Coverage Report for Build 1058

20 of 22 (90.91%)  changed or added relevant lines in 5 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.05%) to 94.575%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

autokeras/net_transformer.py
9
10
90.0%

autokeras/nn/graph.py
2
3
66.67%

Files with Coverage Reduction
New Missed Lines
%

autokeras/nn/layers.py
1
94.65%

Totals

Change from base Build 1055:
-0.05%

Covered Lines:
2458

Relevant Lines:
2599

💛  - Coveralls


Whitespace clarification issue

Hi! It isn't clear from the spec whether whitespace is allowed within the tag in cases other than simple substitution. That is, is this legal?
{{ #thing }}

How about this?
{{ & replacement }}

There are tests in the spec for ensuring that {{ something }} works, but nothing about {{ #something }}{{ /something }}, and at least one implementation doesn't accept the extra space, but does pass the tests.
My issue is that I am in a situation where I want to use different delimiters (I want to make them look like xml processing instructions, so some automated tools can work with the raw templates properly), and
<?m #something ?>

is not being accepted -- only
<?m#something?>

, which is ugly...
Edit: I'm asking partly because the documentation file for Mustache implies that you can make this change; their example for "Set delimiter" changes to "erb style tags", which I've always written with whitespace around the contents.
Thanks,
Ricky

According to the comment at the top of t/specs/sections.yml section tags MUST be a non-whitespace character sequence.

Hm. The reference implementation though doesn't enforce this -- at least, the demo on http://mustache.github.io/#demo allows you to have whitespace between the '{'s and the '#' or '/'.
I had interpreted that to mean that you had to have #whatever instead of # whatever.

Huh, you're right... the whole test case is:
Whitespace Insensitivity
- name: Padding
  desc: Superfluous in-tag whitespace should be ignored.
  data: { boolean: true }
  template: '|{{# boolean }}={{/ boolean }}|'
  expected: '|=|'

And the "desc" key description definitely implies that all whitespace should be ignored.
I guess we'll see if anybody from the Mustache team comes back with a comment :-)

I'm not a mustache maintainer, I only developed https://github.com/groue/GRMustache.
My experience on the subject tells me that mustache tokens are and should be white-space free: {{, {{<, {{#, etc. When you change delimiters this can give <%, <%<, <%#, etc.
The goal is to avoid ambiguous syntax like {{ <foo }}. Is it a partial named foo, or a variable tag containing the identifier <foo? The parser has to choose. A good solution is to start ignoring white space only after the mustache token has been identified. Here it is thus a variable tag containing the identifier <foo. Some Mustache implementations go even further in clarity and prevent identifiers from starting with a reserved character, and yield a syntax error for {{ <foo}}, claiming that <foo is not a valid identifier. Most importantly this prevents users to think they are writing a partial tag when they are not.
So I advise against liberal white space, and regret that the spec is so shallow on the subject.
Now I don't expect any clarification of the spec, which is stuck for years: in the end, do as you wish.

I'm afraid I have to disagree. Having {{#foo}}, {{ #foo}}, {{# foo}} (and possibly {{ #foo }}) all mean different things seems like it would cause all kinds of problems. The spec should probably require that identifiers cannot start with any of the reserved characters. But I'm not trying to argue for that, but rather that {{#foo}} and {{ #foo }} should not be different. Mustache.js already allows this, so either it is incorrect, or the spec is incorrect in not specifying this to be allowed.
In particular, I want to make the tags look like XML processing instructions, so that the templates can go through automated tools that reformat or transform them. The XML spec says that the format is:
'<?' PI-Target (' ' PI-Content)? '?>'

That is, there is a target for the instruction, and then optionally whitespace and additional content. By the logic currently in use, I would have a different PI-Target for each different starting character.
If this behaviour of not allowing a space between the delimiters and the initial character in intended, I can go look at other templating systems. But it seems to me that it isn't intended, just not explicit. In which case, it would be nice to get a ruling (either way).

Hi! Sorry for reviving, but if there is interest in adding an explicit rule for this in the spec, please feel free to comment.

The original question, "where in a tag does the spec currently allow whitespace", seems to have been answered. For the other question, "where else should the spec perhaps allow whitespace", I suggestion opening a new discussion. Closing this ticket.


docs(CONTRIBUTORS): update SUSE contributors file

@Wabri Very good spot, this file should be updated. It's right to keep a list of prior contributors from the origin code.
The file actually misses the last 5 names from the list in metadata > https://github.com/sap-linuxlab/community.sap_install/blob/main/galaxy.yml#L19

I think I'm done with it, there are some description that we want to change?


Calendar view misbehaving while changing mode(Week/Month)

Hi Team,
I am using CVCalendar framework in my project( Using Xcode 9.4 and swift3), but I am facing issues while we changing calendar mode from week to month and vice-versa
Please find the screenshots for your reference
Following are the steps

Opened calendar week mode in my app
Minimize app and lock the screen for around 20 min
Then unlock the phone and open the app, where we are facing this issue.

NOTE:- We are using the same constraints as in the demo project.
Any Help would be appreciated.

@venkatmca99 I have no idea which version of the library you're using. Can you please provide a sample application so I can reproduce this? Thanks.

Thanks for the reply.
We are using below versions
Xcode: 9.4
CVcalendar library: Swift 3
And we can't provide source code because it's client application.


Telemetry support

Similar to telemetry in rollbar.js.
This needs to include the config options for enabling/disabling telemetry and scrubbing telemetry data.

So, guys, how are you going to pass telemetry to backend when exception occurs? Do you have a plan how to achieve this?

@zinkovskiy We haven't begun working on this feature yet.

I'm really interested about this feature!
Our application is logging messages using PSR\Log level info with associated context, those informations could be very useful when debugging.
I'm using monolog.

Any news ?

@armetiz I probably did not understand you, but you need a new parameter to use rollbar.js. Maybe you tell me more and I will make changes?

@Yozhef this issue is not related to rollbar.js.
Telemetry is a rollbar feature to help debugging error.
When a backend error occurred, what's happening before the error could be really helpful ! This is why Telemetry is used for: display events before error.
As I said.
Like many PHP Developper, i'm using monolog to record log: debug, info, warning ...
Telemetry could be used to display recorded logs !
It could be a killer feature ;)

@armetiz If I correct you understand you say about this Rollbarjs-telemetry. And you need to add to config new params enabling/disabling telemetry?

@Yozhef I'm not talking about rollbarjs.

Telemetry allows you to view a 'breadcrumb' of events leading up to an exception.

Telemetry is currently available in the Javascript and iOS SDKs.

This PR is about supporting PHP.
Note:

PSR-3: Logger Interface. https://www.php-fig.org/psr/psr-3/
https://github.com/Seldaek/monolog

@armetiz I understand you this change you need on rollbar-php repo. I didn't understand what I need to add to config. On rollbar-php add telemetry feature?

I don't know "how" it have to be done.
I don't know Rollbar API.
Usage example :

Psr\Log\LoggerInterface::info('something useful happened', ['foo' => 'bar'])
Psr\Log\LoggerInterface::debug('something useless happened')
Psr\Log\LoggerInterface::error('system crashed !', ['exception' => $exception])

The error log is reported within a Rollbar occurrence.
The info log is used for telemetry; because it is an event leading up to an exception.
The debug log is dropped because level is too low.
As I said.
I'm using monolog. See FingerCrossHandler
The Rollbar PHP SDK have to be updated to allow developers sending telemetry events using the Rollbar or RollbarLogger class.
The Rollbar PHP Documentation have to be updated to inform developers about how to send telemetry events using SDK.

I will be working on this feature shortly. It's great to see there is a lot of interest.

any news ?

@ArturMoczulski do you have any news ?

@armetiz 👋🏽  just reviewed this thread and will need some more context on current state; however, this sounds like a promising feature to invest in. You've been patient and I'm grateful!

Good to know @cyrusradfar  !
Note that the FingerCrossHandler may not be the solution.
Note also that for Sentry it's named Breadcrumbs.

@ArturMoczulski ? Will it be supported ?

Hi @armetiz I am the new maintainer of this SDK. I am still working on putting together a roadmap with our product team. We understand the value of telemetry support and appreciate how patient you have been! Once we have a roadmap for this, I will try to make sure to reply to this thread with more details.

After some internal conversation we determined that there needs to be some cleanup work that should happen before we add telemetry support. Unfortunately, the cleanup requires breaking changes e.g. #570.
We want to make sure the changes are working and stable before adding a large new feature like telemetry support. Because of that we are shifting telemetry back from v4.0 to v4.1.
We appreciate everyone's patience!

Hi there.
I don't want to be sarcastic, but .. come on, it's been a while!
I can see that #570 will be solved. Telemetry is an important feature to debug error.
Do you plan to work on it this quarter?
Regards

Olé !

Wohooo!

News?

My goal is to have a beta out before the end of the year.

Ok. So, I am not good at setting goals. Sorry for the delay! Thank you for your patience.
However, the PR is now created and awaiting review. Please feel free to check it out and provide any feedback, questions, or concerns you have on the PR here #634.

you’ll be the first developer to ever misestimate. It’s great that you’re
pushing and holding yourself accountable. thanks for driving this Daniel.
On Fri, Feb 16, 2024 at 4:09 PM Daniel Morell @.***>
wrote:

Ok. So, I am not good at setting goals. Sorry for the delay! Thank you for
your patience.
However, the PR is now created and awaiting review. Please feel free to
check it out and provide any feedback, questions, or concerns you have on
the PR here #634 https://github.com/rollbar/rollbar-php/pull/634.
—
Reply to this email directly, view it on GitHub
https://github.com/rollbar/rollbar-php/issues/349#issuecomment-1949510328,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABASCWDMYSMRK4C5BRMIQO3YT7YLHAVCNFSM4E4IS4D2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJUHE2TCMBTGI4A
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
This message is intended only for the individual or entity to which it is
addressed.  It may contain privileged, confidential information which is
exempt from disclosure under applicable laws.  If you are not the intended
recipient, you are strictly prohibited from disseminating or distributing
this information (other than to the intended recipient) or copying this
information.  If you have received this communication in error, please
notify us immediately by e-mail or by telephone at the above number. Thank
you.

Telemetry is now available via v4.1.0-beta. We would appreciate anyone who is willing to test it and provide feedback.


What markdown is supported by the Marketplace

The Marketplace scrapes Skill README's to display in the Marketplace. It's not an actual markdown rendering engine.
As a Skill author I want to know what Markdown is supported and what is not.

Looks like I'm wrong, it's using CommonMark
https://github.com/MycroftAI/mycroft-skills/blob/4119443cc1530f33585e49b4fcfadcbdebd525d3/meta_editor.html#L1027


[NeedHelp] Benchmarks takes too long to run.

Hi!
I'm trying to enable BenchmarkDotNet to be used as perf tests runner and I stuck with a performance problem (no pun intended:)).
The benchmark with a ~20 candidate methods takes five minutes or so to complete. If I didn't do something wrong, all costs is on the runner side. Benchmark code being run in-process finishes in a second.
Proof (summary output + code (scroll down)).
The timings are ok for benchmarks as they never meant to run on a regular basis.
But five minutes is a bit too long for perf tests, especially when there are hundreds of them;)
So:
0. Can I do anything to speedup the tests right now?

Any plans to reduce bootstrapping overhead?
Will it be possible to run benchmarks in-process, even at cost of slightly inaccurate results?

Thanks!

Right now you can only try with the configuration (reduce Launch/Wamup/Target count, don't use all default Exporters, more?).
Recently I have worked on slow export. I would be very happy to tune the rest.
How I am planning to contribute to BDN:

fix all known bugs
tune perf
introduce parallel benchmark runner
create extension for regression tests

Ok, thanks!
The execution time is 66.81 sec with the following config
        public FastRunConfig()
        {
            Add(new Job
            {
                IterationTime = 100,
                LaunchCount = 1,
                WarmupCount = 1,
                TargetCount = 2
            });
        }

and the results are still pretty accurate. Much better:)

Can you post the full log, I'd like to get rough idea of where the 5 mins is spent (i.e. bootstrapping, execution, results, runner, etc).

Benchmark code being run in-process finishes in a second.

Yes, but BenchmarkDotNet runs each benchmark 100's or even 1000's of times and it will also launch multiple processes and run benchmarks in those. For example here's one "Launch" of a benchmark (by default 3 "launches" are done), where 4096 op means we called the [Benchmark] methods 4096 times.

There's a specific reason for running out-of-process, see "Use separate CLR instances" in @AndreyAkinshin WIP book for more info.

The execution time is 66.81 sec with the following config

    public FastRunConfig()
    {
        Add(new Job
        {
            IterationTime = 100,
            LaunchCount = 1,
            WarmupCount = 1,
            TargetCount = 2
        });
    }

Yeah you can always shorten the default values, that's fine it they work for you.

But BenchmarkDotNet has higher default values to ensure it's always accurate. It maybe that the default values are conservative and slow, but that's better than being inaccurate.

@mattwarren

Can you post the full log, I'd like to get rough idea of where the 5 mins is spent

Ok, I attached all content of the release folder in case you needed it.
Release.zip

There's a specific reason for running out-of-process
... but that's better than being inaccurate

Completely agreed. However, there are use cases when having slightly varying results is expected and even appreciated. To name one, trying to estimate the performance of the code in a real-world conditions.
In fact, this is what I'm trying to do - to use BenchDotNet as a base for competition performance tests. These are special beast as they are not trying to proofcheck absolute performance metrics.
Instead of this the goal is to put a set of implementations + baseline one in the same conditions and to proof that all of them will not break some limits. The important part is, these limits are relative and based on baseline' values.
In fact, you do not want to run competition under cleanroom conditions as the code may perform much worse in production. So, some side effects from JIT / assembly loading / IO activity / network latency etc are good ones as they help to proof that our estimates are not too optimistic:)
NB: It's important to always run the competition in random order for more (or less:)) uniform distribution, but it does not look like a big deal.

Hi @ig-sinicyn, thank you for the question. I added some brief info to README: https://github.com/PerfDotNet/BenchmarkDotNet/tree/develop#faq

In fact, you do not want to run competition under cleanroom conditions as the code may perform much worse in production.

You can't create a good benchmark based on code without a steady state. You should create a cleanroom conditions that emulates production environment.

JIT / assembly loading

We can use Mode.SingleRun (see https://github.com/PerfDotNet/BenchmarkDotNet/tree/develop#jobs) for measuring first run of the method. However, in general case, if you want to compare performance of two methods, you usually want to do it without side-effects.

network latency

It is a very good point. For now, BenchmarkDotNet is designed for microbenchmarks without network interactions. If you have any network operations, it would be a good decision to specify amount of iteration manually.

It's important to always run the competition in random order for more (or less:)) uniform distribution

Interesting point. But when does it matter? We already have a separated process per benchmark and launch it several times. I think, if you have different results for different benchmark method orders, then your benchmark is a bad one. In this case, you should investigate cause of such behavior instead of using of average randomized results.

@AndreyAkinshin

You can't create a good benchmark based on code without a steady state

If you want to use benchmark to measure something - yes, agreed:).
If you want to use benchmark to proof some worst-case limits - it's not completely true.
For the last case, all you need is to run a set of candidates together with a baseline benchmark and to compare result values as a relative to the baseline.
Slightly unstable conditions is good there as they helps to check  that our relative limits are not too tight:)

Interesting point. But when does it matter?

It does matter only if you want to add some random latency into benchmark but you do not want some tests systematically suffer from side effects more than others. Let's say, running all tests in-process, waiting for IO or something else like this,

I think, if you have different results for different benchmark method orders, then your benchmark is a bad one.

Agreed again;) This is true for time-measuring benchmarks,
For realworld-scenario-based perftests, having different results for different runs is quite common. You just take estimates not on average timings but on Nth percentile of the results.
Some more info on this:
http://www.goland.org/average_percentile_services/
http://apmblog.dynatrace.com/2012/11/14/why-averages-suck-and-percentiles-are-great/

@ig-sinicyn, thanks for the links. I will try to create some easy API for such scenarios.

@AndreyAkinshin
I've done some already and I'm going to do PR as it will be ready to use.
If you want to check what will it look like, here's the code:
https://github.com/rsdn/CodeJam/tree/master/Main/tests-performance
All the code from BenchmarkDotNet namespace will go into PR.
And some test examples (not a finite set yet) are here:
https://github.com/rsdn/CodeJam/tree/master/Main/tests-performance/CalibrationBenchmarks
Note that namespaces and the structure of the code is not final. Almost all code does not need to reference NUnit, for example. I'll do final refactoring after I'll cover most of our use cases,
Discussion on a final design will be here (in Russian, sorry)

Looks good, waiting for the PR.
Continuous testing and good NUnit/XUnit support is an important task, we definitely going to do it. However, we should do it carefully, because it is very easy to write bad useless benchmarks, so, I want to write some baseline based API for asserts. Hopefully, it will help to write good benchmark tests.

Discussion on a final design

Looks interesting.

However, we should do it carefully, because it is very easy to write bad useless benchmarks, so, I want to write some baseline based API for asserts. Hopefully, it will help to write good benchmark tests.

Agreed completely.
Also, I'm going to split changes into multiple pull requests.
This way you can pull some small and (used to be) usable changes (such as adding Percentile() method into Statistics class and adding Percentile/ScaledPercentile columns) and reject others if they don't fit well.
Is it ok?

Sounds good to me.

Closing this, I think the question has been answered.


killed when ranking on PRM dataset

Hi~ Thanks for your great work.
Recently, I was doing some recurrent work on PRM dataset. But I encountered the problem of "killed" when I was doing
python run_init_ranker.py --setting_path=./example/config/prm/mart_setting.json

The following were my procedures, are you convenient to see what's wrong

I download the PRM dataset from the link here provided in the Readme. And put them in the path ./Data/ad/
I think it's necessary to run_init_ranker before run_reranker, so I used the command python run_init_ranker.py --setting_path=./example/config/prm/mart_setting.json. After several minutes, the "killed" suddenly appeared .
I also used the command of DNN by  python run_init_ranker.py --setting_path=./example/config/prm/dnn_setting.json, the "killed" problem still exists

PS : I run the code on Linux OS with GPU resource of 1* 1/2-V100 | 1* 16G | 3 cores | 30G
Thanks for your attention

Well, the problem was caused by the limited memory of my device, which unable to load all PRM public data.
And one simple solution is changing to another device with bigger memory, or using more than one GPU resources.


exp.show_in_notebook(show_table=True) renders poorly with a regression explanation

I'm not sure what I should see but the rendered output doesn't look right. The screenshot is taken from my rendered public Notebook:

I'm flagging this as I believe the regression support in LIME is young, so maybe this rendering isn't as expected?
The middle display (Negative/Positive) only shows 5 items and feels cramped. The explanation is generated using exp = explainer.explain_instance(example_to_explain, est.predict, num_features=10).
The Notebook is available here: https://github.com/ianozsvald/data_science_delivered/blob/master/ml_explain_regression_prediction.ipynb
watermark reports the following versions (it might be worth setting a version string for lime too):
CPython 3.6.2
IPython 6.1.0

numpy 1.13.1
matplotlib 2.0.2
sklearn 0.18.2
eli5 0.6.1
seaborn 0.8.0
lime n
yellowbrick 0.4.2

compiler   : GCC 4.8.2 20140120 (Red Hat 4.8.2-15)
system     : Linux
release    : 4.9.8-040908-generic
machine    : x86_64
processor  : x86_64
CPU cores  : 8
interpreter: 64bit
Git hash   : d1099144f8b748e8e5aa43676f24bc8cba7204c9

What version of LIME do you have? I ran the notebook and this is what I get:

Try installing the newest version and clearing your cache (shift + reload should work on the notebook).

Hi Marco. I'm using master pulled two weeks back. Which Jupyter are you using? I have
jupyter --version
4.3.0

Are there any plugins that are responsible for the rendering that I should version check?

I have 4.3.2
I don't know what this could be, sorry!

I was having the same issue with firefox, but seems to render better with chrome.

Had the same problem -> using chrome worked for me too

I think #296 fixes this, let me know if it does not.


Don't trim trailing whitespaces for markdown

LGTM

LGTM but drone fails

WARNING: unable to verify the Yaml signature.

I don't see how I should resolve drone failing.

Hm. Ok. I just recreated the drone signing. I don't understand how that broke. But LGTM now.


Package scuttlebot

Motivation for this change
Scuttlebot provides a command-line utility, and therefore warrants packaging under the nodePackages attribute.
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

Can someone at least assign this a label?

@taku0 I followed the current instructions for packaging node packages here. The pertinent line:

Run the script: cd pkgs/development/node-packages && ./generate.sh.

generate.sh triggers a rerun of node2nix on the package sets, which leads to this merge conflict.

I know very little about node packaging, but the merge conflict might have been caused by another change to node packages being merged while you were working on this. Have you tried running generate.sh again after rebasing your changes on current master?

@xeji Indeed, it's a common problem with node packages, every PR that updates/adds a node package conflicts with every other PR doing that..

@GrahamcOfBorg build nodePackages.scuttlebot

Unexpected error: command failed with exit code 1 on aarch64-linux (full log)
Attempted: nodePackages.scuttlebot
Partial log (click to expand)
                                 Dload  Upload   Total   Spent    Left  Speed

trying https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4094  100  4094    0     0   173k      0 --:--:-- --:--:-- --:--:--  173k
100  2271  100  2271    0     0  84111      0 --:--:-- --:--:-- --:--:-- 87346
100  2477  100  2477    0     0   134k      0 --:--:-- --:--:-- --:--:--  134k
cannot build derivation '/nix/store/81zf5gh75npp8kpy7fniv3hgcjj1m044-node-scuttlebot-13.0.1.drv': 1 dependencies couldn't be built
error: build of '/nix/store/81zf5gh75npp8kpy7fniv3hgcjj1m044-node-scuttlebot-13.0.1.drv' failed

Failure on x86_64-darwin (full log)
Attempted: nodePackages.scuttlebot
Partial log (click to expand)
npm ERR<EMAIL_ADDRESS>install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /private/tmp/nix-build-node-scuttlebot-13.0.1.drv-0/.npm/_logs/2018-10-29T12_36_29_666Z-debug.log
builder for '/nix/store/d3w9ykclvl7y4rpwvvfxmsjyqqvr7a97-node-scuttlebot-13.0.1.drv' failed with exit code 1
error: build of '/nix/store/d3w9ykclvl7y4rpwvvfxmsjyqqvr7a97-node-scuttlebot-13.0.1.drv' failed

Failure on x86_64-linux (full log)
Attempted: nodePackages.scuttlebot
Partial log (click to expand)
npm ERR<EMAIL_ADDRESS>install: `node-gyp-build "node preinstall.js" "node postinstall.js"`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /build/.npm/_logs/2018-10-29T10_16_53_699Z-debug.log
builder for '/nix/store/2dblbvxnrl2zr14x0nabmk0qxdpq0xp9-node-scuttlebot-13.0.1.drv' failed with exit code 1
error: build of '/nix/store/2dblbvxnrl2zr14x0nabmk0qxdpq0xp9-node-scuttlebot-13.0.1.drv' failed

Hmm. Something went wrong here, and I'm worried the rebase was messy. I'm going to close this PR and make a clean one referencing it.


Website Updates Tracker (future v2)

Description
This website needs to be improvment with better lookup. This update uses VuePress v2. Any ideas to improvement are welcome. For example, I will give you to preview this website - it use Docusaurus.
General

[ ] USE VuePress - replaces HUGO
[x] Navigation enhancement - No needed if we gonna migrate to  VuePress

[x] Shrink Main Menu with buttons
[x] Documentation Menu improvements (sidebar only)
[x] Table of Contest improvement (needs extends required classes with SASS)

[ ] Documentation improvements / updates

[ ] Migrate some parts to Javadoc
[ ] Improve elements resolve with the custom VuePress Plugin to creates index - #2 (Kraken is pending for removal)
[ ] Improve codeblocks examples to JVM specific languages (groovy, kotlin, scala)

[ ] Enhance search index with reduced units - #4

Content

[ ] v2 Migrations
[ ] Obfuscate any kraken documentation
[ ] v1 Archives

I believe this was resolved by #22


Bugsnag: The metadata recorded for key 'app' is not formatted as key/value pairs. Discarding.

For some reason the metadata stopped getting attached.
https://github.com/bugsnag/bugsnag-react-native/blob/cb360fdad958e2284fc3ef3adb7bf8e4efe83c62/cocoa/BugsnagReactNative.m#L163
I've tried this way:
bugsnagConfig.registerBeforeSendCallback((report) => {
        const metadata = report.metadata || {};
        metadata.clients = {
             clientName: 'foo'
        };
        report.metadata = metadata;
      });

and that way:
bugsnagConfig.registerBeforeSendCallback((report) => {
        report.addMetadata('state', 'device', 'test')
      });

I get both:
Bugsnag: The metadata recorded for key 'app' is not formatted as key/value pairs. Discarding.
and
Bugsnag: The metadata recorded for key 'clients' is not formatted as key/value pairs. Discarding.
in both cases.
What's going on? That same code used to work a while ago.

Thanks for the report, @SudoPlz. Which versions of react native and bugsnag-react-native are you using? I'll reproduce.

Follow up: I tried changing that NSLog to:
NSLog(@"Bugsnag: The metadata recorded for key '%@' is not formatted as key/value pairs for data %@ which is of type<EMAIL_ADDRESS>Discarding.", sectionKey, metadata[sectionKey],NSStringFromClass( [metadata[sectionKey] class]));

and I now receive:
 Bugsnag: The metadata recorded for key 'app' is not formatted as key/value pairs for data [object Object] which is of type __NSCFString. Discarding.
Heeeeeelp, I need that metadata.
Thanks

Merging this into #132


Copper ore missing

Thank you for the last update which suppressed all the ores who's mods are not installed. This reduced the output and the management of it a lot.
And thanks for glowstone in the config, didn't think of that.
Now the routerreborn copper_ore was missing but this one was fixed easily in the config file. Maybe you would put it into the config for those who won't dare to alter the config.
I went here to leave a star. And I'm the first one? Why? This mod is great.
In every new world its a primary goal to have spatial ore harvesters running.
Thanks alot.

Thanks for the star! I've never actually looked into what they mean, are they kind of like Youtube subscribers/likes?
As for the copper, it's probably not in the ores tag. I'll add it to the default config, is its registry name "routerreborn:copper_ore"?

Yes and yes!
Thanks for caring.

Done! Should be available once Curseforge decides it's not malware :)
Thanks for thanking me for caring.


Add scrollEnabled prop to Android ScrollView

Perhaps there is a better way to do this, curious to hear it!

If momentum scroll is active when scrollEnabled is toggled, the momentum scroll continues and the onMomentumScrollEnd event fires, which is the same as on iOS.

Didn't I see another scrollEnabled pr recently?  https://github.com/facebook/react-native/pull/5330
Can we look at getting these two in sync?
Also, can you update the .js file to indicate it is no longer an ios only property

Hi @dmmiller! Thanks for pointing that out, I didn't notice that PR. It looks like it hasn't been active for a couple weeks so I pulled in the changes that he did to horizontal scroll view as well and made sure this PR addressed yours and @mkonicek's feedback.

Thanks for cleaning up
@facebook-github-bot shipit

@facebook-github-bot shipit


[SPARK-36546][SQL] Add array support to union by name

What changes were proposed in this pull request?

This PR adds array of struct support to unionByName. It further tries to simplify some of the logic for re-projecting different types by creating a mergeFields method that can find the right method to merge various combinations of fields, currently structs or arrays, but could add maps in the future.
Why are the changes needed?

Currently unionByName doesn't support arrays of structs or maps of structs. This adds support for the arrays of structs and should make it easy to add maps of structs support in the future.
Does this PR introduce any user-facing change?

New capability to unionByName with arrays of structs.
How was this patch tested?

New unit tests

We may need to update API doc of unionByName in Dataset too.

Ah yep knew I forgot a comment to update somewhere

Updated the Dataset docs. Kinda reworded since unionByName works on nested columns now even without allowMissingColumns enabled

Thanks! Merging to master.

Could/should this and https://github.com/apache/spark/pull/34166 be backported now that the 3.2.0 release was cut?

For an improvement, we don't backport usually.

I think this kind of fix is clearly an improvement that affects behaviours so I won't backport either.

The lack of 3.1.0 release threw off my timeline for when the last minor release was and how much was included in patch releases, sorry!

The lack of 3.1.0 release threw off my timeline for when the last minor release was and how much was included in patch releases, sorry!

It was from my mistake 😢


Making the gem available on rubygems.org

Is there a plan to make this gem available on rubygems.org?
I think it's important that this is done sooner rather than later to secure the name swagger_engine

Hi @serv
Just pushed to rubygems.org:
https://rubygems.org/gems/swagger_engine


Fixed existent route maping to appplication

When trying to associate an existent route to an application, a snackbar
was showing up saying "Failed" and behind the scenes the map was done as
expected.
This patch fix that by checking if requestInfo is valid before
checkign any other property of that.
Signed-off-by: Vítor Avelino<EMAIL_ADDRESS>

I've merged in the domain dropdown fix and this seems to have fixed the issues without the proposed fix. I'm going to close this PR.


Provide support for '--ignore-pythranrc'

Related to #2170

@paugier can you double check this matches your need?

It seems buggy. init_cfg is called without ignore_userfile before the call from run.py. And then there is
    global cfg
    if cfg is not UninitializedConfig:
        return cfg

Moreover, it seems to me that it would be convenient for use in Meson to be able to activate this with an environment variable, for example with something like PYTHRANRC=0 ?
It actually already "works" (~/.pythranrc is ignored), but with a warning "WARNING:     user file does not exist: 0". We could just remove the warning for a special value.

@paugier I like your idea! Implementation done

Ah I get a traceback :-)
  File "/home/users/augier3pi/dev/pythran/pythran/config.py", line 79, in init_cfg
    paths = get_paths_cfg(sys_file, platform_file, user_file)
  File "/home/users/augier3pi/dev/pythran/pythran/config.py", line 74, in get_paths_cfg
    paths.update((user_config_paths,))
ValueError: dictionary update sequence element #0 has length 0; 2 is required

It works with something like:
    paths = {
        "sys": sys_config_path, "platform": platform_config_path
    }

    user_config_path = os.environ.get('PYTHRANRC', None)
    if user_config_path is None:
        user_config_dir = os.environ.get('XDG_CONFIG_HOME', None)
        if not user_config_dir:
            user_config_dir = os.environ.get('HOME', None)
        if not user_config_dir:
            user_config_dir = '~'
        user_config_path = os.path.expanduser(
            os.path.join(user_config_dir, user_file))
    if user_config_path:
        paths.update(("user", user_config_path,))
    return paths


Support Workload Identity

Hi!
Workload Identity is the next iteration of AAD Pod Identity: https://github.com/Azure/azure-workload-identity
What are the plans for this provider to support it in the future?
Thanks!

Hello 👋🏻  Workload identity support is available in v1.1.0 release of the driver and provider. Here is the documentation: https://azure.github.io/secrets-store-csi-driver-provider-azure/docs/
The webhook is not required for the CSI driver as kubelet plumbs the service account token as part of the volume mount request.

Wow! Sorry for creating an issue for something that's already supported - should have looked closer.
@aramase is it possible to separate and isolate namespaces like we were able to with aad-pod-identity?
Thanks!

@aramase is it possible to separate and isolate namespaces like we were able to with aad-pod-identity?

Workload identity federation is based on service account token used by the workload. So everything is bound to a namespace and to the individual service account that's configured with the workload.

@aramase epic work! Sorry again and thank you 🙏⭐

No worries at all!
Let us know your feedback after you get a chance to try it out.


docs(ollama-example): implement example showcasing ollama

This example showcases using ollama via a custom endpoint in the OpenAI client. Should be accompanied with a blog post showcasing local model support!

@0xMochan looks good! Is that ready to merge?

@0xMochan looks good! Is that ready to merge?

Yea lets do it! A blog post will accompany this next week :)


Service Entries do not Respect subjectAltNames

Bug description
SubjectAltNames in Service Entry does not behave as expected. When providing SubjectAltNames, the certificate received from the specified host does not check that any SubjectAltNames matches the SAN in the certificate. As a result, certificates are only checked against the host name they are received from.
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
When SubjectAltNames is used in Service Entries, certificates received by the specified host must contain at least one of the SANs listed or the connection will be refused.
Steps to reproduce the bug
Apply the yaml below and use curl or a similar command to en.wikipedia.org/wiki/Main_Page. The connection should be terminated but is not due to subjectAltNames: - www.google.com not being used in the Service Entry.
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: wikipedia
spec:
  hosts:
  - "en.wikipedia.org"
  ports:
  - number: 80
    name: http
    protocol: HTTP
    targetPort: 443
  resolution: DNS
  subjectAltNames:
  - "www.google.com"
---
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
  name: wikipedia
spec:
  host: en.wikipedia.org
  trafficPolicy:
    tls:
      mode: SIMPLE

Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)
istio version
client version: 1.9.1
control plane version: 1.9.1
data plane version: 1.9.1

kubectl
Client Version: v1.20.4-dirty
Server Version: v1.19.6-eks-49a6c0

How was Istio installed?
istioctl
Environment where the bug was observed (cloud vendor, OS, etc)
Clound environment (EKS)
Additionally, please consider running istioctl bug-report and attach the generated cluster-state tarball to this issue.
Refer cluster state archive for more details.

proxy-config.txt

For SIMPLE TLS mode we do not add subject alt names.

Ah. Sorry. I completely misread the question. I thought this is gateway simple TLS. For DRs we should add from Service Entry. I will take a look.

subject alt names with out trusted_ca is not a valid config in Envoy. So if you subject alt names to be validated, also set trusted_ca. So closing this as this is a non issue.

@Kmoneal has tested this by setting trusted_ca in DR and SE's SAN entries are not honored afaik. @Kmoneal can you confirm? I think this is still a valid bug.

Ok. If that is the case, I can take another look.

Sorry, I must have copied over the wrong code snippet. Neeraj is correct that setting a CA in DR and an SE SAN is not honored. The table below is the test cases I tried. Each one has a DR and SE for en.wikipedia.com and is trying to reach it but all SAN are for google.com in order to check since it should fail.

CaCertificates  (Destination Rule)
SANS (Destination Rule)
SAN (Service Entry)
Curl from sleep pod

Test Case 9: empty
empty
empty
Pass (Connection accepted)

Test Case 10: empty
empty
google.com
Fail (Connection accepted)

Test Case 11: empty
google.com
empty
N/A* (Connection accepted)

Test Case 12: empty
google.com
google.com
N/A* (Connection accepted)

Test Case 13: path to CA
empty
empty
Pass (Connection accepted)

Test Case 14: path to CA
empty
google.com
Fail (Connection accepted)

Test Case 15: path to CA
google.com
empty
Pass (Connection rejected)

Test Case 16: path to CA
google.com
google.com
Pass (Connection rejected)

I am able to reproduce the issue. Will take a look and fix.


Completions stop working

Haven't looked into this at all, usually just restart YCM so I can keep working on the task at hand. Will post logs next time this comes up.

This looks like it's due to the poison error that's been fixed on master.


[TF:TRT] Enable support for TensorRT 8.2

Adds support for TensorRT 8.2.

Request review from @bixia1

I edited the PR description with details on what the PR does. Please check.

within google, we use TensorRT 7, and here is the error:
In file included from third_party/tensorflow/compiler/tf2tensorrt/convert/convert_nodes_test.cc:16:
In file included from ./third_party/tensorflow/compiler/tf2tensorrt/convert/convert_nodes.h:19:
In file included from third_party/stl/cxx17/set:16:
In file included from third_party/crosstool/v18/stable/toolchain/bin/../include/c++/v1/set:439:
In file included from third_party/crosstool/v18/stable/toolchain/bin/../include/c++/v1/__node_handle:63:
In file included from third_party/stl/cxx17/memory:4:
In file included from third_party/crosstool/v18/stable/toolchain/bin/../include/c++/v1/memory:682:
In file included from third_party/crosstool/v18/stable/toolchain/bin/../include/c++/v1/__memory/shared_ptr.h:25:
third_party/crosstool/v18/stable/toolchain/bin/../include/c++/v1/__memory/unique_ptr.h:60:12: error: calling a protected destructor of class 'nvinfer1::IBuilder'
    delete __ptr;
           ^
third_party/crosstool/v18/stable/toolchain/bin/../include/c++/v1/__memory/unique_ptr.h:282:7: note: in instantiation of member function 'std::default_delete<nvinfer1::IBuilder>::operator()' requested here
      __ptr_.second()(__tmp);
      ^
third_party/tensorflow/compiler/tf2tensorrt/convert/convert_nodes_test.cc:155:61: note: in instantiation of member function 'std::unique_ptr<nvinfer1::IBuilder>::~unique_ptr' requested here
  static std::unique_ptr<nvinfer1::IBuilder> hold_builder = nullptr;
                                                            ^
blaze-out/k8-cuda11-opt/bin/third_party/tensorrt/_virtual_includes/nv_infer_static_cuda_11_0/third_party/tensorrt/NvInfer.h:7097:13: note: declared protected here
    virtual ~IBuilder()
            ^

I pushed a change that should fix the issue.


Allow keywords as suffixes of node ids

This is what I've mentioned in #232.
Everything should be working just like before, with the difference that eg. blend or monograph are now valid node ids.

Good work! Merging!


Add to existing .tsx file

I've been poking around in the source, and I don't see any means of not completely transpiling code to JS.  What I'd like to do is add these prop types to a tsx file.
I can continue to poke around, but I wanted to raise the question in case it had a quick answer.  Great tool, hoping to use it more!

I can continue to poke around, but I wanted to raise the question in case it had a quick answer

I'm afraid poking around the source would have been faster, sorry about that

I've been poking around in the source, and I don't see any means of not completely transpiling code to JS. What I'd like to do is add these prop types to a tsx file.

After you use the parser to get the AST you can point the injector at any valid source code, you just need to provide it with the babel plugins required to understand it.
https://github.com/merceyz/typescript-to-proptypes/blob/d02a08a7f4c7a25e08c786fa8b625d838613c8b5/src/injector.ts#L45-L48
https://github.com/merceyz/typescript-to-proptypes/blob/d02a08a7f4c7a25e08c786fa8b625d838613c8b5/src/injector.ts#L75


fix class generation for nullable enums

Fixes #1120.
The problem was happening in a pretty specific case which wasn't covered by any existing tests. The preconditions were:

OpenAPI version is 3.0
The property has an explicitly declared type
The property has a list of enum values that includes null (plus at least one non-null value)
The property has nullable: true

The failure mode was an interaction between three pieces of logic:

If EnumProperty.build sees that the enum allows nulls, it creates a union with UnionProperty.build, setting anyOf to two types: an EnumProperty.build and a NoneProperty.
If UnionProperty.build sees a list of multiple data types (3.1 style), it treats each of those types as basically equivalent to an anyOf item. The intended use case, I think, was if you wrote something like type: ["string", "null"]; it was not really meant to apply to cases where you were also using anyOf.
The 3.0-to-3.1 schema transform logic handles nullable: true by changing the type to a list of [whatever, null] if the type was explicitly specified.

So, with an input like this—
    MyNullableEnum:
      type: string
      nullable: true
      enum: ["a", "b"]

—it would end up calling UnionProperty.build with an anyOf list of two types— and a type of ["string", "null"]. UnionProperty would treat that as an anyOf with four types: string, null, enum, and null. I'm not 100% sure how it got from that to generating three identical classes, but this had already gone astray from what we were trying to do.
My fix works by not using UnionProperty.build, but just constructing the UnionProperty directly with the structure that we want. I think this is appropriate because the effect we want isn't really the same as if such a union had been written explicitly; we don't want multiple generated type names, we want to just attach the top-level schema name to the enum part.
Note that the UnionProperty bug still exists. That is, it will still fail if you explicitly write something like this:
    SchemaName:
      type: ["string", "integer"]
      oneOf:
        - type: string
        - type: integer

It'd be best to fix that too; unfortunately, determining which types in the type list are redundant with the oneOf/anyOf list is (I think) not super straightforward, because the list can contain references. So, for now, I'm just addressing the enum situation where there isn't really a need for us to use UnionProperty.build anyway.

I've put this back into draft because I think I might have a better approach that would fix the broader union problem too.


Test-Proxy cert not importing properly on macs

The test-proxy ships with a dev-cert that is used to communicate with localhost over https.
This certificate was rolled last week. Unfortunately, it seems that some folks on Macs are having problems importing the dev cert to their keychain.
I'm not certain if there was a mac update, or

I've unblocked @conniey  by recommending a workaround specific for Java, but that's not a good solution. Still investigating certificate problems.

There's no catch all solution. Each language-specific methodology is the recommended way.


do not support EventSource

VSCode Version: Code 1.8.1 (ee428b0eead68bf0fb99ab5fdc4439be227b6281, 2016-12-19T14:49:23.350Z)
OS Version: Windows_NT ia32 6.1.7601

Steps to Reproduce:

javascript intellesence do not support EventSource

@mjbvz - looks like EventSource is missing from lib.dom.d.ts

This issue was moved to Microsoft/TypeScript#13666


Installation Permission Denied

While trying to install gpkit I received a "permission denied" error.  This may be a problem with how the securities are set up on my computer even though I am running from an administrator account.  Even though it is probably a system problem and not a gpkit bug it still might be good to have some documentation on it.  This was the error:
The following error occurred while trying to add or remove files in the
installation directory:
[Errno 13] Permission denied: '/Library/Python/2.7/site-packages/test-easy-install-762.pth'

The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
/Library/Python/2.7/site-packages/

Perhaps your account does not have write access to this directory?  If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account.  If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.

What commands did you run? It looks like your commands were using the system python and pip instead of the Anaconda versions.
If you have numpy and scipy installed system-wide, you could install gpkit with sudo pip install gpkit.

Oh ok that would make sense.  The command I used was:
python setup.py install
Ill try the sudo pip... command and see what happens.
Thanks!
On Mon, Sep 14, 2015 at 10:00 AM, bqpd<EMAIL_ADDRESS>wrote:

What commands did you run? It looks like your commands were using the
system python and pip instead of the Anaconda versions.
If you have numpy and scipy installed system-wide, you could install gpkit
with sudo pip install gpkit.
—
Reply to this email directly or view it on GitHub
https://github.com/convexopt/gpkit/issues/404#issuecomment-140084505.

--
Michael Burton
<EMAIL_ADDRESS><EMAIL_ADDRESS>801-647-0021
MIT Aero/Astro Engineering
Class of 2016

Ok I just tried the sudo pip install gpkit and this is the error I got:
Michaels-MacBook-Pro:cvxopt-1.1.7 mjburton11$ sudo pip install gpkit
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

Password:
sudo: pip: command not found

Okay, so it looks like pip is not installed on your system. Have you installed numpy and scipy? If not, you may wish to install Anaconda, as per http://gpkit.readthedocs.org/en/latest/installation.html#mac-os-x

If you don't wish to install Anaconda, try python gpkit/build.py

@mjburton11, it would be helpful if you can let us know at exactly what step in the installation instructions (http://gpkit.readthedocs.org/en/latest/installation.html) things started diverging / going wrong for you.

(in honor of the issue number, I'm tempted to dub this "#404: Permissions not found"

what's the status of this?

@mjburton11 and I will meet today or tomorrow to figure it out

Resolved by reinstalling Anaconda


Add DatasetLinks to dataset_description.json

Related to #69.
Changes proposed in this pull request

Build dictionary of dataset links and add them to the dataset_description.json file.

Codecov Report
Attention: Patch coverage is 55.55556% with 24 lines in your changes missing coverage. Please review.

Project coverage is 33.90%. Comparing base (6cfdd86) to head (af3901e).
Report is 2 commits behind head on main.

Files
Patch %
Lines

qsirecon/utils/bids.py
52.17%
12 Missing and 10 partials :warning:

qsirecon/config.py
50.00%
1 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #77      +/-   ##
==========================================
+ Coverage   33.75%   33.90%   +0.15%
==========================================
  Files          56       56
  Lines        6852     6883      +31
  Branches      892      905      +13
==========================================
+ Hits         2313     2334      +21
- Misses       4438     4442       +4
- Partials      101      107       +6

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


Noc angles adding code example images and showcase images

This is 3.1-3.3
Folder for 3.1 Had a duplicate of a contribution from folder 1.3 so was deleted.
Also deleted another contribution that wasn't working.

Weird I'm not sure why, but the wrong image is showing up in the preview! @klinegareth can you take a look, do you see anything I'm missing?

Weird I'm not sure why, but the wrong image is showing up in the preview! @klinegareth can you take a look, do you see anything I'm missing?
https://deploy-preview-433--codingtrain.netlify.app/tracks/the-nature-of-code-2/noc/3-angles/1-angles-and-rotation

@shiffman Globally on all main and side tracks, the contribution images are not working. I opened #434 regarding this.

I only did a pull request so we could do a check to see if the new image was displayed.  I agree -- no point in merging until this is resolved.

Going to merge this with #438 and all should we well!


Add TortoiseGit

I based this on TortoiseSVN's package definition.

Need to split out TortoiseOverlayIcons into its own package and make TortoiseSVN and TortoiseGit depend on that.

Want this !!!

Need this !!!

What's the progress of this PR?

This PR is based loosely on the tortoisesvn package. The class GUID's in https://github.com/ScoopInstaller/Extras/pull/5443/files#diff-57e23433b28c42011b50f5ac5a2fa7e162b3024557ea2accdbbbc80a81817019 and https://github.com/ScoopInstaller/Extras/pull/5443/files#diff-1380dca9e7e795638617ec71049f937026fd895fead2f61d336dac96427b93b9 have to be updated to align with TortoiseGit's class IDs. Contributions welcome.


Allow Video Service to restart after secondary transport disconnection

Fixes #1150, #1151
This PR is ready for review.
Risk
This PR makes no API changes.
Testing Plan
Smoke testing as described in issues
Summary
Allow the proper video service flags to be reset when video services disconnect. this also fixes the case where sdlproxybase would not know if a video service that was hosted on a secondary transport disconnected.
CLA

[X] I have signed the CLA

Codecov Report

Merging #1161 into develop will decrease coverage by 0.04%.
The diff coverage is 0%.

@@              Coverage Diff              @@
##             develop    #1161      +/-   ##
=============================================
- Coverage      46.98%   46.93%   -0.05%
  Complexity      4185     4185
=============================================
  Files            470      470
  Lines          22830    22853      +23
  Branches        2588     2591       +3
=============================================
  Hits           10726    10726
- Misses         11460    11483      +23
  Partials         644      644

Impacted Files
Coverage Δ
Complexity Δ

...n/java/com/smartdevicelink/proxy/SdlProxyBase.java
8.26% <0%> (-0.04%)
27 <0> (ø)

...com/smartdevicelink/SdlConnection/SdlSession2.java
19.82% <0%> (-1.09%)
9 <0> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e8aeea1...38533bb. Read the comment docs.


getOrganizationNetworks() with Iterator Returns No Results

Using meraki.DashboardAPI(use_iterator_for_get_pages=True), getOrganizationNetworks() returns no results with the default perPage=1000 value. I get results when perPage is limited to 650 or less. This is on version 1.18.2 running under Python 3.9.2.
Iterator with default perPage
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import meraki
>>> dashboard = meraki.DashboardAPI(use_iterator_for_get_pages=True, simulate=True)
2022-02-19 14:11:40       meraki:     INFO > Meraki dashboard API session initialized with these parameters: {
'version': '1.18.2', 'api_key': '************************************ab6d', 'base_url': 'https://api.meraki.com/api/v1',
'single_request_timeout': 60, 'certificate_path': '', 'requests_proxy': '', 'wait_on_rate_limit': True,
'nginx_429_retry_wait_time': 60, 'action_batch_retry_wait_time': 60, 'retry_4xx_error': False,
'retry_4xx_error_wait_time': 60, 'maximum_retries': 2, 'simulate': True,
'be_geo_id': None, 'caller': None, 'use_iterator_for_get_pages': True}

>>> nets = dashboard.organizations.getOrganizationNetworks(organizationId='nnnnnn')
>>> next(nets).keys()
2022-02-19 14:12:19       meraki:     INFO > GET https://api.meraki.com/api/v1/organizations/nnnnnn/networks
2022-02-19 14:12:20       meraki:     INFO > organizations, getOrganizationNetworks; page 1 - 200 OK
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
StopIteration

Iterator with perPage=650
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import meraki
>>> dashboard = meraki.DashboardAPI(use_iterator_for_get_pages=True, simulate=True)
2022-02-19 14:18:59       meraki:     INFO > Meraki dashboard API session initialized with these parameters: {
'version': '1.18.2', 'api_key': '************************************ab6d', 'base_url': 'https://api.meraki.com/api/v1',
'single_request_timeout': 60, 'certificate_path': '', 'requests_proxy': '', 'wait_on_rate_limit': True,
'nginx_429_retry_wait_time': 60, 'action_batch_retry_wait_time': 60, 'retry_4xx_error': False,
'retry_4xx_error_wait_time': 60, 'maximum_retries': 2, 'simulate': True,
'be_geo_id': None, 'caller': None, 'use_iterator_for_get_pages': True}

>>> nets = dashboard.organizations.getOrganizationNetworks(organizationId='nnnnnn', perPage=650)
>>> next(nets).keys()
2022-02-19 14:19:06       meraki:     INFO > GET https://api.meraki.com/api/v1/organizations/nnnnnn/networks
2022-02-19 14:19:08       meraki:     INFO > organizations, getOrganizationNetworks; page 1 - 200 OK
dict_keys(['id', 'organizationId', 'name', 'productTypes', 'timeZone', 'tags', 'enrollmentString', 'url', 'notes'])

@coreGreenberet does this look correct?

Yeah that was a bug =(
PR #184 is out

I finally updated my project to use 1.20.0 and this issue is not fixed. Looks like getOrganizationNetworks() is using meraki/rest_session.py instead ofmeraki/aio/rest_session.py. @coreGreenberet, can you update the other copy?

Allan,
Thanks for the help.. there seems to be something not quite right… Traffic is not passing.  It looks like the firewall settings did not change.  I am unable to edit the Layer 3 inbound rules, which I should be able to after you enable No-Nat.  It may be that it’s taking a bit for the changes to manifest, but I wanted to reach out and let you know.
Jim Shoemaker | Senior Engineer | CCNA
Intellicom
Phone:<PHONE_NUMBER> ext. 248
E-mail<EMAIL_ADDRESS>Web:   www.intellicominc.comhttp://www.intellicominc.com/
Blog:    http://blog.intellicominc.comhttp://blog.intellicominc.com/
@.***              @.***           @.***
From: Allan Que @.>
Sent: Tuesday, May 3, 2022 11:15 AM
To: meraki/dashboard-api-python @.>
Cc: Subscribed @.***>
Subject: [EXTERNAL] Re: [meraki/dashboard-api-python] getOrganizationNetworks() with Iterator Returns No Results (Issue #183)
I finally updated my project to use 1.20.0 and this issue is not fixed. Looks like getOrganizationNetworks() is using meraki/rest_session.pyhttps://github.com/meraki/dashboard-api-python/blob/4e327084cb1c138c63670cdca1f97484414afe03/meraki/rest_session.py#L347-L348 instead ofmeraki/aio/rest_session.py. @coreGreenberethttps://github.com/coreGreenberet, can you update the other copy?
—
Reply to this email directly, view it on GitHubhttps://github.com/meraki/dashboard-api-python/issues/183#issuecomment-1116282513, or unsubscribehttps://github.com/notifications/unsubscribe-auth/APQGSLG5QTZ53Q5NL6ZTGRTVIFGJPANCNFSM5O3N4VCQ.
You are receiving this because you are subscribed to this thread.Message ID<EMAIL_ADDRESS>
CONFIDENTIALITY NOTICE: This communication and any files or attachments transmitted with it may contain information that is confidential, privileged and exempt from disclosure under applicable law. It is intended solely for the use of the intended recipient. If you are not the intended recipient, you are hereby notified that any unauthorized review, use, disclosure, dissemination, or copying of this communication is strictly prohibited. If you have received this communication in error, please notify the sender by reply E-mail and destroy all copies of the original message. Additionally, we will take the appropriate action to avoid sending you an unintended E-mail in the future. Thank you for your cooperation.

Allan, Thanks for the help.. there seems to be something not quite right… Traffic is not passing. It looks like the firewall settings did not change. I am unable to edit the Layer 3 inbound rules, which I should be able to after you enable No-Nat. It may be that it’s taking a bit for the changes to manifest, but I wanted to reach out and let you know.

Jim, I'm afraid I do not know what you are referring to in your comment.


Problems installing gatttlib for Bluetooth LE tracker

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version): 0.27
Component/platform: device_tracker/bluetooth_le_tracker
Description of problem: Libraries can't be installed automatically
Additional info: https://community.home-assistant.io/t/new-ha-0-27-and-bluetooth-le-tracker/3336/2

gattlib that is used to to a bluetooth LE scan. However, gattlib seems to be incompatible with Python 3.5
Instead using gattlib, we could just directly call "hcitool lescan", which would make the installation much easier for users. As the overall philosophy is to use libraries for all external dependencies, it is not clear to me, if this would be acceptable.
Any comments on this?

I'm using this little python script for bluetooth le scanning. Please have a look at this

Alternatively, the documentation could mention the additionally required modules. They already mention the requirement for the modules the regular BT-scanner requires. for BTLE I just had to install

libboost-python-dev
libboost-thread-dev
then, everything went through.

According to the forum post, installing gattlib on Python 3.5 is a bit more tricky and might be too complicated for inexperienced users.

I personally think this is a problem with upstream package. Specifically Ubuntu, Arch Linux works. I originally thought this to be a missing package for ARCH arm64. I'll submit a documentation MR with the details to download and install boost 1.61.0 if it ever finishes compiled on my ODROID-C2 ;)

It is a problem wit the upstream package. The question is: How to deal with it. Always using external libraries might bring more and more problems like this in the future as not every library is actively supported on all available platforms.

I've updated to v0.27.2, removed bluetooth packages, restarted, re-installed packages, restarted but still getting 16-09-04 09:03:40 homeassistant.bootstrap: Not initializing device_tracker.bluetooth_le_tracker because could not install dependency gattlib==0.20150805
I'm using RPi AIO.

I got the Bluetooth LE tracker to work by using the commands I collected in my own post here, and then running the command provided in the post here.
This may not be how it was intended but it works. That, or the docs are missing alot of information.

Has anyone bluetooth LE on the Pi3 run, without incredibly slow HA UI???
After setting up root rights so "Python3" HA gets very very slow. Switches need often 10 seconds...
Are there any news to this?

@kolossboss I am having the same issue, to the point that I'm not using the BLE tracker. A few others have reported to have the issue as well. Have a look at this topic on the forum.

Still don't work for me in 0.40.1 (Docker on Synology NAS)
[homeassistant.setup] Not initializing device_tracker.bluetooth_le_tracker because could not install dependency gattlib==0.20150805
[homeassistant.setup] Unable to prepare setup for platform device_tracker.bluetooth_le_tracker: Could not install all requirements.

duplicate of #7851, about to be fixed with #7868


Performance Tests triggered by comment don't work against PRs originating from a Fork

Describe the bug
When I tried to run /perf tests by commenting on a PR that originated from my fork the action failed. It could not checkout the commit:
To Reproduce

comment /perf on a PR created from a Fork onto kroxylicious/kroxylicious
check the Actions to see your build fail

Expected behavior
We checkout the code from the fork and performance tests are run against that code.
YAML files and logs
build log
Relevant part is:
2023-03-09T04:32:03.0815988Z Initialized empty Git repository in /home/runner/work/kroxylicious/kroxylicious/.git/
2023-03-09T04:32:03.0831207Z [command]/usr/bin/git remote add origin https://github.com/kroxylicious/kroxylicious
2023-03-09T04:32:03.1597143Z [command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +refs/heads/micrometer-no-reflection*:refs/remotes/origin/micrometer-no-reflection* +refs/tags/micrometer-no-reflection*:refs/tags/micrometer-no-reflection*
2023-03-09T04:32:03.6362136Z The process '/usr/bin/git' failed with exit code 1

So we are trying to checkout micrometer-no-reflection but our remote is https://github.com/kroxylicious/kroxylicious not the fork.
I guess we want to supply repository: forky/branchy to the checkout action. Unfortunately this isn't emitted by the PR comment commit plugin yet

Probably a question here about whether we could restrict who can triggers perf runs.

FYI @franvila
Probably a question here about whether we could restrict who can triggers perf runs (do we already?)


Add my first file

I have created a new branch, created a file , and made a commit!

Add my first github profile!