[BUG] Opening startpage gives 500 error

Describe The Bug
Upon opening a new tab using the hosted link gives the error:
"500: INTERNAL_SERVER_ERROR
Code: INTERNAL_DEPLOYMENT_FETCH_FAILED
ID: iad1::5g8wx-1705527995677-45a89a676c85"
The ID changes each time a new tab is opening. This happens ~80% of the time I open a new tab of the hosted startpage. Sometimes it loads, but not as often as it doesn't. I have changed colors and bookmarks in the configuration code, but that is all.
To Reproduce
Steps to reproduce the behavior:

Open a new tab of the startpage.

Expected Behavior
Startpage functions normally, without error.
Screenshots

Specs

macOS Ventura 13.2.1 (22D68)
Firefox 121.0.1

Hey @not-alaris!
Unfortunately I cannot reproduce this issue on my end, but I am willing to help you as much as I can.
Is this a server deployment? Did you use Docker image? If so, can you show me your compose file?
Also please share console logs as well
Here is what vercel says about this exception:

The INTERNAL_DEPLOYMENT_FETCH_FAILED error occurs when the system is unable to fetch the deployment. This could happen due to network issues, misconfigurations, or other internal errors that prevent the deployment data from being retrieved.

Please have a look at this documentation and follow some troubleshooting
https://vercel.com/docs/errors/INTERNAL_DEPLOYMENT_FETCH_FAILED

I am using the demo version, with an extension to set it as my new tab in Firefox on my personal computer. I believe that is was internet connectivity causing the error to occur, and I restarted my computer and reset the config on the demo site, and it has been working. Thanks anyways!

Glad to hear the issue is resolved.
Cheers!


ci: updated workflows

chore: update golangci-lint configuration
ci: updated workflows

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

Coverage data is based on head (d105a46) compared to base (795e0d0).
Patch coverage: 50.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #29   +/-   ##
=======================================
  Coverage   32.12%   32.12%
=======================================
  Files           9        9
  Lines         470      470
=======================================
  Hits          151      151
  Misses        290      290
  Partials       29       29

Impacted Files
Coverage Δ

cmd/tea/repo_template.go
17.51% <0.00%> (ø)

cmd/tea/root.go
23.61% <ø> (ø)

cmd/tea/oapi_compose.go
41.86% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add X-WEBAUTH-USER header

Adding the X-WEBAUTH-USER header to support enterprise applications where authentication happens at a proxy in front of the application using X509/PKI and the username is passed through via header.

@prymitive I'll fix this up tonight so it's currently failing test.

What is the intention behind this? Is it just to pre-populate the author field or to force specific author in silences? Author field value is stored in localStorage so once you input something it will be remembered for future silences.
On top of that I have a few generic comments:

There's a bunch of go modules changes that seem unrelated
Using cookies to communicate between the backend and frontend is not the right way, there's an API  for that
There are more possible headers than X-WEBAUTH-USER that can be used for authentication, I don't think that adding code that deals specifically with that one header is the best way. Adding a config option to specify a header name and a way of extracting it (maybe via regex) seems like a more generic way.


Two text views in one cell.

Can we have two kinds of day in two different types of calendar format into one cell ??
it may look like this:
http://www.ashesh.com.np/images/Nepali-Calendar.png

Yes you can.
Check this example. Create a class which implements Event interface just like the CustomEvent used with FlexibleCalendarView#setEventDataProvider. Just like the color inside the CustomEvent class you can add more fields, in your case, String altText.
Then, you need to override BaseCellView. Just like the EventCountCellView.
You will have the Event list inside it which will be same as your CustomEvent list. You can use it to draw the desired view.
Feel free to reopen if you face any issues.

Thanks:)


Cannot format *.vue files

Cannot format

@jiangshangzheng @likeswinds

Formatters are temporarily disabled until this feature is addressed.

See the issue https://github.com/octref/vetur/issues/82

https://github.com/octref/vetur/issues/82#issuecomment-284454045

Formatters are temporarily disabled until this feature is addressed.


Ajax call

How to use this with dynamique data ?
Merci

You're welcome.
Please see the example code click here, replace the setTimeout with your ajax statements, this component will work with dynamic data.

Merci for your reply
But i am not expert with vue.js so....
I tried this but seems that i miss something

You forgot to $broadcast an $InfiniteLoading:loaded event to this component, you can try the following pseudo code:
onInfinite: function () {
  var vm = this;
  $.get(api, function (res) {
    vm.videos = vm.videos.concat(res.data);
    vm.$broadcast('$InfiniteLoading:loaded');
  });
}

Maybe can help you.

Two weeks passed and no reply, I will close the issue.


Nuxt 3 Support

Opening an issue to discuss whether there's plans to support Nuxt 3 and how the community can help.

What's up guys?

Any news?

https://www.npmjs.com/package/vite-plugin-stylelint ;)

Any news?

I'm going to be starting a new Project with Nuxt3 and I was hoping to use this tool, but it doesn't seem to work correctly.  Any updates on creating a Nuxt 3 version?

👀 Any news???

It's been more than half a year and there is still silence. Why don't you just use the Vite plugin that is being developed regularly?

Release v.5.0.0


remove module count from header

remove applied module count from header component and view and remove dead code related to statistics in the frontend
Fix #5550

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Marine Sivade seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

I removed module count from frontend (and chose to delete dead code in the frontend). Do we need to remove unused REST API related to statistics as well?


Improve support for item categories

We've received this bit of feedback from a customer:

1Password Terraform does not support any other item categories apart from Login, Password and Database.
At the moment we utilise AWS Secret Manager where you are able to store a flat JSON object without any compulsory fields. Utilising any of the supported item categories in 1password provider forces us to have compulsory fields such as "password" "url" "username" which are different with supported item categories.
We could definitely use, for instance Password item category with only one compulsory field "password", and just add custom fields as required. But in the future we would have to migrate to appropriate item categories once you add support to the provider causing additional overhead.
So the questions are: Is there a roadmap to add more categories to Terraform provider? If so when and which ones? Particularly categories without any compulsory field? Although I'm not sure if 1password has categories like that. And/or can you think of any workarounds with available categories without compulsory fields? Although kind of new, but there's already an issue reported on your Github https://github.com/1Password/terraform-provider-onepassword/issues/51 regarding missing document category

The team in Slack mentioned that this is a know issue and a workaround that was offered, e.g. using the API credentials category was shot down again because there seems to be an issue retrieving API credentials via the Terraform provider.
Someone from our team added in Slack:

I hit this personally recently. Unfortunately some weird things happen with the current terraform provider release and api credentials (I couldn’t access the credential)
There was talking in April/May of improving and expanding the supported Item types but I don’t think anything materialized there

Yes this definitely need a fix, when using "API Credential" in 1Password the main keys are username and credential.
The Terraform provider only give access to username and password.
I had to copy credential in a password fiel in all my "API Credential" entries used by Terraform, it's (more than) a bit annoying.


Publish APK on Github?

Did you consider publishing the .apk at Github (best place: create a tag for each release and attach it there, on the releases/ page – see Creating Releases?

Hm, just closed and no comment? I take it that should mean "no" then? A pity for an open source app if it's only available in a closed market ;)

@RajneeshSingh007 That was indeed were I looked before commenting again, but it wasn't (yet) there. Thanks for your feedback, so I'll check again a little later :smiley_cat:

@RajneeshSingh007 May I bring up the topic again, as the .apk file is still missing in the releases/ page?

Just now checked and fixed the issue, Thanks a lot :)
Best Regards,
Rajneesh Singh
On May 18, 2017 3:51 PM, "Izzy"<EMAIL_ADDRESS>wrote:
@RajneeshSingh007 https://github.com/rajneeshsingh007 May I bring up the
topic again, as the .apk file is still missing in the releases/ page?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/RajneeshSingh007/MusicX-Music-Player/issues/2#issuecomment-302364023,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVp_g9nntz5fpGA-ZtRdKcLECVLFngakks5r7Bu_gaJpZM4NOvC8
.

Thanks a lot! You can now also find it here, to be used via the F-Droid client to install/update your app. Feel free linking to it :smiley_cat:

Wonderful work from a great person like you but I hope you want to know how to add ads Admob


Add API endpoint /api/v1/user/orgs

Why is this needed?
We're more than pleased with Gogs and want to automate completely a migration from GitLab to Gogs.
We need API to create organizations.
Why we're not using /api/v1/admin/users/<username>/orgs ?
Although the same can be achieved with the above mentioned endpoint,
I don't feel it's correct since it's an admin endpoint and requires you to specify the username that will be the owner of the repo.
Also there's a feature request at https://github.com/gogits/go-gogs-client/issues/77.
Once this is merged I'll expose Client API for go-gogs-client. Exposed go-gogs-client in https://github.com/gogits/go-gogs-client/pull/84
Tests
I haven't invested time into better code coverage due to the fact that we need to ship this soon. I will add tests in a separate PR later if that's okay with you.
@Unknwon

Thank you!


Deploy image quality assessment extractor

sample run: https://terraref.ncsa.illinois.edu/clowder/files/5b1028204f0cf3bd91bf211c


Testimonial Section

Let's add a testimonial section. Assign me under LGM.

@cnu1812 please elaborate.

@manankohlii  Testimonial section is basically the user can give their feedback about our website. The top feedbacks are stored in this section. example https://assets.justinmind.com/wp-content/uploads/2020/11/testimonial-examples-testimonial-ui.png.


Support for runtime testing with dynamic shapes

We currently have limited support for testing with dynamic shapes because it's difficult to declare a constant with a dynamic shape (the compiler always actually knows the shape). We need something similar to iree.unfoldable_constant for dynamic shapes (or extend that to support them). Current reference example that makes use of iree-run-mlir passing input args is https://sourcegraph.com/github.com/google/iree/-/blob/iree/test/e2e/regression/dynamic_abs.mlir
I'll try to port that to something that doesn't require input arguments in some format outside of the mlir source.

A couple of ideas here (based on some discussions):

Use a tensor_cast of a constant to make it dynamic. Problem: the lowering pipeline doesn't currently support tensor_cast https://github.com/google/iree/issues/1643. There's some concern that this doesn't exercise the same flows as the normal dynamic shape handling with function calls and so requires building out things we won't otherwise need for a while.
Lower an op to a HAL BufferViewConstOp

One of the things I like about unfoldable_constant/do_not_optimize is that they're simple and actually pretty independent of iree. I don't love that (2) requires building this testing infra into the core compiler more deeply. It really seems like
func @dynamic_tensor() -> tensor<?x?xf32> attributes { iree.module.export } {
  %c = constant dense<[[-1.0, 2.0, -3.0], [4.0, -5.0, 6.0]]> : tensor<2x3xf32>
  %c_unf = iree.do_not_optimize(%c) : tensor<2x3xf32>
  %c_dyn = tensor_cast %c_unf : tensor<2x3xf32> to tensor<?x?xf32>
  %c_dyn_unf = iree.do_not_optimize(%c_dyn) : tensor<?x?xf32>
  %result = "xla_hlo.abs"(%c_dyn) : (tensor<?x?xf32>) -> tensor<?x?xf32>
  return %result : tensor<?x?xf32>
}

Should just work. With syntactic sugar it could be
func @dynamic_tensor() -> tensor<?x?xf32> attributes { iree.module.export } {
  %c = iree.dynamic_constant dense<[[-1.0, 2.0, -3.0], [4.0, -5.0, 6.0]]> : tensor<2x3xf32> -> tensor<?x?xf32>
  %result = "xla_hlo.abs"(%c) : (tensor<?x?xf32>) -> tensor<?x?xf32>
  return %result : tensor<?x?xf32>
}

@benvanik @stellaraccident
It seemed like you had concerns about the tensor_cast approach. It seems like this is something that IREE should be able to support anyway (opaque op produces dynamic shape), but when I try I get a message like remark: unable to materialize shape calculation (unsupported op 'std .tensor_cast'?): falling back to runtime resolution followed by https://github.com/google/iree/issues/1643. Stella, I'm guessing this was the sort of thing you were worried about tripping over earlier than necessary if we went this path? So if this seems not worth pursuing right now, I'll look into a new op with a direct lowering, but I want to double check because this seems like the cleanest approach from my vantage and it doesn't require doing anything special in the heart of the compiler to support this.

tensor_cast is fragile, in that we should be trying hard to eliminate them by propagating shape information to everywhere we can (including cross-function). We don't want to rely on something we are explicitly trying to remove :) Same with a chain of DNO ops - requiring no changes to the IR structure (after CSE and canonicalization and inlining all the other things we do) won't work in more complex cases - it should only be used to ensure a value is not removed and not enforce the type of the value doesn't change (as say we are running on a device without float32 support, or performing quantization, etc - how do we DNO that constant? what's "optimize" mean here?)
There'd be nothing special "built into the compiler" about an iree.dynamic_constant -> hal.buffer_view.const - the alternative is to have tensor_cast support in the HAL layer and all that entails and that feels even more invasive (and again, fragile).

Couldn't we write a folder for that somewhere down the road though? I think we still need to hide it behind something that will not propagate shape information.

yeah, and I guess what I'm saying is that we absolutely don't want tensor_cast to not propagate shape information :)
Anyway, one new op (or making the current unfoldable constant be able to cast implicitly) with one new rewrite pattern seems like an easy solution and minimally invasive. We need to support getting shape information dynamically at runtime from buffer_view, so any machinery we add will be getting tested by the buffer_view path. Arguments/results to functions passed in/out by the application come in as buffer_views, so using that as the base type makes sense and should be isomorphic to taking the value as an argument to the function. In other words, I don't see any reason not to use buffer_view, and a bunch of reasons not to :)

yeah, and I guess what I'm saying is that we absolutely don't want tensor_cast to not propagate shape information :)
Yeah agreed. I was thinking of do_not_optimize being the thing that didn't propagate it. It's basically a barrier for compiler analysis. Unless we use this kind of explicit barrier, I think we're always going to be fighting ourselves as we invent more intelligent compiler passes.

Anyway, one new op (or making the current unfoldable constant be able to cast implicitly) with one new rewrite pattern seems like an easy solution and minimally invasive. We need to support getting shape information dynamically at runtime from buffer_view, so any machinery we add will be getting tested by the buffer_view path. Arguments/results to functions passed in/out by the application come in as buffer_views, so using that as the base type makes sense and should be isomorphic to taking the value as an argument to the function. In other words, I don't see any reason not to use buffer_view, and a bunch of reasons not to :)

Yeah I'm fine using buffer_view, but we still need to hide the shape from the rest of the compiler. It can't know that it's just a buffer view of something static, which means that we have to be able to support unknown (not like unregistered, just unknown to shape inference) ops. It seems like there is a fallback path there, but I can't tell if it's working because then it blows up for (other?) reasons.
As a short-term workaround we could just rely on not having that particular folder, but I'm worried that will just come back to bite us later.

Got pulled aside by build copping and https://github.com/google/iree/issues/1754 last week, but back to looking at this. Ben and I discussed and came up with some ideas.
Short term, I think we'll just lower something to a buffer constant and rely on the lack of folding. I'll add a few tests to ensure that this doesn't get folded, so we don't inadvertently break things later on.
Longer term, we were thinking about providing what amounts to decorators that get converted into check functions. This would also help with #1538 and non-dynamic tests. This is similar to something Sean suggested at some point. Something like
func @add(%lhs : tensor<?xi32>, %rhs : tensor<?xi32>) -> tensor<?xi32>
    attributes {
         args = [dense<1> : tensor<2xi32>, dense<2> : tensor<i32>],
         results = [dense<3> : tensor<2xi32>],
    } {
  %res = "xla_hlo.add"(%lhs, %rhs) : (tensor<?xi32>, tensor<?xi32>) -> tensor<?xi32>
  return %res : tensor<?xi32>

For normal compilation, these would just be opaque attributes, but we could have a late-stage pass that uses them to generate another function:
func @add$test() {
  // pseudo-IR because there's also allocators and such
  %0 = hal.buffer_view.const(dense<1> : tensor<2xi32>) : hal.buffer_view
  %1 = hal.buffer_view.const(dense<2> : tensor<2xi32>) : hal.buffer_view
  %3 = hal.buffer_view.const(dense<3> : tensor<2xi32>) : hal.buffer_view
  %2 = vm.call @test(%0, %1) : (hal.buffer_view, hal.buffer_view) -> hal.buffer_view
  check.expect_eq(%2, %3) : hal.buffer_view
  return

Ok I have an op. Need to figure out how to make the dynamic shape lowerings work with it though. For some reason dim ops aren't being converted to shapex.ranked_dim ops

So the ExpandFunctionDynamicDimsPass is where the ranked_shape arguments to functions appear from. I guess what I need to do is have something create such a value from unfoldable index dims and tie_shape to the result of the dynamic constant op.

Whelp no that doesn't seem to work.
func @dynamic_tensor() -> tensor<?x?xf32> attributes { iree.module.export } {
  %input = iree.dynamic_shape_constant dense<[[-1.0, 2.0, -3.0], [4.0, -5.0, 6.0]]> : tensor<2x3xf32> -> tensor<?x?xf32>
  %shape = shapex.get_ranked_shape %input : tensor<?x?xf32> -> !shapex.ranked_shape<[?,?]>
  %tie = shapex.tie_shape %input, %shape : tensor<?x?xf32>, !shapex.ranked_shape<[?,?]>
  %res = "xla_hlo.abs"(%tie) : (tensor<?x?xf32>) -> tensor<?x?xf32>
  return %res : tensor<?x?xf32>
}

Makes no difference at all. Exactly the same IR before iree-convert-flow-to-hal. I get a remark "unable to materialize shape calculation (unsupported op 'iree.dynamic_shape_constant'?): falling back to runtime resolution", which is fine. I want runtime resolution, but is runtime resolution actually implemented?

I've gotten to a new error!
func @dynamic_tensor() -> tensor<?x?xf32> attributes { iree.module.export } {
  %input = iree.dynamic_shape_constant dense<[[-1.0, 2.0, -3.0], [4.0, -5.0, 6.0]]> : tensor<2x3xf32> -> tensor<?x?xf32>
  %dim0 = constant 2 : index
  %dim1 = constant 3 : index
  %shape = shapex.make_ranked_shape %dim0, %dim1 : (index, index) -> !shapex.ranked_shape<[?,?]>
  %tie = shapex.tie_shape %input, %shape : tensor<?x?xf32>, !shapex.ranked_shape<[?,?]>
  %res = "xla_hlo.abs"(%tie) : (tensor<?x?xf32>) -> tensor<?x?xf32>
  return %res : tensor<?x?xf32>
}

->
// *** IR Dump Before mlir::iree_compiler::(anonymous namespace)::ConvertFlowToHALPass ***
module {
  hal.executable @dynamic_tensor_ex_dispatch_0 attributes {sym_visibility = "private"} {
    hal.interface @legacy_io attributes {push_constants = 2 : i32} {
      hal.interface.binding @arg0, set=0, binding=0, type="StorageBuffer", access="Read"
      hal.interface.binding @ret0, set=0, binding=1, type="StorageBuffer", access="Write|Discard"
    }
    hal.executable.entry_point @dynamic_tensor_ex_dispatch_0 attributes {interface = @legacy_io, ordinal = 0 : i32, signature = (tensor<?x?xf32>, index, index) -> tensor<?x?xf32>}
    hal.executable.target "vmla" {
      module {
        vm.module @module {
          vm.func @dynamic_tensor_ex_dispatch_0(%arg0: !vm.ref<!vmla.interface>) {
            %zero = vm.const.i32.zero : i32
            %c4 = vm.const.i32 4 : i32
            %c1 = vm.const.i32 1 : i32
            %0 = vm.call @vmla.interface.const(%arg0, %c1) : (!vm.ref<!vmla.interface>, i32) -> i32
            %1 = vm.call @vmla.interface.const(%arg0, %zero) : (!vm.ref<!vmla.interface>, i32) -> i32
            %ref = vm.call @vmla.interface.binding(%arg0, %zero, %zero) : (!vm.ref<!vmla.interface>, i32, i32) -> !vm.ref<!vmla.buffer>
            %2 = vm.mul.i32 %1, %c4 : i32
            %3 = vm.mul.i32 %2, %0 : i32
            %ref_0 = vm.call @vmla.buffer.view(%ref, %zero, %3) : (!vm.ref<!vmla.buffer>, i32, i32) -> !vm.ref<!vmla.buffer>
            %ref_1 = vm.call @vmla.buffer.alloc(%3) : (i32) -> !vm.ref<!vmla.buffer>
            vm.call @vmla.abs.f32(%ref_0, %ref_1) : (!vm.ref<!vmla.buffer>, !vm.ref<!vmla.buffer>) -> ()
            %ref_2 = vm.call @vmla.interface.binding(%arg0, %zero, %c1) : (!vm.ref<!vmla.interface>, i32, i32) -> !vm.ref<!vmla.buffer>
            vm.call @vmla.buffer.copy(%ref_1, %zero, %ref_2, %zero, %3) : (!vm.ref<!vmla.buffer>, i32, !vm.ref<!vmla.buffer>, i32, i32) -> ()
            vm.return
          }
          vm.export @dynamic_tensor_ex_dispatch_0
          vm.import @vmla.interface.const(%interface : !vm.ref<!vmla.interface>, %offset : i32) -> i32 attributes {nosideeffects, sym_visibility = "private"}
          vm.import @vmla.interface.binding(%interface : !vm.ref<!vmla.interface>, %set : i32, %binding : i32) -> !vm.ref<!vmla.buffer> attributes {nosideeffects, sym_visibility = "private"}
          vm.import @vmla.buffer.alloc(%byte_length : i32) -> !vm.ref<!vmla.buffer> attributes {nosideeffects, sym_visibility = "private"}
          vm.import @vmla.buffer.view(%src : !vm.ref<!vmla.buffer>, %byte_offset : i32, %byte_length : i32) -> !vm.ref<!vmla.buffer> attributes {nosideeffects, sym_visibility = "private"}
          vm.import @vmla.buffer.copy(%src : !vm.ref<!vmla.buffer>, %src_byte_offset : i32, %dst : !vm.ref<!vmla.buffer>, %dst_byte_offset : i32, %byte_length : i32) attributes {sym_visibility = "private"}
          vm.import @vmla.abs.f32(%src : !vm.ref<!vmla.buffer>, %dst : !vm.ref<!vmla.buffer>) attributes {sym_visibility = "private"}
        }
      }
    }
  }
  func @dynamic_tensor() -> (tensor<?x?xf32>, !shapex.ranked_shape<[?,?]>) attributes {iree.module.export, iree.reflection = {f = "I1!R10!B7!d-1d-1", fv = "1"}} {
    %c6 = constant 6 : index
    %c2 = constant 2 : index
    %c3 = constant 3 : index
    %0 = shapex.make_ranked_shape %c2, %c3 : (index, index) -> !shapex.ranked_shape<[?,?]>
    %1 = iree.dynamic_shape_constant dense<[[-1.000000e+00, 2.000000e+00, -3.000000e+00], [4.000000e+00, -5.000000e+00, 6.000000e+00]]> : tensor<2x3xf32> -> tensor<?x?xf32>
    %2 = flow.ex.stream.fragment(%arg0 = %1 : tensor<?x?xf32>, %arg1 = %c2 : index, %arg2 = %c3 : index, %arg3 = %c6 : index) -> tensor<?x?xf32> {
      %3 = shapex.make_ranked_shape %arg1, %arg2 : (index, index) -> !shapex.ranked_shape<[?,?]>
      %4 = shapex.tie_shape %arg0, %3 : tensor<?x?xf32>, !shapex.ranked_shape<[?,?]>
      %5 = flow.dispatch @dynamic_tensor_ex_dispatch_0::@dynamic_tensor_ex_dispatch_0[%arg3 : index](%4, %arg1, %arg2) : (tensor<?x?xf32>, index, index) -> tensor<?x?xf32>
      %6 = shapex.tie_shape %5, %3 : tensor<?x?xf32>, !shapex.ranked_shape<[?,?]>
      flow.return %6 : tensor<?x?xf32>
    }
    return %2, %0 : tensor<?x?xf32>, !shapex.ranked_shape<[?,?]>
  }
}

->
buffer not preallocated

Regardless of anything else, that indicates a bug in that pass. Verifier-valid IR shouldn't be able to trigger an assert.

I think the issue is that I've lowered dynamic_shape_constant to a buffer view as part of flow-to-hal, but the stream fragment lowering wants all the arguments to be tensors or buffers.

Yup that was it. So I've got something working, but it requires a lot of manual crap in the starting IR:
func @dynamic_tensor() -> tensor<?x?xf32> attributes { iree.module.export } {
  %input = iree.dynamic_shape_constant dense<[[-1.0, 2.0, -3.0], [4.0, -5.0, 6.0]]> : tensor<2x3xf32> -> tensor<?x?xf32>
  %dim0 = iree.unfoldable_constant 2 : index
  %dim1 = iree.unfoldable_constant 3 : index
  %shape = shapex.make_ranked_shape %dim0, %dim1 : (index, index) -> !shapex.ranked_shape<[?,?]>
  %tie = shapex.tie_shape %input, %shape : tensor<?x?xf32>, !shapex.ranked_shape<[?,?]>
  %res = "xla_hlo.abs"(%tie) : (tensor<?x?xf32>) -> tensor<?x?xf32>
  return %res : tensor<?x?xf32>
}

As far as I can tell, there is no runtime shape resolution, atm. So we'll need a pass to add shape information for a bare dynamic_shape_constant dense. Canonicalization would be easiest, but need to ensure that it doesn't already have a shape associated so it doesn't get applied a bunch. I guess look for a tie_shape in the users and if there isn't one, generate it.

Whelp that's causing problems because the Shape dialect is dependent on the IREE dialect, so if I try to create Shape dialect op in the canonicalizer I create a circular dependency. Moving the op to the shape dialect causes something weird to happen that breaks VMLA lowering. Maybe because something checks the dialect and moves shape ops into the executable?

I am unable to follow what you're doing but I feel like you may have wandered off the path. Maybe work on something else for a bit to give your brain a chance to digest things?

I should probably stop to allow my stomach to digest some things anyway. We can chat tomorrow. Basically, just creating a buffer_view during flow -> hal is not enough (and actually doesn't work at all because the types get mixed up). To get the shape calculation stuff we need additional buffer lowering + something to provide the shape info. Then trying to actually write that lead to annoying issues that depend on the dialect this op is in.

So chatting with Ben, lowering to a buffer view during conversion without any manual shape specification is supposed to work. I'm going to go back to trying that and seeing what breaks. The dim op lowering isn't getting triggered, but apparently it's supposed to be.

This is the error I'm seeing
// *** IR Dump Before mlir::iree_compiler::(anonymous namespace)::ConvertFlowToHALPass ***

module {
  hal.executable @dynamic_tensor_ex_dispatch_0 attributes {sym_visibility = "private"} {
    hal.interface @legacy_io attributes {push_constants = 2 : i32} {
      hal.interface.binding @arg0, set=0, binding=0, type="StorageBuffer", access="Read"
      hal.interface.binding @ret0, set=0, binding=1, type="StorageBuffer", access="Write|Discard"
    }
    hal.executable.entry_point @dynamic_tensor_ex_dispatch_0 attributes {interface = @legacy_io, ordinal = 0 : i32, signature = (tensor<?x?xf32>, index, index
) -> tensor<?x?xf32>}
    hal.executable.target "vmla" {
      module {
        vm.module @module {
          vm.func @dynamic_tensor_ex_dispatch_0(%arg0: !vm.ref<!vmla.interface>) {
            %zero = vm.const.i32.zero : i32
            %c4 = vm.const.i32 4 : i32
            %c1 = vm.const.i32 1 : i32
            %0 = vm.call @vmla.interface.const(%arg0, %c1) : (!vm.ref<!vmla.interface>, i32) -> i32
            %1 = vm.call @vmla.interface.const(%arg0, %zero) : (!vm.ref<!vmla.interface>, i32) -> i32
            %ref = vm.call @vmla.interface.binding(%arg0, %zero, %zero) : (!vm.ref<!vmla.interface>, i32, i32) -> !vm.ref<!vmla.buffer>
            %2 = vm.mul.i32 %1, %c4 : i32
            %3 = vm.mul.i32 %2, %0 : i32
            %ref_0 = vm.call @vmla.buffer.view(%ref, %zero, %3) : (!vm.ref<!vmla.buffer>, i32, i32) -> !vm.ref<!vmla.buffer>
            %ref_1 = vm.call @vmla.buffer.alloc(%3) : (i32) -> !vm.ref<!vmla.buffer>
            vm.call @vmla.abs.f32(%ref_0, %ref_1) : (!vm.ref<!vmla.buffer>, !vm.ref<!vmla.buffer>) -> ()
            %ref_2 = vm.call @vmla.interface.binding(%arg0, %zero, %c1) : (!vm.ref<!vmla.interface>, i32, i32) -> !vm.ref<!vmla.buffer>
            vm.call @vmla.buffer.copy(%ref_1, %zero, %ref_2, %zero, %3) : (!vm.ref<!vmla.buffer>, i32, !vm.ref<!vmla.buffer>, i32, i32) -> ()
            vm.return
          }
          vm.export @dynamic_tensor_ex_dispatch_0
          vm.import @vmla.interface.const(%interface : !vm.ref<!vmla.interface>, %offset : i32) -> i32 attributes {nosideeffects, sym_visibility = "private"}
          vm.import @vmla.interface.binding(%interface : !vm.ref<!vmla.interface>, %set : i32, %binding : i32) -> !vm.ref<!vmla.buffer> attributes {nosideeffects, sym_visibility = "private"}
          vm.import @vmla.buffer.alloc(%byte_length : i32) -> !vm.ref<!vmla.buffer> attributes {nosideeffects, sym_visibility = "private"}
          vm.import @vmla.buffer.view(%src : !vm.ref<!vmla.buffer>, %byte_offset : i32, %byte_length : i32) -> !vm.ref<!vmla.buffer> attributes {nosideeffects, sym_visibility = "private"}
          vm.import @vmla.buffer.copy(%src : !vm.ref<!vmla.buffer>, %src_byte_offset : i32, %dst : !vm.ref<!vmla.buffer>, %dst_byte_offset : i32, %byte_length : i32) attributes {sym_visibility = "private"}
          vm.import @vmla.abs.f32(%src : !vm.ref<!vmla.buffer>, %dst : !vm.ref<!vmla.buffer>) attributes {sym_visibility = "private"}
        }
      }
    }
  }
  func @dynamic_tensor() -> (tensor<?x?xf32>, !shapex.ranked_shape<[?,?]>) attributes {iree.module.export, iree.reflection = {f = "I1!R10!B7!d-1d-1", fv = "1"}} {
    %0 = iree.dynamic_shape_constant dense<[[-1.000000e+00, 2.000000e+00, -3.000000e+00], [4.000000e+00, -5.000000e+00, 6.000000e+00]]> : tensor<2x3xf32> -> tensor<?x?xf32>
    %1 = dim %0, 1 : tensor<?x?xf32>
    %2 = dim %0, 0 : tensor<?x?xf32>
    %3 = muli %2, %1 : index
    %4 = shapex.make_ranked_shape %2, %1 : (index, index) -> !shapex.ranked_shape<[?,?]>
    %5 = flow.ex.stream.fragment(%arg0 = %0 : tensor<?x?xf32>, %arg1 = %2 : index, %arg2 = %1 : index, %arg3 = %3 : index) -> tensor<?x?xf32> {
      %6 = shapex.make_ranked_shape %arg1, %arg2 : (index, index) -> !shapex.ranked_shape<[?,?]>
      %7 = shapex.tie_shape %arg0, %6 : tensor<?x?xf32>, !shapex.ranked_shape<[?,?]>
      %8 = flow.dispatch @dynamic_tensor_ex_dispatch_0::@dynamic_tensor_ex_dispatch_0[%arg3 : index](%7, %arg1, %arg2) : (tensor<?x?xf32>, index, index) -> tensor<?x?xf32>
      %9 = shapex.tie_shape %8, %6 : tensor<?x?xf32>, !shapex.ranked_shape<[?,?]>
      flow.return %9 : tensor<?x?xf32>
    }
    return %5, %4 : tensor<?x?xf32>, !shapex.ranked_shape<[?,?]>
  }
}
iree/test/e2e/regression/dynamic_abs.mlir:5:12: error: failed to legalize operation 'std.dim' that was explicitly marked illegal
  %input = iree.dynamic_shape_constant dense<[[-1.0, 2.0, -3.0], [4.0, -5.0, 6.0]]> : tensor<2x3xf32> -> tensor<?x?xf32>

I had earlier assumed that this was the category of "things Stella didn't want to have to fix yet", but apparently this should be working when the operand of the dim op is lowered to a buffer view, so I'll dig deeper on this.

Yeah the issue is that the convert shape query ops looks specifically for a "BufferViewBufferOp", but this is a BufferViewConstOp, which is a pseudo op. The canonicalization to get it to a proper op probably isn't being run. Marking BufferViewConstOp illegal just makes my pattern lowering to it fail. Marking DynamicShapeConstOp as illegal moves the failure earlier. I thought dialect conversion was supposed to automatically register canonicalization patterns. So either need to do figure that out or manually expand it in the lowering.

Yeah it appears dialect conversion doesn't invoke canonicalizers. Inlining the canonicalization in my pattern still doesn't work because the DimOp lowering expects a BufferViewBufferOp, not a BufferViewCreateOp. It seems like that is excessively rigid and it should be fine with a buffer view as well.

func @dynamic_tensor() -> tensor<?x?xf32> attributes { iree.module.export } {
  %input = iree.dynamic_shape_constant dense<[[-1.0, 2.0, -3.0], [4.0, -5.0, 6.0]]> : tensor<2x3xf32> -> tensor<?x?xf32>
  %res = "xla_hlo.abs"(%input) : (tensor<?x?xf32>) -> tensor<?x?xf32>
  return %res : tensor<?x?xf32>
}

->
EXEC @dynamic_tensor
2x3xf32=[1 2 3][4 5 6]

Now trying to make the check ops support dynamic shapes. This has the unfortunate side effect that I have to drop most of the type constraints from them, which also means the IR can't be as pretty using the declarative assembly format :-(
Also running into more places where the logic for finding the shapes is falling flat. I think tie_shape ops are getting sucked into stream fragments and then getting lost for anything that uses the shape outside the fragment

You solved this I'm pretty sure.


Allow download/install on Linux (OSX?)

I'm running AutoHotkey under Wine to automate some Wine programs. However this package is marked Windows-only. Can you edit package-metadata.json (or Package Control settings) to allow installation under all platforms?
I think Package Control is deleting my package whenever I try to copy it from Windows. User-hostile action?
It seems that platform * works.

I tried manually changing the platform, but Package Control is still deleting the package whenever I try to use it. Probably caching or something. Package Control is evil.

The package includes a windows-only python script ahkexec.py, which is probably why it's not marked as cross platform already. I'm not familiar with the intricacies of sublime packages though, so maybe there's a solution that makes more sense than marking the full package as cross platform when it contains non cross platform components.

This is done as of https://github.com/wbond/package_control_channel/commit/e46f59d73e488cc1cb09c29b1d3ce031d1bc15c2


Fix flaky dns test

Example flake: https://prow.infra.cert-manager.io/view/gs/cert-manager-prow-artifacts/logs/ci-cert-manager-master-make-test/1781654108378238976
/cherrypick release-1.12
/cherrypick release-1.13
/cherrypick release-1.14
Kind
/kind flake
Release Note
NONE

/cherrypick release-1.12

/cherrypick release-1.13

/cherrypick release-1.14

Can you explain how using our own Mux fixes things compared to the DefaultServeMux?

Thanks for the comment, I actually hadn't fixed the test completely yet.
I now fixed the flake and added a proof in the description.
I also added a few code comments to explain why the changes were made.

/retest

/retest

/approve


click button using casperjs

My html for "Add to cart" look like below:

Add to Cart

I am using casperjs to click on Add to cart ,please suggest how can we click it.
I used below, but it is not working:
casper.then(function() {
casper.clickLabel('Add to Cart', 'button');
casper.wait(3000);
casper.emit('take.snapshot');
});

You need to provide more information. Do you have a case using similar code for a different selector that does work, for example?

What error are you getting?

Maybe you're clicking before phantomJS or SlimeJS has loaded the label.
I suggest using Waitforselector   instead of just casper.then()

+1 We have the same problem, just a simple this.click('button'). Can't get it work.
Any suggestion ?

As part of a cleanup effort:
Looks to be a stale help request. Assuming you've moved on to better and cooler things. Please feel free to re-open if this is still an active issue for you and we'll try our best to help out.


Linker relaxation

Hi, I'm the original author of lld and am currently developing the mold linker. I think I have an idea to improve the control flow integrity mechanism proposed by this extension, so let me explain it below.
Problem
With this extension, the compiler is required to emit a lpad instruction at the beginning of a function if the function's address might be taken. This means the compiler has to emit a lpad at the beginning of every global function conservatively because it doesn't know if the address of the function is taken by another translation unit.
In reality, most global functions are not address-taken. This results in an excessive number of unnecessary gadgets in a program and also causes code bloat. I think that's a real issue, and we should fix it.
Proposal
The linker is in a position to be able to determine if a function's address is taken or not. If no address-taking relocation refers to a function, the function is called only directly, and vice versa. The linker should be able to remove the leading lpad instruction from a function if the function's address is not actually taken.
To make this possible, we need to emit a new marker relocation and a R_RISCV_RELAX relocation at the location of the leading lpad, so that the linker is able to tell if the leading lpad is expected to be removed if not necessary. And then the linker should remove the instruction and shrink the function by 4 bytes if the function's address was not taken.
I believe this mechanism should reduce the number of available gadgets in a program drastically.
What do you guys think?

If it is accessed later by dlopen+dlsym ... say a pluginXX.so?

A global function is put into the dynamic symbol table by default only when you are creating a DSO. If you are building an executable, a function is not visible from DSOs by default, and if the function's address was not taken within that executable, we can say that the function is not address-taken for sure.
In addition that, even if you are creating a DSO, you'd usually precisely control which function should be visible from other DSOs. There are many mechanisms for it -- e.g. --dynamic-list, --export-dynamic-symbol-list, etc. If an non-exported function's address was not taken within that DSO, we can say that the function is not address-taken for sure, too.

I think this is a good idea. This should cause this optimization even if LTO was not used. Right?

Right. LTO enables the compiler to do the whole program analysis, but the linker can naturally do the same without LTO in this case.

What would be the next step? Should I write up a proposal as a change to the spec?

I think this would be an addition to the psABI for Zicfilp and not to the ISA spec. @kito-cheng is working on the psABI extensions. For now we are accumulating the psAbi targeted documentation as issues in this repo. (see #151 and #112 ). I think attaching a proposal to this issue would be a good idea. As a next step if we should also include it in the prototype.

It's not for RISC-V, but I've already implemented a prototype for x86-64. 17f0d85efb427681f70db4f46a88a17dc660649f

It's not for RISC-V, but I've already implemented a prototype for x86-64.

Thanks for sharing the link! If I understood this prototype right then it seems to be able to determine if the section is address take without needing a relaxation. What makes that possible for x86-64?

@ved-rivos A new relocation is not absolutely necessary indeed. But by convention, the linker do not remove an instruction or replace it with a compact one unless the instruction is referred to by R_RISCV_RELAX. Another thing to consider is that the linker usually handles section contents as binary blobs; so a marker relocation helps it to identify that the leading 4 bytes is a landing pad instruction that can be removed. A future ISA extension might want it, so doing it unconditionally without any marker may not be a good idea.
But it all depends on how we want to design it. We can make this relaxation an exception that it doesn't need any relocation, just emit a R_RISCV_RELAX with no corresponding relocation, or emit a pair of relocations.

@rui314 Thanks. It makes sense. I agree that being explicit with the relaxation is better and more robust.

thanks ved

Correct. Specifically, if a symbol is referred to by any relocation other than R_RISCV_CALL or R_RISCV_CALL_PLT, the symbol is considered as address-taken. In your case, A_global_function would be referred to by R_RISCV_64 and therefore considered as address-taken.

@rui314 - could you please provide a draft PR to the psABI repo?

But we first need a proof-of-concept implementation, no?

PoC is requirement when merging psABI PR, but not required during creating PR :)

@rui314 I will close this issue here and will request you to create a PR for the linker relaxation proposal in the psABI so it can be tracked in the right repo. Thank you so much!


Service not running on 1.7.9

Describe the bug
Service is not running on 1.7.9. service starts and the terminates.
Version info:
HA addon
Logs:
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Traceback (most recent call last):
File "/volvoAAOS2mqtt/main.py", line 2, in
from volvo import authorize
File "/volvoAAOS2mqtt/volvo.py", line 3, in
import mqtt
File "/volvoAAOS2mqtt/mqtt.py", line 6, in
import util
File "/volvoAAOS2mqtt/util.py", line 9, in
from const import units
File "/volvoAAOS2mqtt/const.py", line 115, in
{"name": "Distance to Service", "domain": "sensor", "id": "km_to_service", "unit": "km" if not units.get(settings["babelLocale"]) else units[settings["babelLocale"]]["distance_to_service"]["unit"], "icon": "wrench-clock", "url": VEHICLE_DIAGNOSTICS_URL},
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 'distance_to_service'
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped`

My bad, I will fix this tomorrow

Fixed with version v1.7.10


[Question]: K8sgpt CRD cannot set resource limit memory

Checklist

[X] I've searched for similar issues and couldn't find anything matching
[X] I've included steps to reproduce the behavior

Affected Components

[ ] K8sGPT (CLI)
[X] K8sGPT Operator

K8sGPT Version
No response
Kubernetes Version
No response
Host OS and its Version
No response
Steps to reproduce
When I create K8sgpt resource CRD in openshift OKD, pod always crash with OOM killed
Expected behaviour
I set resource request to increase memory in Deployment but it always set as default like this:
- resources:
limits:
cpu: '1'
memory: 512Mi
requests:
cpu: 200m
memory: 156Mi
I see that deployment managed by CRD but i couldn't see any field to declare resource limit in that.
Actual behaviour
No response
Additional Information
No response

To clarify - the ask here is to enable the K8sGPT CR to control the resource constraints of the deployment? This seems pretty sensible.

To clarify - the ask here is to enable the K8sGPT CR to control the resource constraints of the deployment? This seems pretty sensible.

This is exactly I wanted right now

Hi @AlexsJones
I'm interested in contributing to this issue. Could you provide guidance on how to get started?


Rework the CI workflow building the book

The GitHub Action workflow building the book should be reworked to use the deploy-pages Action, as done in #232.
The deployment path should also be changed as discussed in that PR.

Done in #239.


STOP "Learn More" yellow banner on every page

This issue has already been reported in November 2019 and despite this it is still not corrected in the last version of OneNote 2016 for the Windows version of Office 365.

This banner is very annoying. I'm not the only one who complains about it. It coerces the users to change their privacy preferences and that is unacceptable. You have to pay respect to each user's preferences. Please remove it or replace it with a notification that we can hide.
#485

@fmutlu -- We have sent this to the OneNote product team for them to investigate.

Here's a reply back from the OneNote product team:
We have a fix that’s currently rolled out to approximately 50% of customers in Beta Channel (sometimes referred to as Insiders Fast). This fix is bundled with other updates in the client that we’re carefully vetting, so while we expect the fix to eventually reach production channels (starting with Current Channel), we don’t have a committed timeline.


Add upstream config value max_field_width

It was ignored because of a bad git merge from upstream

oh, no this just hasn't been merged yet


Time to interactive

Changes

Add a plugin for TTI (Time to interactive)
Implement and add TTI algorithm for Boomerang

Testing

Unit test
Integ test
Manual testing

Details
TTI (Time to Interactive) is a measurement that can tell users how their web application took for them to ready for interaction.
TTI can be measurement using several different algorithms (mainly Google and Boomerang).
Since TTI is gradually being phased out, supported for the library implementations of either is limited/on path to deprecation. Therefore, in this PR, we implement the Boomerang TTI algorithm ourselves for better maintainability and avoid taking dependency on packages that are no longer actively maintained.
How can users get TTI telemetry for their web applications?
Documentation changes will come in separate PR.
Since TTI is used by limited users and incurs additional telemetry expenses (for additional events), users will have to import the TTI plugin and then configure their web client configuration to use it.
import { TTIPlugin } from "aws-rum-web";

const config = {
    sessionSampleRate: 1,
    guestRoleArn:
      "",
    identityPoolId: "",
    endpoint: "https://dataplane.rum.us-west-2.amazonaws.com",
    telemetries: ["performance", "errors", "http"],
    eventPluginsToLoad: [new TTIPlugin()],
    allowCookies: true,
    enableXRay: false,
  };

How is TTI using algorithm measured?
We implement TTI Boomerang algorithm with some modifications
Steps to TTI:

Find visually ready timestamp (highest of domcontentLoadedEnd(if available), FCP(if available), LCP(if available))
Starting from the Visually Ready timestamp, find a 500ms quiet window.

A quiet window has the following characteristics:
a) No Long Tasks
b) FPS is above 20
Boomerang TTI's measurement interval is every 100ms. Each check is performed and bucketed into a 100ms interval.

TTI is recorded as Visually ready timestamp + time from visually ready to the start of the quiet window

Note:
We do not record PageBusy metrics for now as there were some performance issues observed with applications getting blocked.
Without PageBusy metric, the algorithm requires that Long Tasks are recorded to compute a TTI. As such TTI can only be computed for now for browsers that support Long Tasks.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

I agree with the overall design. We could definitely cleanup the logic a little and teardown the listeners, but the main blocker for me is seeing if there's any way we can improve the performance of tracking FPS.


use OPENSSL_PREFIX in config

use OPENSSL_PREFIX in config

This is resolved by adding SPVM::Net::SSLeay::ConfigBuilder.


oltpbench: tatp issues

Running oltpbench tatp, peloton complains about an unsupported data type and terminates.
pp:49:CreateNewConnection] INFO  - Create new connection: id = 66
2018-01-10 10:15:54 [/home/proj/peloton-pa/peloton/src/network/network_connection.cpp:425:ProcessInitialPacket] INFO  - protocol version: 196608
2018-01-10 10:15:55 [/home/proj/peloton-pa/peloton/src/network/postgres_protocol_handler.cpp:777:ReadParamValue] ERROR - Do not support data type: 21
peloton: /home/pakhtar/proj/peloton-pa/peloton/src/network/postgres_protocol_handler.cpp:781: static size_t peloton::network::PostgresProtocolHandler::ReadParamValue(peloton::network::InputPacket*, int, std::vector<int>&, std::vector<std::pair<peloton::type::TypeId, std::basic_string<char> > >&, std::vector<peloton::type::Value>&, std::vector<short int>&): Assertion `(param_values[param_idx].GetTypeId() != type::TypeId::INVALID)' failed.
Aborted (core dumped)

tatp_config.xml.txt
Configuration file attached, as generated by benchmark.py. Ran manually, to capture output from peloton. Config:

Ubuntu 14.04 LTS
debug build of Peloton

Some notes... not systematic yet. With fix to increase table name length to 64.
With scale factor .02 (2k records), codegen, 1788 requests / sec.
With scale factor 1, codegen, 8 cores, 48.5 requests / sec
With scale factor 1, codegen, 4 cores, 70.4 requests / sec
With scale factor 1, codegen, 2 cores, 60.0 requests / sec

PR1138 will increase table name length to 64.

Ran TATP with scalefactor 1, on master as well as the upcoming changes for #1197.  It runs with  roughly the same performance.


feat: counterfactual address offchain

An offchain method to fetch the counterfactual address for the user
The minimalHandler, basicImplementation, factoryAddress, proxyContractByteCode can be moved to config file or can be fetched as an parameter.

closing since this package is deprecated for further development


Add GraphQL file loader plugin

This is a first pass at a proposal for Graphql AST file support.
It's a plugin that adds support for *.graphql and *.gql AST files used to store Graphql queries in your codebase.
Known issues:

Tests - graphql-tag loader needs to be added as a string. But makeFinderLoader doesn't seem to support that.
Jest config needs to have a transformer in order to add graphQL "support".

added in finch branch


TypeScript update for 4.x

Update TypeScript without causing breaking changes
Upgrade TypeScript to 3.9 and fix any broken issues that can be fixed without a major version update. Any PRs that can be included to fix the typings without a major version update will be pulled into this PR.
TODO:

[ ] see if I can fix #420 without causing breaking changes
[ ] pull in any other fixes that make the cut (non-breaking)

Fixes

#485
#391

Includes PRs:

#465 (@micahbales): Use Callable Type Signature for Memoize Callback in createSelectorCreator

Addresses issue https://github.com/microsoft/TypeScript/issues/20007 by adding a callable type signature for the memoize callback in createSelectorCreator. This avoids a type error when using Lodash Memoize as the first argument in createSelectorCreator.

Related

#480
#465
#484

Pull Request Test Coverage Report for Build 548532703

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

Totals

Change from base Build 548417046:
0.0%

Covered Lines:
21

Relevant Lines:
21

💛  - Coveralls

Pull Request Test Coverage Report for Build 548532703

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

Totals

Change from base Build 548417046:
0.0%

Covered Lines:
21

Relevant Lines:
21

💛  - Coveralls

Side note: why are we getting three different code coverage report comments? :)

Side note: why are we getting three different code coverage report comments? :)

Haha, good question! There is a baseline of two because Codecov and Coveralls are both running (lol, obviously).
I guess that Coveralls is having trouble distinguishing the main repo from the fork 🤷? Regardless, seems like a good reason to drop Coveralls and use Codecov instead. WDYT?
I can make a separate PR to pick one of the two real fast. It's just a few lines in the workflow file.

Side note: HOLY SMOKES BATMAN, LOOK AT THOSE LINES REMOVED FROM THE PACKAGE-LOCK.JSON!

I'm for whatever provides the most useful info and the least amount of annoyance :)
As far as I know Reselect is the only one of the Redux org repos that has code coverage reports turned on in PRs, and given the very small size of the library, I'm not sure I find that all that useful. (Granted, I'm also not the person who spent most of their time maintaining this lib in the first place :)  )

Code-wise, this seems reasonable so far. Looks like you've mostly swapped the type tests for tsc itself, and tweaked some of the arg definitions in how they extend functions?

Code-wise, this seems reasonable so far. Looks like you've mostly swapped the type tests for tsc itself, and tweaked some of the arg definitions in how they extend functions?

Yup! And set the baseline TS version to 3.9 (mainly to make the testing easier)

I'm for whatever provides the most useful info and the least amount of annoyance :)
As far as I know Reselect is the only one of the Redux org repos that has code coverage reports turned on in PRs, and given the very small size of the library, I'm not sure I find that all that useful. (Granted, I'm also not the person who spent most of their time maintaining this lib in the first place :) )

I'll make a PR to remove Coveralls, and I guess if anyone gets angry I'll just blame it on you 😆
On a more serious note: we could leave the "removal" PR up for a while and see if someone really feels adamant about it. Give it a week or so and if no one says anything we could merge it right? It's super easy to add back in whenever.
I'm also not convinced Coveralls was even running anytime recently:

Side note: made #488 to track discussion on the coverage reporters.

Just published this current PR as https://github.com/reduxjs/reselect/releases/tag/v4.1.0-alpha.0 for folks to try out.

Good enough. Merging this, and following up with a PR that actually converts the source to TS.


Enhanced navigation reducer in Volto

Fixes: #5772

@Hrittik20 when you add a pull request you need to check the CI tests and find out what fails.

You can see that the unit tests fail for plone/volto.
this means that you need to go inside your branch to packages/volto and run:
pnpm test
jest testing will run and eventually you will get failures.
hit f key and only the failed tests will run.
From there you can make changes to the code or tests and when saving the failed tests will re-run.
This way you will know if what you changed fixed the tests or not.

@ichim-david Yes, I'm working on it. I will soon make an updated PR

@ichim-david Yes, I'm working on it. I will soon make an updated PR

@Hrittik20 I think the navigation test can avoid being update as long as the id is filtered since we
have the url field.
@sneridagh what do you think, are we ok with having the id of the item added or
should we remove it?

@ichim-david How about If I update navigation.js by adding a check within the reducer logic that compares the incoming navigation items with the existing ones based on their URLs?
function isSameItem(item1, item2) {
  return item1.url === item2.url;
}
export default function navigation(state = initialState, action = {}) {
  let hasExpander;
  switch (action.type) {
    case `${GET_NAVIGATION}_PENDING`:
      return {
        ...state,
        error: null,
        loaded: false,
        loading: true,
      };
    case `${GET_CONTENT}_SUCCESS`:
      hasExpander = hasApiExpander(
        'navigation',
        getBaseUrl(flattenToAppURL(action.result['@id'])),
      );
      if (hasExpander && !action.subrequest) {
        const newItems = getRecursiveItems(
<EMAIL_ADDRESS>        );
        const hasSameItem = newItems.some(incomingItem =>
          state.items.some(existingItem => isSameItem(incomingItem, existingItem))
        );
        if (!hasSameItem) {
          return {
            ...state,
            error: null,
            items: newItems,
            loaded: true,
            loading: false,
          };
        }
      }
      return state;

@Hrittik20 I want to hear what @davisagli  or @sneridagh has to say about this change, we might be ok to have also the id present without having todo any filtering,  or we can simply filter it when destructuring it here https://github.com/plone/volto/pull/5817/files#diff-c1e66aca1aa305458203941b7e7d598522bbecc56ead1841087e2393b93a57b6R37


Unhandled promise rejections after redirect

This issue tracker is for Bug Reports and Feature Requests only.
Please direct requests for help to StackOverflow.  See http://bit.ly/UIR-SOF for details.
This is a:

[x] Bug Report
[ ] Feature Request
[ ] General Query

My version of UI-Router is: v1.0.0-rc.1
Bug Report
Current Behavior:
Unhandled promise rejection errors in console
Expected Behavior:
No unhandled promise rejection errors in console
Link to Plunker that reproduces the issue:
Too complex to create a plunkr test case.
Since update to v1.0.0-rc.1, I noticed that a lot of unhandled promise rejection errors were logged to the console in some complex transition sequences, involving multiple onBefore, onStart and redirect hooks.
I made sure that all promises in the application code had their catch handlers attached to avoid unhandled rejection errors but that didn't fix the issue.
I then decorated $qProvider as described here https://github.com/angular-ui/ui-router/issues/2889#issuecomment-273944742 and narrowed it down to this line: https://github.com/angular-ui/ui-router/blob/20d1fcda5bc4c5e0c2b0b08fb6b1b6052a3cf7d4/src/directives/stateDirectives.ts#L567
If I add a catch() there, no unhandled promise rejection errors are logged to the console.
Logging the current transition promise stack with the following code:
trans.promise.then(update).catch(function (error) {
                            console.log("Unhandled promise rejection", error, trans.promise.$$state.stack);
                        });

I can see that error contains a Rejection with a target state that I'm redirecting to:
Rejection {type: 2, message: "The transition has been superseded by a different transition", detail: TargetState, redirected: true}

and trans.promise.$$state.stack contains:
Error
    at Promise.set [as $$state] (.../decorator-service.js:23:36)
    at new Promise (.../libs/angular.js:16789:18)
    at new Deferred (.../libs/angular.js:16780:34)
    at Function.defer (.../libs/angular.js:16776:12)
    at new Transition (.../libs/angular-ui-router.js:6081:38)
    at TransitionService.create (.../libs/angular-ui-router.js:4337:16)
    at StateService.transitionTo (.../libs/angular-ui-router.js:5613:56)
    at StateService.go (.../libs/angular-ui-router.js:5514:21)
    at .../libs/angular-ui-router.js:7929:24
    at .../libs/angular.js:20178:31

The same error is logged 4 times consecutively.

Thank you so much for tracking this down!  I wish I had noticed this analysis earlier.  I'll get a .catch() handler in there ASAP.

1.0.4 is released


fix: Set width to pseudoelement to wrap filter box

SUMMARY
Set width to pseudoelement to wrap filter box
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
BEFORE

AFTER

TEST PLAN
Select any chart to explore
Expand Query section
Click Filters
Select "NOT IN" or "IN"
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API
[x] Fixes https://github.com/apache/superset/issues/12139

@junlincc @rusackas

@junlincc @rusackas

Codecov Report

Merging #12306 (0b4af62) into master (d4a854e) will decrease coverage by 3.84%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12306      +/-   ##
==========================================
- Coverage   67.17%   63.33%   -3.85%
==========================================
  Files        1002      485     -517
  Lines       49231    29865   -19366
  Branches     5000        0    -5000
==========================================
- Hits        33073    18914   -14159
+ Misses      16035    10951    -5084
+ Partials      123        0     -123

Flag
Coverage Δ

cypress
?

javascript
?

python
63.33% <ø> (-0.88%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.62%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.59% <0.00%> (-12.25%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/databases/commands/create.py
83.67% <0.00%> (-8.17%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/connectors/sqla/models.py
85.22% <0.00%> (-6.28%)
:arrow_down:

superset/commands/importers/v1/examples.py
40.90% <0.00%> (-4.55%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

... and 533 more

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 d4a854e...0b4af62. Read the comment docs.

Codecov Report

Merging #12306 (0b4af62) into master (d4a854e) will decrease coverage by 3.84%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12306      +/-   ##
==========================================
- Coverage   67.17%   63.33%   -3.85%
==========================================
  Files        1002      485     -517
  Lines       49231    29865   -19366
  Branches     5000        0    -5000
==========================================
- Hits        33073    18914   -14159
+ Misses      16035    10951    -5084
+ Partials      123        0     -123

Flag
Coverage Δ

cypress
?

javascript
?

python
63.33% <ø> (-0.88%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.62%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.59% <0.00%> (-12.25%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/databases/commands/create.py
83.67% <0.00%> (-8.17%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/connectors/sqla/models.py
85.22% <0.00%> (-6.28%)
:arrow_down:

superset/commands/importers/v1/examples.py
40.90% <0.00%> (-4.55%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

... and 533 more

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 d4a854e...0b4af62. Read the comment docs.

@maloun96 Could you verify this?
I see one issue there - > When I put multiple options there I cannot click Save button because modal buttons are covered with edit field.
https://user-images.githubusercontent.com/25153919/103891639-7e82c200-50ea-11eb-92c6-e7e9e3a8516b.mov

@maloun96 Could you verify this?
I see one issue there - > When I put multiple options there I cannot click Save button because modal buttons are covered with edit field.
https://user-images.githubusercontent.com/25153919/103891639-7e82c200-50ea-11eb-92c6-e7e9e3a8516b.mov

I'm also seeing this issue, adding scroll bar could introduce regressions in other area, so i would not recommend. is it possible to auto adjust the popover's height?
Thanks for the PR, Thanks for testing! @maloun96 @adam-stasiak 🙏
cc: @michael-s-molina

I'm also seeing this issue, adding scroll bar could introduce regressions in other area, so i would not recommend. is it possible to auto adjust the popover's height?
Thanks for the PR, Thanks for testing! @maloun96 @adam-stasiak 🙏
cc: @michael-s-molina

@junlincc  @adam-stasiak
https://user-images.githubusercontent.com/8277264/104003643-58712680-51ab-11eb-9f0d-534fba916376.mp4

@junlincc  @adam-stasiak
https://user-images.githubusercontent.com/8277264/104003643-58712680-51ab-11eb-9f0d-534fba916376.mp4

getting some webpack errors when i run docker for this PR. tried all the tricks you guys taught me but nothing worked. any idea how to solve? @rusackas @nytai @zhaoyongjie?

getting some webpack errors when i run docker for this PR. tried all the tricks you guys taught me but nothing worked. any idea how to solve? @rusackas @nytai @zhaoyongjie?

@junlincc That's weird, none of those errors seem related to files in this PR. Not seeing anything obvious

@junlincc That's weird, none of those errors seem related to files in this PR. Not seeing anything obvious


configure and create cacheDirectory

as discussed in https://github.com/rectorphp/rector/discussions/8357#discussioncomment-8420673

Ok, thank you @staabm


Update sbt-microsites to 1.4.2

Updates com.47deg:sbt-microsites from 1.3.4 to 1.4.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.47deg", artifactId = "sbt-microsites" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.47deg", artifactId = "sbt-microsites" }
}]

labels: sbt-plugin-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #697.


Added iShaniTechNepal to companies.json

What kind of change does this PR introduce?

[ ] Bug Fix
[ ] Documentation change
[X] Added new company
[ ] Other(s)

Why was this change needed?
iShaniTechNepal was not added in companies.json

Please include #82 in this same PR. Don't create multiple PRs if you already have a PR opened!

Closing this due to inactivity!

@dependabot close


demo.sh updates

Adds a post setup configuration step
To keep things somewhat cleaner, I also moved all the curl calls into a docker_curl function, and a get_login_token function. As well as moving the underlying setup and config data into json files.
It should be pretty easy to fix the cert mismatch stuff, but there's inconsistency about whether the hostname is fleet or kolide, so I wasn't really sure what correct was. Adding in SNI wouldn't be that hard either.

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


Smart Plug won't connect to vtrust-flash

Device: Gosund smart plug wp3.
RPi 1B
Wifi adpater: TL-WN725N
Firmware: ?
When I run start_flash.sh, vtrush-flash starts and I can connect to it with my phone.  I connect in the normal IP range <IP_ADDRESS>.  When I put the plug in programming mode, it blinks quickly for a few seconds and then stops, so something it happening.  I can't see any evidence of this in the log files.
The install_prereq script did not have any errors.
How do I diagnose what is happening?
Checking for network interface wlan0... Found.
Checking UDP port 53... Occupied by dnsmasq with PID 370.
Port 53 is needed to resolve DNS queries
Do you wish to terminate dnsmasq? [y/N] y
Attempting to stop dnsmasq.service
Checking UDP port 67... Available.
Checking TCP port 80... Available.
Checking TCP port 443... Available.
Checking UDP port 6666... Available.
Checking UDP port 6667... Available.
Checking TCP port 1883... Occupied by mosquitto with PID 331.
Port 1883 is needed to run MQTT
Do you wish to terminate mosquitto? [y/N] y
Attempting to stop mosquitto.service
Checking TCP port 8886... Available.
Starting AP in a screen.
Starting web server in a screen
Starting Mosquitto in a screen
Starting PSK frontend in a screen
Starting Tuya Discovery in a screen
======================================================
IMPORTANT

Connect any other device (a smartphone or something) to the WIFI vtrust-flash
This step is IMPORTANT otherwise the smartconfig may not work!
Put your IoT device in autoconfig/smartconfig/pairing mode (LED will blink fast). This is usually done by pressing and holding the primary button of the device
Make sure nothing else is plugged into your IoT device while attempting to flash.
Press ENTER to continue

======================================================
Starting smart config pairing procedure
Waiting for the device to install the intermediate firmware
...........Put device in EZ config mode (blinking fast)
Sending SSID                  vtrust-flash
Sending wifiPassword
Sending token                 00000000
Sending secret                0101
................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
................
SmartConfig complete.
Resending SmartConfig Packets
................
SmartConfig complete.
Resending SmartConfig Packets
................
SmartConfig complete.
Resending SmartConfig Packets
................
SmartConfig complete.
Resending SmartConfig Packets
................
SmartConfig complete.
Resending SmartConfig Packets
................
SmartConfig complete.
Resending SmartConfig Packets
..................
SmartConfig complete.
Resending SmartConfig Packets
.................
SmartConfig complete.
Resending SmartConfig Packets
.............
Device did not appear with the intermediate firmware
Check the *.log files in the scripts folder
Do you want to try flashing another device? [y/N] n
Exiting...
mqtt log
1577577513: mosquitto version 1.5.7 starting
1577577513: Using default config.
1577577513: Opening ipv4 listen socket on port 1883.
1577577513: Opening ipv6 listen socket on port 1883.
^C1577577660: mosquitto version 1.5.7 terminating
psk log
new client on port 443 from <IP_ADDRESS>:48060
('could not establish sslpsk socket:', SSLError(1, u'[SSL: NO_SHARED_CIPHER] no
shared cipher (_ssl.c:727)'))
new client on port 443 from <IP_ADDRESS>:52630
('could not establish sslpsk socket:', SSLError(1, u'[SSL: NO_SHARED_CIPHER] no
shared cipher (_ssl.c:727)'))
new client on port 443 from <IP_ADDRESS>:46375
('could not establish sslpsk socket:', SSLError(1, u'[SSL: NO_SHARED_CIPHER] no
shared cipher (ssl.c:727)'))
new client on port 443 from <IP_ADDRESS>:40617
('could not establish sslpsk socket:', SSLError(1, u'[SSL: NO_SHARED_CIPHER] no
shared cipher (ssl.c:727)'))
^CTraceback (most recent call last):
File "./psk-frontend.py", line 111, in
main()
File "./psk-frontend.py", line 104, in main
r,, =  select.select(readables, [], [])
KeyboardInterrupt
udp log
Listening for Tuya broadcast on UDP 6666
Listening for encrypted Tuya broadcast on UDP 6667
^C
web log
Listening on <IP_ADDRESS>:80
^CReceived SIGINT, exiting...
wifi log
Attempting to stop wpa_supplicant
Configuring AP interface...
RTNETLINK answers: File exists
Starting DNSMASQ server...
Starting AP on wlan0...
Configuration file: /dev/stdin
Using interface wlan0 with hwaddr 34:e8:94:df:23:27 and ssid "vtrust-flash"
wlan0: interface state UNINITIALIZED->ENABLED
wlan0: AP-ENABLED
wlan0: AP-STA-CONNECTED a0:cb:fd:27:bd:90
wlan0: interface state ENABLED->DISABLED
wlan0: AP-STA-DISCONNECTED a0:cb:fd:27:bd:90
wlan0: AP-DISABLED
wlan0: CTRL-EVENT-TERMINATING
nl80211: deinit ifname=wlan0 disabled_11b_rates=0
AP closed
Stopping DNSMASQ server...

So I did a pcap recording and looked through it  I could not find any record of the smart plug responding.  I see the access point sending out UDP messages to a lot of different IP addresses but nothing responds.
The smart plug has been connected to the online server so it likely has new the new firmware.  Is there a way to use the app to get the device to connect to the vtrust-flash network?

#472 is my open issue which sounds the same. There i got the suggestion to use the tuyapi project to connect it to v-trust. You could give it a shot, although it didn't work for me (check the linked issue for instructions)

So, I got some time to get the tuyapi project installed.  I ran the script as suggested and did not get any errors, but it did not remove the device from my network.  I'm not sure how to debug the script to see what is going on.

I eventually got the plugs to flash. The TP Link usb wifi adapter I was using has problems with AP mode. I could see the AP from my phone but it never really connected. I tried a different wifi adapter and it worked the first time.


"class" under volume needs to be "storageClass" as it is a protected term in python

This will be fixed in #93


Private function to collect early signals

So this is basically the following idea:

It takes us some time to get to the point where we add signal handlers to the event loop
"What happens if we receive a signal before that?"
Idea: very early on, we can set up a signal handler (that is not part of the async stuff, just using signal.signal), and we can collect any signals that come in...
...and then later when we finally set up the signal handlers on the event loop, we can replay the previously-collected signals, if any, that were received earlier during startup.

I don't know if this idea is any good, and I'm approaching a conclusion that it is low value.  Certainly too low value in exchange for the additional code that has to go in to support it. We'd still have the same problem for the time period before signal.signal is set, so what would really be saved? Not very much. So I am very likely going to close this PR at some point.

hey

123

test

Ok decided I don't care about this mostly hypothetical idea. Closing.


[ProVerif] Translate early return version of question marks

The translation of question marks into early returns (cf. #559) means the handling of question marks by the backend has to be adapted.

Addressed in #564 .


Request: Disable test snapshot feature for individual tests

What problem does your feature solve?
The test snapshot feature causes tests to run significantly slower. While this isn't an issue for a typical unit test, I've encountered situations where I want to write a stress test that takes unreasonably long to run.
What would you like to see?
An attribute or some configuration a developer can set to have the test snapshot feature disabled for a specific test or test suite.
What alternatives are there?
None

I'm of adding an option to the env to toggle this behaviour. Something like this:
fn test() {
    let env = Env::new_with_config(EnvConfig { capture_snapshot_at_drop: false });
    ...
    // No test snapshot written at drop.
}

Default behaviour would be equivalent to:
fn test() {
    let env = Env::new_with_config(EnvConfig { capture_snapshot_at_drop: true });
    ...
    // Test snapshot written at drop.
}

or:
fn test() {
    let env = Env::new_with_config(EnvConfig::default());
    ...
    // Test snapshot written at drop.
}

or:
fn test() {
    let env = Env::default();
    ...
    // Test snapshot written at drop.
}

Feedback appreciated.

This looks great!
I agree that we should keep Env::default() as-is.

I've opened a change incorporating the above design:

https://github.com/stellar/rs-soroban-sdk/pull/1235

@mootz12 If you happen to want to try it out before it's merged, please leave feedback!


Remove AssemblyInfo.cs and move attributes to the *.csproj file. …

…This enables setting assembly version via command line and CI.

Build and pack: dotnet build -c Release -p:Version=9.0.0 -p:InformationalVersion=9.0.0-beta11 dotnet pack -c Release --no-build  -p:Version=9.0.0 -p:InformationalVersion=9.0.0-beta11
Pack (with implicit build) dotnet pack -c Release -p:Version=9.0.0 -p:InformationalVersion=9.0.0-beta11

What issue does this PR address?
This is part of solution for the #498. Fixing NuGet publishing
Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements

[x] The commit follows our guidelines
[x] Unit Tests for the changes have been added (for bug fixes / features)

@mivano I removed AssemblyInfo.cs completely. Authors, Title, Description, Copyright are now in *.csproj file.
When I now run following command in the root folder of the repository on my local machine:

dotnet pack -c Release -p:Version=9.0.0 -p:InformationalVersion=9.0.0-beta11

I get this output:

Alternatively, to insert version during the build into assemblies and, at the later stage, use those assemblies to pack them - --no-build can be used:

dotnet build -c Release -p:Version=9.0.0 -p:InformationalVersion=9.0.0-beta11
dotnet pack -c Release --no-build  -p:Version=9.0.0 -p:InformationalVersion=9.0.0-beta11


add missing growth patterns

2, 3, 4, 5 are not represented.

Yes, Exactly! I was looking through the current test set and seeing what was not represented.
Another option besides making the version of simple is seeing if we can change an existing model that is already being run and runs quickly. That way, we make the model set more orthogonal, rather than having simple with all the same features but just 1 difference in MG options.

With the approach I suggested, it would be more like a unit test of growth (or of all biology) that is run on request if the code change is anything in ss_biofxn.tpl.  A similar type of test could run all selectivity options if there is any change in ss_selex.tpl.

Hmm, that does make some sense. We could of course do both approaches, as I'm not sure which one will pan out to be easier. The unit test one sounds like it would take more time to me, but maybe I am overthinking it.

Any "simple" run is rather quick.  So, I was thinking that the unit test runs I sketched would be an additional gha that is only invoked if certain files are changed.

Thanks, Rick, I think we are on the same page!
By "take more time", I meant time to develop - I agree the simple runs will run quick once they are set up!


d455 not getting recognised by realsense viewer

librealsense
2.55.1 RELEASE

OS
Linux

Please provide a description of the problem
I am using a intel realsense depthcamera D455 with jetson orin nano. Camera is not being detected by the intelrealsense viewer sdk 2.0. but it is getting detected by jetson orin nano . i have checked it using "lsusb" command

Hi @RISHI-VEMPATI  Are you using JetPack 6 on your Orin Nano, please?  If you are, JetPack 6 support was not introduced into the SDK until the current latest SDK version 2.56.1.  It is possible to use 2.55.1 with a Jetson with JetPack 6 if the SDK is built from source code with a build script provided by the libuvc backend procedure at the link below.
https://github.com/IntelRealSense/librealsense/blob/master/doc/libuvc_installation.md
If you need to use the RealSense Viewer tool then it can be included in the libuvc build of the SDK by changing line 46 of the 'libuvc_installation.sh' build script to the line below.
cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release -DBUILD_WITH_CUDA=on -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true
https://github.com/IntelRealSense/librealsense/blob/master/scripts/libuvc_installation.sh#L46

Yea, i am using jetpack 6.0 . I am working on building an open source AMR for a project using ROS2 humble hawksbill for which I need Ubuntu 22.02. so , I am using jetpack 6.0.

JetPack 6 does not contain a function called hiddraw that RealSense cameras equipped with an IMU component (such as D455) depend upon.
If the 'MIPI driver' at the link below is installed then it can provide IMU support for RealSense cameras that are on a USB cable connection.
https://github.com/IntelRealSense/realsense_mipi_platform_driver
Due to the complexity of installing this driver though, I strongly recommend the much easier option of building the librealsense SDK with the libuvc backend or RSUSB backend method mentioned above.

i have followed the instructions for building the librealsense SDK with the libuvc backend. i have also changed the line 46 of the mentioned script. but when i am running 'rs-enumerate-devices' in terminal i am getting that no devices detected even though it is plugged in, i have also attached the screenshot

Thank you for the update.  Does it make a difference if you launch rs-enumerate-devices in sudo admin permissions mode with the command  sudo rs-enumerate-devices

no the output didn't change

=Is the camera still undetected if you unplug the micro-sized end of the USB cable from the base of the camera, turn the connector around the other way and re-insert it (USB-C cables are two-way insertion at the micro-sized end).

i am using a type-A to type-C cable. with type-A port connected to jetson orin nano and type-C port to camera. one thing i would like to add is that i came to know that this not D455 camera, instead it is a D457 camera.

D457 cameras are designed to be used with a high speed GMSL cable by default and are not detected when plugged into a USB port.  To use the camera on a USB connection, you need to take off a small removable cap on top of the camera and move a physical switch under the cover sideways into the 'USB' position.  The D457 should then be detected as a D455.
Instructions for performing this mode change can be found at the link below.
https://support.intelrealsense.com/hc/en-us/community/posts/14840675121043/comments/14843232242835

i have already changed the physical switch. the camera is being detected on other PC's with USB port.

It could then be an issue with insufficient power being provided by the USB port on the Orin Nano - just enough for lsusb to read its details but not enough for a program like rs-enumerate-devices to access it.
Do you have the option to test the camera with a mains electricity powered USB hub instead of plugging it directly into the Orin Nano in order to confirm whether it is a power related issue?

i have connected the camera to my PC, it is working which implies that it is getting power properly. So, inorder to check the power out by USB Port i have used a multimeter and esp32. i have measured volatge between Vin and Gnd. it turnsout it is 4.78V, 4.9V in orin nano USB Port, My PC's USB Port respectively.

Although USB is a standard, not all USB ports are equal and the in-built ports on one machine (especially single-board computers) may have problems that a desktop / laptop PC's ports do not.
Sometimes though it is not related to insufficient power but instead due to the brand of USB controller that a manufacturer has chosen to handle their in-built ports (some USB controller brands work better with RealSense cameras than others).
However, other Orin Nano users have been able to successfully use their RealSense cameras with this board, which makes it less likely that your issue is due to a problem in the Orin Nano brand of Jetson board.
There have been rare cases for Jetson users where the libuvc backend method has not worked but the RSUSB backend method has.  The libuvc and RSUSB methods both work in a similar way (bypassing the kernel) so there should not be a difference between them, but apparently there sometimes is.
The easiest way to test this may be to use the libuvc_installation.sh script again, but this time change line 46's -DFORCE_LIBUVC=true flag to -DFORCE_RSUSB_BACKEND=true

Still getting the same output

Have you tested with other programs, such as rs-hello-realsense

Tried this now. It still shows no devices detected.

I examined this case again thoroughly from the beginning, considering every aspect.

The camera works on PCs but not on Jetson.
The camera is detected by lsusb but not by RealSense programs such as rs-enumerate-devices and rs-hello-realsense.
Launching programs with sudo admin permissions does not make a difference.
Building the librealsense SDK with the libuvc and RSUSB backends does not make a difference.
Although JetPack 6 is being used with a camera model that has an IMU (D457), which can cause non-detection, libuvc and RSUSB can solve this problem.  But not apparently in this case.
The D457's mode switch is confirmed to be moved sideways into the 'USB position.  The camera would not work on other computers if the switch was not in USB mode.

This does not leave many remaining possibilities to explore unfortunately, except for testing the camera on a USB hub to test whether your particular Jetson board has been equipped with a USB controller brand by the manufacturer that is not fully compatible with RealSense cameras.  A hub uses its own separate USB controller and so plugging a camera into the hub instead of a computer's built-in port can enable the camera to work on a hub port when it will not detect on a built-in port.

I removed the binary installation of the package. Now, the camera is being detected properly. Thank you for your swift responses for the issue. I am grateful for your help.

You are very welcome.  It's excellent news that you succeeded.  Thanks very much for the update!


Unable to instantiate pyspark_ai on cloud.databricks.com

Steps to reproduce:
Start a python notebook.
!pip install pyspark-ai
!export OPENAI_API_KEY='sk-...'
from pyspark_ai import *
TypeError: dataclass_transform() got an unexpected keyword argument 'field_specifiers'

@gkovaig Thanks for the input. Yes there is a dependency conflict. I will fix it.

Hi @gkovaig ,
could you try
%pip install pyspark-ai

instead?
!pip install libraries only in driver node while %pip install it in driver and works via nfs. It's almost always recommended to use %pip on databricks

Thank yhou @gengliangwang .  I went ahead and tried it this way.  This caused a different error:
%pip install pyspark-ai
from pyspark_ai import *
1
from pyspark_ai import *
ModuleNotFoundError: No module named 'pyspark_ai'
ModuleNotFoundError                       Traceback (most recent call last)
File :1
----> 1 from pyspark_ai import *
File /databricks/python_shell/dbruntime/PythonPackageImportsInstrumentation/init.py:171, in _create_import_patch..import_patch(name, globals, locals, fromlist, level)
166 thread_local._nest_level += 1
168 try:
169     # Import the desired module. If you’re seeing this while debugging a failed import,
170     # look at preceding stack frames for relevant error information.
--> 171     original_result = python_builtin_import(name, globals, locals, fromlist, level)
173     is_root_import = thread_local._nest_level == 1
174     # level represents the number of leading dots in a relative import statement.
175     # If it's zero, then this is an absolute import.
ModuleNotFoundError: No module named 'pyspark_ai'

@gkovaig Which runtime version are you using?

@gengliangwang here are the details of the env:
12.2 LTS (includes Apache Spark 3.3.2, Scala 2.12)

@gkovaig I can't reproduce the error with '%pip install pyspark-ai'.
Have you managed to make it work?

@gengliangwang I tried this again today.  The good news: from pyspark_ai import * does not throw an error any more.
In the next statement, it appears the library attempts to use gpt4 by default in this statement:
spark_ai = SparkAI()
As you may be aware, availability of gpt4 is limited at this point.  Is there a way to override this and pass in the model_name model_name='gpt-3.5-turbo' instead?

@gkovaig FYI gpt-4 is accessible to all now: https://openai.com/blog/gpt-4-api-general-availability
If it still doesn't work, please try creating a new API key

@gengliangwang Here is my latest attempt (after using a newly generated openai api key):
!export OPENAI_API_KEY='sk-...'
from pyspark_ai import *
spark_ai = SparkAI()
ValidationError: 1 validation error for ChatOpenAI
root
Did not find openai_api_key, please add an environment variable OPENAI_API_KEY which contains it, or pass  openai_api_key as a named parameter. (type=value_error)

Can you verify that the way I'm passing the openai_api_key is correct?  (I also tried the 3 lines as three separate cells in a pyspark notebook, but the result is the same).

The call to SparkAI() does not take a named parameter called openai_api_key.

Ok, here is a solution that worked (thanks to https://github.com/sdf94/blog-posts/blob/master/english-sdk/pyspark_ai.ipynb)
import os
os.environ["OPENAI_API_KEY"] = "sk-..."
spark_ai = SparkAI()
This construct works without an error.
Two notes:
a) Even when environment variable OPENAI_API_KEY is set, it does not seem to be picked up correctly using the "!export ..." construct.  This may be a 'feature' of the runtime environment for Databricks Cloud, perhaps related to its use of clusters as opposed to single node hosts.
b) It is not clear to me how you would explicitly pass in openai_api_key or llm as parameters to SparkAI().

I also could not access ChatGPT 4 today, even when I created an new API key and have a paid subscription. I got the following error when running spark_ai.create_df:
InvalidRequestError: The model `gpt-4` does not exist or you do not have access to it. Learn more: https://help.openai.com/en/articles/7102672-how-can-i-access-gpt-4.
Is there a way we can specify model_name='gpt-3.5-turbo' as @gkovaig pointed out?

@gkovaig @kevisinigo To use gpt-3.5-turbo
from langchain.chat_models import ChatOpenAI

llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
spark_ai = SparkAI(llm=llm)

Thank you, @gengliangwang - that worked!
(Note: on colab as of 2023-08-15 there is an incompatible version of protobuf.
I had to execute the following commands:
%pip uninstall -y protobuf
%pip install --no-binary protobuf protobuf
before this command:
%pip install pyspark_ai


📖 Ingestion: Update User facing documentation

User Story
As a… user of the AP Ingestion Service
I need/want/expect to… be able to read documentation about the solution
So that… I can understand what it does, its limitations and how I can consume it.
Useful Contacts
Gary + Jacob W
User Types
AP Ingestion Users
Additional Information
Information on the solution is located here and in this ticket..
Definition of Done

[ ] Documentation has been written / updated

I've began writing a PR for this piece of work here.

Documentation for user's complete.


AddRouteAnnotationRector optional null fix

[x] add failing test case
[ ] implement fix

fixes https://github.com/rectorphp/rector-symfony/issues/242

Resolved in https://github.com/rectorphp/rector-symfony/pull/246


Tensorflow Debugger eats disk space with RNNs

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.3
Python version:  3.5

Describe the problem
I have an RNN that I'm trying to debug using LocalCLIDebugWrapperSession which runs on very long sequences (4800 steps). Even for a basic LSTM cell that I apply via tf.nn.dynamic_rnn, tfdbg uses a lot of disk space (>5 GB sometimes). When I accidentally collected gradient infromation via tf.contrib.layers.optimize_loss(..., summaries=["gradients", ...]), this ballooned even more to >70 GB (which promptly crashed my laptop).
From inspecting the tfdbg dump in /tmp/, it looks like this is because tfdbgdumps out information for each time step. Especially withtf.contrib.layers.optimize_loss` capturing gradients, this means that there are hundreds (thousands?) of small files being created on each time step.
In some sense, this is expected behavior (each time step represents a group of TF operations), but using 70 GB seems like a pretty sharp-edged API that's easy to mis-use. I'm not sure what to really do here -- maybe there's a way to somehow compress these files or to combine all these small files across time steps into one large file? It could also just be a documentation problem.

This possibility of filling large amount of disk space while using tfdbg to debug certain models is documented in this FAQ section: https://www.tensorflow.org/programmers_guide/debugger#frequently_asked_questions,
under the heading
Q: The model I am debugging is very large. The data dumped by tfdbg fills up the free space of my disk. What can I do?
But I'm considering adding a configurable cap on how much disk space tfdbg consumes by default.

Huh... I somehow missed that FAQ section 😨.
One other problem with having hundreds of thousands of small files is that the tfdbg UI regularly freezes whenever I try to use it. Looking at strace, it looks like it's looping through all the files it created
...
newfstatat(14, "Sum_0_DebugIdentity_1503415213363935", {st_mode=S_IFREG|0664, st_size=15705, ...}, AT_SYMLINK_NOFOLLOW) = 0
unlinkat(14, "Sum_0_DebugIdentity_1503415213363935", 0) = 0
newfstatat(14, "Sum_1_0_DebugIdentity_1503415270902805", {st_mode=S_IFREG|0664, st_size=15709, ...}, AT_SYMLINK_NOFOLLOW) = 0
unlinkat(14, "Sum_1_0_DebugIdentity_1503415270902805", 0) = 0
...

+1, found that it was very slow once turn on tfdbg dump by DumpingDebugWrapperSession, and I post the comparison info about my example training(300 steps), as below:
turn off tfdbg dump:
real	0m9.759s
user	0m8.315s
sys	0m1.625s
turn on tfdbg dump:
real	2m24.094s
user	2m19.819s
sys	0m12.707s

It has been 14 days with no activity and this issue has an assignee.Please update the label and/or status accordingly.

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 257 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 272 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 287 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 302 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 317 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 331 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 347 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 362 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @caisq: It has been 377 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Add get_secret_key() function and crypto module for issue #33

Adds a crypto module with a get_secret_key() function.
In main.cookiecutter() the crypto.get_secret_key() function is injected into the cookiecutter context.
Included test coverage.

Any update?

@xyb I'm afraid we will need sponsorship for implementing and maintaining a plugin system. 😟


Add cors header for web interfaces

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.想当当 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Implement logfile rotation by size

After #3010 is merged we'll be doing our logging on another thread and using slog instead of log. This is excellent, and slog almost fulfills our needs, except there is no file rotation.
This feature is desirable because it lets us prevent log files becoming huge. This has been a problem previously in high load deployments.
We should alter the rotating file logger in src/util/file_log.rs to rotate based on file size.
We can get the size of a file via std::fs::Metadata.

Are you planning to use logrotate utility (For Linux only) or any other mechanism ?

@vbmade2000 This is already implemented 😆 https://github.com/tikv/tikv/pull/6148

@vbmade2000 This is already implemented 😆 https://github.com/tikv/tikv/pull/6148