CostDistance "thread 'main' panicked at 'called Option::unwrap() on a None value'"

WhiteboxTools v2.3.0, Ubuntu 22.04.3 LTS, via Conda 23.7.2
I have two input rasters for the CostDistance tool.

Source: A byte (8-bit unsigned integer) raster with 1 for source locations, and 0 (nodata) everywhere else.
Cost: A byte raster with 1 for valid places, and 0 (nodata) everywhere else. (The cost value of 1 is intended to represent a simple constant friction value, i.e. distance on a plane).

I'm attempting to produce an output that expresses the "network distance" from the source pixels, with traversal limited to the cost pixels. So each non-0 (non-nodata) pixel in the cost raster will have a value of 0 in the output (where the source and cost rasters coincide), or an integer >1 where they are some distance from the source pixels. Nodata values (which are the same in the source and the cost) should remain nodata, and do not need to be considered. Both the source and the cost represent a combined rasterisation of coastlines, deep rivers, and lake edges. I'm attempting to measure traversal along these "edges", ignoring the possibility of over-land or over-water traversal—by modelling everything else as no data.
Blue = "source" (valid value is 1, everything else is nodata=0); red = "cost" (constant value of 1, everything else is nodata=0). Note that everything that has a value of 1 in source also has a value of 1 in cost, i.e. that blue is merely drawn on top of red values in these images.

export RUST_BACKTRACE=full && \
whitebox_tools -r="CostDistance" -v \
--source=navigable-water-within-distance-2018.tif \
--cost=navigable-water.tif \
--backlink=navigable-water-reachable-backlink-2018.tif \
--output=navigable-water-cost-distance-2018.tif

****************************
* Welcome to CostDistance  *
* Powered by WhiteboxTools *
* www.whiteboxgeo.com      *
****************************
Reading source data...
Reading cost data...
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', whitebox-raster/src/lib.rs:1361:69
stack backtrace:
   0:     0x5629038946c0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hb070b7fa7e3175df
   1:     0x5629038bbd0e - core::fmt::write::hd5207aebbb9a86e9
   2:     0x562903890925 - std::io::Write::write_fmt::h3bd699bbd129ab8a
   3:     0x562903895ef3 - std::panicking::default_hook::{{closure}}::h04cca40023d0eeca
   4:     0x562903895bdf - std::panicking::default_hook::haa3ca8c310ed5402
   5:     0x56290389659a - std::panicking::rust_panic_with_hook::h7b190ce1a948faac
   6:     0x562903896451 - std::panicking::begin_panic_handler::{{closure}}::hbafbfdc3e1b97f68
   7:     0x562903894b6c - std::sys_common::backtrace::__rust_end_short_backtrace::hda93e5fef243b4c0
   8:     0x5629038961b2 - rust_begin_unwind
   9:     0x562902939ba3 - core::panicking::panic_fmt::h8d17ca1073d9a733
  10:     0x562902939a6d - core::panicking::panic::hf0565452d0d0936c
  11:     0x56290368e759 - whitebox_raster::get_raster_type_from_file::hf25ccc5692bcb5cf
  12:     0x56290368a1d2 - whitebox_raster::Raster::initialize_using_file::h36406f9b3422e3ff
  13:     0x5629034e7c02 - <whitebox_tools::tools::gis_analysis::cost_distance::CostDistance as whitebox_tools::tools::WhiteboxTool>::run::h9422b22018d68133
  14:     0x5629029c27d1 - whitebox_tools::tools::ToolManager::run_tool::he0e7e3beec1628e5
  15:     0x562902f27848 - whitebox_tools::run::h16c6dd715d7f4e31
  16:     0x562902f2489a - whitebox_tools::main::hc1836ef44cabc602
  17:     0x562902fdd413 - std::sys_common::backtrace::__rust_begin_short_backtrace::h2964d03e2a06fe43
  18:     0x56290309b2a9 - std::rt::lang_start::{{closure}}::h6a7b201fbcc3fca6
  19:     0x56290388bdff - std::rt::lang_start_internal::h6ba1bb743c1e9df9
  20:     0x562902f28a68 - main
  21:     0x7fdc7f12fd90 - __libc_start_call_main
                               at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
  22:     0x7fdc7f12fe40 - __libc_start_main_impl
                               at ./csu/../csu/libc-start.c:392:3
  23:     0x562902939ed5 - <unknown>

I don't know what is causing this error, but I have managed to get the tool to run by re-defining nodata in the cost raster as 255, but leaving my 0 as valid data. However this then produces garbage output, presumably because of a frictionless surface outside of the pixels with a value of 1, which I'm rather attempting to capture as nodata both in the input and the output, and which I'd expect the CostDistance tool to both respect and handle.
I wonder if this change is relevant: https://github.com/jblindsay/whitebox-tools/issues/32#issuecomment-479698371 ? (However, changing the data type of the cost raster from Byte to Float32 reuslts in the same error being thrown.)
I've included my data (~7MB total) if you're interested in using it to reproduce the issue.
navigable-water.zip

Changing both source and cost rasters to Float32, and using ModifyNoDataValue to change the nodata value in the cost raster from 0.0 to 8000.0 also results in the same error. So contrary to my earlier experiments, I can't actually get this tool to work at all.

Turns out there was an indepenent issue.

The tool does run now, given the above workarounds, but now it mutates the input cost raster. There are long horizontal stripes of value 1 (pink), and where these new strips coincide with data in the input, the value is 2 (green). I don't know if this is perhaps an artifact from my choice of compression for the input data (LZW, predictor=2), or if the mutation is necessary for the algorithm, but it makes for wildly incorrect output, and it's surprising that the input cost data should be mutated at all. I can't see a pattern to these horizontal artifacts; it's not that the data is mutated so all isolated featurs are connected by a path, since there are still many isolated features.

The lines extend to the full right-hand extent of the input, but not to the left-hand side.

I got the same error running the Unnest Basins Tool in the ArcGIS plugin. I am running ArcGIS Pro 3.1.2
Input is a flow direction raster and a shape file of points. I tried using both the ESRI pointer scheme as True and False and I get the same results. The tool "succeeds" with a green check but does not produce any output and gives the message: thread 'main' panicked at 'called Option::unwrap() on a None value', whitebox-raster\src\lib.rs:1361:69
Full tool output message:
.\whitebox_tools.exe --run="UnnestBasins" --d8_pntr='X:\projects\njwrap\Data\USGS_hydrology\FlowDirection\fdr' --pour_pts='X:\projects\njwrap\Task_2\Wetland_complexes\MyProject\c1a_pts.shp' --output='X:\projects\njwrap\Task_2\Wetland_complexes\MyProject\wbt_test_c1.tif' --esri_pntr -v --compress_rasters=False

Welcome to UnnestBasins  *
Powered by WhiteboxTools *
www.whiteboxgeo.com      *

Reading data...
thread 'main' panicked at 'called Option::unwrap() on a None value', whitebox-raster\src\lib.rs:1361:69
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
Succeeded at Wednesday, October 4, 2023 8:39:18 AM (Elapsed Time: 0.92 seconds)


Update README with Rustup.rs instead of multirust

Multirust is deprecated so I thought it might be a good idea to have the rustup.rs instructions instead.

Thanks!


Implement linalg.lstsq

Return the least-squares solution to a linear matrix equation.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.linalg.lstsq.html

@Oceania2018 After QR now will try dgels_ but .... get the "memory corruption" error -.- when finding out the correct cast values, can do this lstsq

@Oceania2018 I will keep this issue open - the implementation at moment just return the param array - but according to numpy doc - there are much more output like residuals, rank, singular values, ...

really, I thought umath is another library.

not sure. I just know the portable windows python version have just one lapack lite. but year u are right the normal python has a 2nd dll there

This need to implement the other return types like error etc


Unknown  crash with VW  latest Circle

https://paste.dimdev.org/zeyimohoja.mccrash

Hi, and thanks for your report. This issue is being currently investigated and is a work in progress. This issue will be updated as progress continues.
Current time estimate: <2 day

We've corrected the relevant bugs in the mod. As of now, these corrections have been added to a feature branch and are pending addition to the main Valkyrien Warfare mod.
I had to do some workaround that disables particles on ships, but at least it works.
With <3,
Valkyrien Warfare Team

This was added on the branch: fix/jar

You may obtain the bleeding-edge build of Valkyrien Warfare feature branches on the CircleCI page

Navigate to this URL: https://circleci.com/gh/ValkyrienWarfare/Valkyrien-Warfare-Revamped
Click on the latest build prefixed with the branch this was added on
Click on artifacts
Download the JAR file of the mod

?

F*ck
imgur

https://imgur.com/gallery/Ig0v57T

Interesting, it looks like the artifacts tab is not available when you're not logged in. Sorry... you can still see them with this link but I will look into a better solution
https://circleci.com/gh/ValkyrienWarfare/Valkyrien-Warfare-Revamped/26#artifacts/containers/0

Thanks!

I logged)


WPF show/hide line by clicking it in the legend

In the WinForm,it has a way to do this ,like link[https://github.com/ScottPlot/ScottPlot/pull/1589]
but in the WPF,i don't find this function,how can i do in the WPF

Hi @chenlinhsfl, presently the pop-out legend editor is only available in the WinForms control.
It would be possible to create a WPF equivalent to the FormsPlotLegendViewer (source code), but I do not intend to prioritize this at this point in time.
I also think multi-window WPF applications are considered an anti-pattern, or at least are not considered idiomatic WPF, but I recognize this rule is is already broken in the "open in new window" WPF right-click menu option.
If you decide to implement this functionality yourself, feel free to share your control and I can include it as part of a future release of ScottPlot! You can create a pull request or just copy/paste your code in a response to this issue 👍


Android build failure due to Exception being thrown unexpected

Hi, we are experiencing a build failure in Android with the latest update. It is due to an unexpected exception being thrown.
Code is located at WeChatModule.java line333:
throw new Exception("Empty bitmap");
which won't pass the static code analysis:
error: onNewResultImpl(Bitmap) in <anonymous com.theweflex.react.WeChatModule$2> cannot override onNewResultImpl(Bitmap) in BaseBitmapDataSubscriber overridden method does not throw Exception

@erickhalloween I have the same problem.


chttp2_transport.c:527]     client stream 1 still included in list 9 (Core)

I am seeing client side grpc crash due to follow function (using grpc 1.0.0 - cpp based)
17483 chttp2_transport.c:527]     client stream 1 still included in list 9
23334 chttp2_transport.c:527]     client stream 1 still included in list 9
24814 chttp2_transport.c:527]     client stream 1 still included in list 9
26001 chttp2_transport.c:527]     client stream 1 still included in list 9
26995 chttp2_transport.c:527]     client stream 507 still included in list 9

We are cleaning up the gRPC issue backlog and are unable to address this issue with the current information. If you are still experiencing this issue, please re-open the issue with information on how to reproduce.


cue/cmd: import crd for importing Kubernetes CustomResourceDefinitions

Is your feature request related to a problem? Please describe.
CUE cannot import Kubernetes CustomResourceDefinitions (CRDs). Importing CRDs into CUE would be a huge value add for Kubernetes users.
Describe the solution you'd like
I would like a cue import crd command that is able to import a YAML or JSON encoded CustomResourceDefinition to CUE.
Describe alternatives you've considered
cue import openapi
Since CRDs use a variation of OpenAPIv3 to define their schema, cue import openapi can be used to import the schema with some extra help from a query tool like yq. Here is an example script to extract a valid OpenAPI definition from the CRD with yq and then import it as CUE:
CRD="<file>.yaml"

yq '{"openapi": "3.0.0"} *
	{"info": {"title": .spec.group}} *
	{"info": {"version": .spec.versions[0].name}} *
	{"components": { "schemas": { .spec.names.kind: .spec.versions[0].schema.openAPIV3Schema}}}' \
	"$CRD_FILE" > crd-openapi.yaml

cue import openapi crd-openapi.yaml

This is not a viable solution because of Kubernetes' OpenAPIv3 extensions explained in the Additional Context section below.
cue get go
Many CRDs are created with a code generation tool such as controller-gen (from the kubebuilder SDK), which generates the CRD from annotated Go code. I have used cue get go to import the CRD from the Go types, but it is not a 100% match for the controller-gen-created schema. Adding direct support for CRD --> CUE is ideal.

See also: #2679

Additional context
OpenAPIv3 vs Structural Schema
Kubernetes calls its flavor of OpenAPIv3 "structural schema", which is defined as follows:

A structural schema is an OpenAPI v3.0 validation schema which:

specifies a non-empty type (via type in OpenAPI) for the root, for each specified field of an object node (via properties or additionalProperties in OpenAPI) and for each item in an array node (via items in OpenAPI), with the exception of:

a node with x-kubernetes-int-or-string: true
a node with x-kubernetes-preserve-unknown-fields: true

for each field in an object and each item in an array which is specified within any of allOf, anyOf, oneOf or not, the schema also specifies the field/item outside of those logical junctors (compare example 1 and 2).
does not set description, type, default, additionalProperties, nullable within an allOf, anyOf, oneOf or not, with the exception of the two pattern for x-kubernetes-int-or-string: true (see below).
if metadata is specified, then only restrictions on metadata.name and metadata.generateName are allowed.

Source: Specifying a structural schema
CEL Validation
As seen in the snippet above, Kubernetes extends the OpenAPIv3 syntax with fields prefixed by x-kubernetes-. The most challenging to incorporate will be the newer x-kubernetes-validations field, used to define validations rules with the Common Expression Language (CEL). Translating CEL to CUE will be a big lift, but it is being cemented as the desired way for k8s developers to define validation rules in CRDs, k8s admission controller webhooks, and eventually even the native Kubernetes APIs. CEL validation will be incompatible with CUE in some cases, because it allows validating an updated Kubernetes object by comparing it to its existing values. Ideally, validation rules that have no CUE equivalent can be preserved so the CRD can round-trip CRD --> CUE --> CRD without losing information.
References:

Kubernetes Docs: Common Expression Language in Kubernetes
Kubernetes Docs: CustomResourceDefinition Validation rules
YouTube: The Path to Self Contained CRDs - Cici Huang, Google

Possible existing implementation?
The file encoding/openapi/crd.go contains a seemingly unused implementation of CRD decoding. If anyone is familiar with this code and knows what state it is in, I would appreciate the help as a new contributor.

Thanks for raising this @justenstall
This caused me to think about https://twitter.com/stefanprodan/status/1710632837362147563
On that basis I'll copy in @stefanprodan and @sdboyer

Some of the features described here are currently implemented in timoni mod vendor crd. We currently can generate CUE schemas from CRD manifests made with controller-gen and kubebuilder markers, which cover most CNCF projects. We handle x-kubernetes-preserve-unknown-fields which was quite challenging, the cue openapi package makes everything opened by default, instead only fields with this prop must be so, Sam found a way to deal with using kin-openapi. For CRDs  that have anyOf and oneOf (luckily these are not supported by controller-gen so not many CRDs have them), the schema generated by cue is invalid (tracked in #2686). Next we'll have to deal with x-kubernetes-int-or-string.
As for CEL, I agree that is a major undertake but I suspect most CRDs will switch to CEL in 2024. Kubernetes Gateway API already uses CEL, and we're also considering using CEL for FluxCD, guess many more project will follow. Given this, without a CEL to CUE translator, I think the value prop of using CUE for Kubernetes objects validation will be less attractive. To overcome this, I'm inclined into running CEL inside Timoni after CUE generates the final values, in the same way the Kubernetes API does, but it would be ideal for CUE to provide a CEL translator, at least for the expressions that are compatible.

Linking the following in case they could be of use:

#2528: describes a CRD/CEL-related blocker for the Istio team
https://github.com/istio/tools/pull/2674: Istio PR replacing CUE, mentions a fork of CUE to explore CEL support

I put together a rough demo for this functionality using the Timoni CRD importer as a starting point. By switching from kin-openapi to Kubernetes' internal representation of a CRD it should hopefully be easier to work with their API extensions. The only additional functionality in the demo is that all Kubernetes extensions to OpenAPI (x-kubernetes-* fields) are preserved in the resulting CUE as attributes.
https://github.com/justenstall/cue/blob/get-crd/encoding/crd/decode.go
Example
For extensions.istio.io/v1alpha1.WasmPlugin, the field spec.url uses x-kubernetes-validations:
url:
  description: URL of a Wasm module or OCI container.
  minLength: 1
  type: string
  x-kubernetes-validations:
  - message: url must have schema one of [http, https, file, oci]
  rule: 'isURL(self) ? (url(self).getScheme() in ['''', ''http'',
    ''https'', ''oci'', ''file'']) : (isURL(''http://'' + self) &&
    url(''http://'' +self).getScheme() in ['''', ''http'', ''https'',
    ''oci'', ''file''])'

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  ...
spec:
  group: extensions.istio.io
  names:
    kind: WasmPlugin
    ...
  versions:
  - name: v1alpha1
    ...
    schema:
      openAPIV3Schema:
        properties:
          spec:
            properties:
              ...
              url:
                description: URL of a Wasm module or OCI container.
                minLength: 1
                type: string
                x-kubernetes-validations:
                - message: url must have schema one of [http, https, file, oci]
                  rule: 'isURL(self) ? (url(self).getScheme() in ['''', ''http'',
                    ''https'', ''oci'', ''file'']) : (isURL(''http://'' + self) &&
                    url(''http://'' +self).getScheme() in ['''', ''http'', ''https'',
                    ''oci'', ''file''])'
                ...

This is the resulting CUE in cue.mod/gen/extensions.istio.io/wasmplugin/v1alpha1/types_gen.cue:
url: strings.MinRunes(1) @crd(validations="""
                              [{"rule":"isURL(self) ? (url(self).getScheme() in ['', 'http', 'https', 'oci', 'file']) : (isURL('http://' + self) \u0026\u0026 url('http://' +self).getScheme() in ['', 'http', 'https', 'oci', 'file'])","message":"url must have schema one of [http, https, file, oci]"}]
                              """)

package v1alpha1

import (
	"strings"
	"list"
)

#WasmPlugin: {
  // Extend the functionality provided by the Istio proxy through
  // WebAssembly filters. See more details at:
  // https://istio.io/docs/reference/config/proxy_extensions/wasm-plugin.html
  spec!:      #WasmPluginSpec
  apiVersion: "extensions.istio.io/v1alpha1"
  kind:       "WasmPlugin"
  metadata!: {
    ...
  }
}

// Extend the functionality provided by the Istio proxy through
// WebAssembly filters. See more details at:
// https://istio.io/docs/reference/config/proxy_extensions/wasm-plugin.html
#WasmPluginSpec: {
  ...
  // URL of a Wasm module or OCI container.
  url: strings.MinRunes(1) @crd(validations="""
                                [{"rule":"isURL(self) ? (url(self).getScheme() in ['', 'http', 'https', 'oci', 'file']) : (isURL('http://' + self) \u0026\u0026 url('http://' +self).getScheme() in ['', 'http', 'https', 'oci', 'file'])","message":"url must have schema one of [http, https, file, oci]"}]
                                """)
  ...
}

I think this sort of implementation would be the best way to make CRD imports lossless and would allow the CRD importing functionality to be made available independent of a CEL to CUE translator, which could theoretically be added at a later date.

@justenstall this looks promising, I would like to give this a try in Timoni and run the CEL rules using k8s.io/apiserver/pkg/apis/cel.
PS. It would nice to preserve the original license headers when you copy/paste code from other projects.

@stefanprodan

@justenstall this looks promising, I would like to give this a try in Timoni and run the CEL rules using k8s.io/apiserver/pkg/apis/cel.

Is the thought that Timoni would run the CEL rules during timoni mod vet/timoni bundle vet?

PS. It would nice to preserve the original license headers when you copy/paste code from other projects.

My bad on the license headers, I'll fix that.

Is the thought that Timoni would run the CEL rules during timoni mod vet/timoni bundle vet?

I think is the only viable alternative to a CEL to CEL translator.

By switching from kin-openapi to Kubernetes' internal representation of a CRD it should hopefully be easier to work with their API extensions. T

I can't speak for the CUE team, personally I would not want Kubernetes as a dependency in CUE lang. This means the Kubernetes project can't use CUE as it would create a cyclic dependency, it also means that all the Kubernetes tools like Timoni would need to wait for CUE to bump the Kubernetes packages before they can upgrade. For example, Kubernetes 1.18 comes with a breaking to their openAPI package, so all tools require a step upgrade, if your tool imports some package that depends on Kubernetes 1.17, you are stuck on 1.17 until all deps move to 1.18. This is the case with Flux, we stuck on 1.17 for months now.

This is great and something I've wanted myself for a long time. A lot of these CRDs are generated from Go structs, so it would be great if it would be possible to convert CUE (from cue get go) to a Kubernetes CRD.

@justenstall thanks for creating #2701 as a strawman for discussion.

I can't speak for the CUE team, personally I would not want Kubernetes as a dependency in CUE lang.

As a guiding rule, we want to keep the dependencies for cuelang.org/go (and by extension cmd/cue based on the current structure) small. Hence we would almost certainly not add Kubernetes as a dependency.
However, I think #2701 is a good strawman to act as a forcing function to ask the question: so where should this kind of adapter live? How could/should cmd/cue (and more generally cue/load and the various encoding/X adapters) work with such a setup?

@myitcv
I agree with you and @stefanprodan that CUE shouldn't have a dependency on Kubernetes. I can vendor the data types from Kubernetes for the PoC, if there are any other ideas for how that should be done, let me know.
I do think there's a larger conversation to be had around the setup of where adapters/converters should live. If the dependencies for the CRD --> CUE conversion were isolated to the converter, I think it's logical that the converter would use Kubernetes' internal parser and data type for CRDs.
If converters could be isolated, they could rely on tailor-made parsers for JSON Schema/OpenAPI/CRDs/etc, which could have a lot of benefits:

Easier to develop new converters because there is no need to develop a parser
Easier to add support for new versions of the external representation (i.e. new JSON Schema drafts, new OpenAPI versions)
Easier to implement fixes for bugs in the converter because the bugs are separated:

Parsing bugs are addressed in the upstream parser's project
Errors in how the external format is represented in CUE are addressed in the converter

The CRD example is somewhat unique in comparison to other importable formats (for instance, a dependency on an OpenAPI library would be as controversial), but in my opinion it's still a worthwhile conversation.

IMO, it would be amazing to see a more consistent set of encoders/adapters for other representations to/from CUE. i've spent considerable time writing such things over the past couple years, and can attest that:

Writing (good) encoders is quite challenging, and i've often wondered if
Adding an encoder is often a key to unlocking value in the eyes of skeptics
Inconsistency in encoder implementation (e.g. are magic attributes used? how much type-unsafe templating in CUE source is allowed?) leads to people writing CUE, but-really-just-for-my-one-target-language
Such encoding/translation always has subtle edge cases, and a central effort could potentially improve things by communicate these edge cases more consistently (e.g. via a standard error system)

Kubernetes Gateway API already uses CEL, and we're also considering using CEL for FluxCD, guess many more project will follow. Given this, without a CEL to CUE translator, I think the value prop of using CUE for Kubernetes objects validation will be less attractive.

I didn't know this was where things were headed (:hat-tip:), but to me, this is all the more reason that a CUE->CEL translator would be valuable. Otherwise, CUE's probably just out of the game here, regardless of its other potential benefits.
I'd add to this that CUE is a non-starter as the engine for executing validations within an apiserver as long as a single CUE runtime can't be safely used for validation from multiple goroutines.

@sdboyer I started a Slack thread for encoding discussion, would love to get your input: https://cuelang.slack.com/archives/CMY132JKY/p1701367946843919

I wonder if with the upcoming feature of cue modules and oci registries, a central cue registry like nixpkgs would make sense, which would host all the packages, like crds. Wouldn't that kind of eliminate commands, which are specifically tailored for certain types of files? Over the last year I also had a lot of troubles with importing crds to cue and always went with cue get go, but I think having crds in a registry and just use the dependency management makes it more "platform agnostic" than having commands for special cases.

It could help the case but someone would still have to manually produce a CUE module for the CRD, which won't happen for every CRD, and won't be of consistent quality. If CUE could comprehend a CRD's schemas then every CRD becomes usable in CUE at a guaranteed level of quality. Anyone wanting an even better representation of the CRD can still publish a CUE module either starting from scratch or starting from generated CUE.


corrections to Cloud FAQ PR

crossing fingers

Note -- failing hyperlink will be fixed by @underwoo  PR https://github.com/NOAA-RDHPCS/noaa-rdhpcs.github.io/pull/159/


delete cached data after insert

hi , i know there is a method to disable cache  on query , and thats for get requests , i think it would be good to have a method  to remove or delete cached data for a spacific model after an insert , so that the next get request will be a fresh  data from the database . i think this approch is better , because  in our code  we always have  more get requests then inseret or update ones . so instead of coding the disable cache method on each get query  , we can simply code the delete cached  on each insert or update query  ( which are fewer then the get ones ) to get the fresh data ,
thanks :)

@jihadismail8 it is already handled by the package for inserts and updates
https://github.com/GeneaLabs/laravel-model-caching#features

can not find it , could you please write here in summery how is it done  please ?

@jihadismail8 it is automatically handled by package using laravel's model observers and model events

so i have a question , if i have a table with list of cars owned by someone , and on that model i use  cachable trait ,  now if i  insert a new car into the table , and then i try to get and list those cars  it would be completely updated ?

yup

Thank you @rssawhney for explaining everything! @jihadismail8 he is right, the main purpose of this package is to automate the caching process. You should only use ->disableCache() in very few circumstances. :) I'll close this issue. Please don't hesitate to open a new issue, should you run into any problems. :)


Support Benchmarks running under .NET 3.5

From email conversation:

I suggest to use an approach that is similar to your approach in minibench: we can create a separate .NET 2.0 library and make reference from a generated benchmark project to this .NET 2.0 library.
In this case, we can use .NET 4.5 for main BenchmarkDotNet assembly and for unit tests (if somebody wants to run benchmark on WinXP, he can generate that benchmark on Win7+ and copy it to WinXP).

@mattwarren Support for .Net 2.0 has ended already. The only support provided is Extended Support which is a paid only support usually provided to governments or very large corporations and will also end by end of 2016. Does it makes sense to devote effort to .Net 2.0?

@redknightlois, sounds like a good point. What do you think about supporting of .NET 3.5?

@AndreyAkinshin That is a tough one, because unlike .NET 2.0 the 3.5 framework is supported alongside a wide array of OS. However, nowhere were 3.5 is supported 4.0 is unsupported, so in the end it is a matter of how many 3.5 projects are there out-there and how many will use BenchmarkDotNet. I haven't come across a 3.5 project in like ages, but that is just me.

Okay, I've changed this to ".NET 3.5 support", rather that .NET 2.0.
But I'll hold of implementing it until someone actually asks for it.

@mattwarren, @adamsitnik, am I right that we will not support .NET 3.5 ever? Can I close the issue?

@AndreyAkinshin I think that you should close it (It would be hard to implement and would increase code complexity)

@adamsitnik @AndreyAkinshin I agree (plus no one has ever asked for .NET 3.5 support)


Running PowerShell Script On AWS Systems Manager

Hello,
I am running the script on Systems Manager as a Run Command using the document AWS-RunPowerShellScript.
The Run Command completes successfully with the output:Script complete
The Instance does not appear in the CrowdStrike console and when I SSH into the instance and check the tasklist, it is not running.
I did these same steps with our linux instances and it was successful. Any help would be greatly appreciated.

hey @JamesDavidson13 we have published distributor packages that can be used to deploy the falcon sensor with aws systems manager.
https://github.com/CrowdStrike/aws-ssm-distributor
There are a few options. Two require building your own package, but we recently released an official package that does not require building your own.
If you want to deploy the sensor to windows and linux instances via SSM this would be the approach that is community supported.

Hi @ffalor, thanks for the response!
Can I do this at the organization level or just per account?

SSM associations are region specific, but you could create a cloudformation stackset to create the associations on multiple accounts and regions.

Closing the issue due to no activity. If you need to re-open it, please go ahead and provide additional information.


Adds validation error handling

MultiErrorResponse - Supports error output with multiple errors
Exception\Validation - Excepts Laravel messagebag of validation fails
Models simply overload the getValidationRules to return a ruleset array (see http://laravel.com/docs/5.0/validation)
An example validation failure might look like:
{
   "errors":[
      {
         "status":400,
         "code":1040,
         "title":"Validation Fail",
         "detail":"The price must be a number.",
         "meta":{
            "field":"price"
         }
      },
      {
         "status":400,
         "code":1040,
         "title":"Validation Fail",
         "detail":"The ingredients field is required.",
         "meta":{
            "field":"ingredients"
         }
      }
   ]
}

Thank you for another pull request!
I think that an improvement to this, we could utilise the Laravel 5 Form Request validation. If you're not familiar with this concept, you can read about it here: http://laravel.com/docs/5.0/validation#form-request-validation
It sets up a framework for handling validation errors. Although they name it form request validation, I believe it could be used here and provide a better structure.
There is also a video at Laracasts about this topic: https://laracasts.com/series/laravel-5-fundamentals/episodes/12
Let me know what you think.
Also keep in mind the original exception handling convention; any method can throw a EchoIt\JsonApi\Exception which should be handled by the controller.

Hi
Thanks for the feedback, I am actually familiar with the form validation but wasn't sure it was really suitable here - I'll have another look at it though!
With regards to the original concept, EchoIt\JsonApi\Exception\Validation extends EchoIt\JsonApi\Exception so the original catch in the ApiController will still catch that exception (based on PHP inheritance model)
Thanks very much

I didn't notice that EchoIt\JsonApi\Exception\Validation was extending the Exception class. That's great. I was just taking notice of the added layer of error responding in MultiErrorResponse.
Can you elaborate on the purpose of adding this layer instead of handling all errors in the controllers?

Certainly, The key difference here is between ErrorResponse and MultiErrorResponse, these classes represent the encapsulation of the logic for the presenting of the exception as a JSONApi JSON response. This again extends from the Laravel JsonResponse class and so maintains the )already existing) separation of concerns within the package
Hope that helps!


Fix get_loci() method of Surface, so it returns a list of points rather than a list of methods.

Closes #116, I also added a line to test_invessel_build.py to extend coverage to this method, seemed like a good thing to do, lmk if that is not a best practice.

added a check to assert that the elements of rib_loci are float


Add healthcheck probes to charts

Description
This PR introduces the missing healthcheck probes mentioned in #328 . Can be tested using helm install <release-name> <path-to-chart> --wait and monitoring the pods during that. The deployment only completes when the respective pods are actually ready to serve traffic.
Note: the values that are configured for the probes are inspired by the official Opensearch Operator Repository
Issues Resolved
#328
Check List

[x] Commits are signed per the DCO using --signoff

For any changes to files within Helm chart directories:

[x] Helm chart version bumped
[x] Helm chart CHANGELOG.md updated to reflect change

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Probes on the largely stateless opensearch-dashboards is fine, but putting liveness probes on a slow-starting stateful app like Opensearch needs to be carefully considered, because otherwise you may end up exacerbating problems with the cluster by having Kubernetes constantly restarting nodes. Repeatedly restarting an Opensearch node sounds like a recipe for data loss to me.
Do you have a concrete use-case where having Kubernetes automatically restart the Opensearch nodes would have helped you?

Hi @smlx , thanks for the quick review.

Regarding the livenessProbe for Opensearch: the usecase, this PR is trying to fulfill, is having Opensearch restarted when in an inconsistent state. If Opensearch gets into a state, where it doesn't entirely crash but just can't serve requests anymore and doesnt recover (by default, for 20*10 seconds) there isn't much Opensearch itself can do - it has to be restarted. Without that, even a cluster can break down when all of the pods fall into such a state one by one until eventually none of the pods are available anymore. For large clusters, the timeout values can be configured accordingly. However, feel free to disagree, this is just a proposal :)

I think this PR is useful for the main branch but also for 1.x versions - should I open a separate PR for that branch? :) not sure whether its possible to contribute to 2.x and backport 1.x at the same time :)

Cheers, Luis

If Opensearch gets into a state, where it doesn't entirely crash but just can't serve requests anymore and doesnt recover (by default, for 20*10 seconds) there isn't much Opensearch itself can do - it has to be restarted. Without that, even a cluster can break down when all of the pods fall into such a state one by one until eventually none of the pods are available anymore.

Have you experienced this scenario?

Have you experienced this scenario?

I have experienced that at least OIDC stopped / failed to work, so having the possibility to add a liveness probe is a great addition.
I agree however that it should not be included in values.yaml as a standard, and that it should be wrapped in a conditional in deployment.yaml
The default values of the readinessProbe should be very tolerant in the defaults. I.e. if the backend is gone during patching it is better that OpenSearch Dashboards is available for the duration.

2. I think this PR is useful for the main branch but also for 1.x versions - should I open a separate PR for that branch? :) not sure whether its possible to contribute to 2.x and backport 1.x at the same time :)

You can raise the backport PR separately once this PR is merged

@TheAlgo Thank you, I'll try to get to it this evening :) thanks for the review!

@sastorsl I changed the livenessProbe to be an optional parameter in the values.yaml :) feel free to suggest any default values, however I think the chosen values aren't too bad, since they are being used in the official Operator Project :)
Thanks for your review! :)

@sastorsl I changed the livenessProbe to be an optional parameter in the values.yaml :) feel free to suggest any default values, however I think the chosen values aren't too bad, since they are being used in the official Operator Project :)
Thanks for your review! :)

Re opensearch it looks good.
I think the livenessProbe should be optional for OpenSearch Dashboards aswell.

Any updates on this @TheAlgo :) ? I think all the requested changes are implemented in this PR ^^

Any updates on this @TheAlgo :) ? I think all the requested changes are implemented in this PR ^^

Just 1 last small thing, can you add this feature in the opensearch-dashboards README as well?

@TheAlgo I added the features to the README files.
Regarding the CI: the issue is, that opensearch-dashboards cant properly start, when no opensearch instance is found. The log clearly shows the following error message:
{"type":"log","@timestamp":"2022-09-27T07:25:51Z","tags":["error","opensearch","data"],"pid":1,"message":"[ConnectionError]: getaddrinfo ENOTFOUND opensearch-cluster-master"}

How do you want to go about this? Making all probes for opensearch dashboards would fix the CI, but then, a proper startup isnt really depicted in the CI
Thanks in advance 👍
Luis

Regarding the CI: the issue is, that opensearch-dashboards cant properly start, when no opensearch instance is found. The log clearly shows the following error message:

There is another issue discussing exactly this, I don't recall if it was in helm-charts or in the OpenSearch Dashboards branch.
For now - until any change occurs - I don't see how you can get CI as long as OpenSearch Dashboards don't start without a functioning OpenSearch backend.
IMHO it should start and give the user a proper feedback, respond to health checks, etc, but that's another issue entirely...

If dashboards liveness probes reports that the pod is unhealthy because the opensearch it is configured to talk to is not available, that's a classic cascading failure case. There is no need to restart dashboards pods just because opensearch is not available. The liveness probe health check should use an endpoint that does not rely on external dependencies.

Very good point @smlx , the current configuration was taken from the official operator repository. Any ideas on a more suitable liveness probe? :)

Letting OpenSearch Dashboards run without the backend dependency is something which must be solved in that project. I created an issue to that effect which I linked to the issue - https://github.com/opensearch-project/OpenSearch-Dashboards/issues/2422
@lieberlois I think the default lifecycle probe should be either only a TCP check, or disabled and left to the individual user to add / configure.

There was some discussion around it 1 year back and from then it did not grab much attention
PR Link : https://github.com/opensearch-project/helm-charts/pull/117

I quite like @sastorsl 's idea to just use a tcp socket. Just tested it, works properly with a standalone opensearch dashboards deployment and can be overridden for deployments that aim for opensearch dashboards unavailability when opensearch itself is down :) I think we cant go any further than this until the opensearch dashboards application itself can handle a missing opensearch cluster.
Thanks for all of your reviews and advice! @TheAlgo are you fine with this solution?

I quite like @sastorsl 's idea to just use a tcp socket. Just tested it, works properly with a standalone opensearch dashboards deployment and can be overridden for deployments that aim for opensearch dashboards unavailability when opensearch itself is down :) I think we cant go any further than this until the opensearch dashboards application itself can handle a missing opensearch cluster.
Thanks for all of your reviews and advice! @TheAlgo are you fine with this solution?

Yes I am fine. We did the same even in OpenSearch
PR : https://github.com/opensearch-project/helm-charts/pull/172

Great! If you don't have any further requests, LGMT 🚀

@lieberlois I have approved the PR but you need to update the CHANGELOG to add the unreleased section.
Ref : https://github.com/opensearch-project/helm-charts/blob/main/CONTRIBUTING.md

Adding @prudhvigodithi to take a look and I am fine with this PR.
Like @TheAlgo mentioned we need to update the changelog.
Thanks.

@TheAlgo @peterzhuamazon Thanks :) i updated the changelog 👍

@TheAlgo @peterzhuamazon Thanks :) i updated the changelog 👍

Thanks @lieberlois are you able to backport it to 1.x branch?
Thanks.

@peterzhuamazon I will, i was told to do that in a separate PR ☺👍

@peterzhuamazon I will, i was told to do that in a separate PR ☺👍

Yes @lieberlois please backport once this one is merged.
Thanks!

LGTM then everybody! 🚀

@lieberlois It is merged now thanks for all the contributions!
Let me know when the backport is ready.
Thanks.

Thanks everybody!
@peterzhuamazon You can expect it on tuesday, I'm on a small vacation until then ☺


Generate new Site Proposal

A way to create a new site proposal at any location from nothing.  In the future this may be modified to copy from existing proposals but lets start with the basics.
A proposal SitecConsists of:

Region
SiteId
Geometry,
Start/End Times (which can be null)
A Label

Process:

User clicks on some button to add a new proposal
Kicks off the system into proposal creation mode
This mode allows them to draw a polygon
After drawing the polygon they then need to set a label and a start/end date which can be null
Finally submission goes to an endpoint and pushes up all the data for the newly proposed site.

So to the right of the layer selection buttons add a "+Add Proposal" Button.
When click it removes the SiteList can creates a new panel which Has information adding a Site.
This puts maplibre into a drawing mode for new site.  There the user can modify the points of the site and then finally submit the new site to the POST /{model_run_id}/site-model/ endpoint so it can be added as a new site.


Update step.yml

Codecov Report

Merging #26 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #26   +/-   ##
=======================================
  Coverage   43.64%   43.64%
=======================================
  Files           5        5
  Lines         401      401
=======================================
  Hits          175      175
  Misses        199      199
  Partials       27       27

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 271dc5b...cb53f92. Read the comment docs.


java.lang.NullPointerException: interceptor

It occurs a lot, I can't even catch this NullPointer, and is stopping my app. Can you throws a correct exception please ?
java.lang.NullPointerException: interceptor com.angel.angelmobile.services.rest.RestClient$2@237f95b6 returned null
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:102)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:170)
at okhttp3.RealCall.access$100(RealCall.java:33)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:120)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)

Your interceptor is returning null which is not allowed. Fix that and don't
worry about catching anything.
 Can you throws a correct exception please ?
java.lang.NullPointerException: interceptor
com.angel.angelmobile.services.rest.RestClient$2@237f95b6 returned null
at
okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:102)
at
okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:170)
at okhttp3.RealCall.access$100(RealCall.java:33)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:120)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/square/okhttp/issues/2784, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEEEVvaeutUdGzTrpFyzfrzjTpWqskbks5qecqYgaJpZM4JhHTA
.

Here is the code of my interceptor, it never catch on Exception, either on Error
`OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
httpClientBuilder.addInterceptor(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
try {
Request original = chain.request();
                Request request = original.newBuilder()
                        .header(AngelApplication.PUBLIC_REQUEST_TOKEN_KEY, AngelApplication.PUBLIC_REQUEST_TOKEN_VALUE)
                        .method(original.method(), original.body())
                        .build();

                return chain.proceed(request);
            } catch (Exception e) {
                callbackError.onError(e, context);
            } catch (Error e2) {
                Log.e("", "ROME parse error2: " + e2.toString());
            }
            return null;
        }
    });
    httpClientBuilder.readTimeout(300, TimeUnit.SECONDS);
    httpClientBuilder.connectTimeout(300, TimeUnit.SECONDS);
    httpClientBuilder.retryOnConnectionFailure(true);
    return httpClientBuilder.build();`

It does, or you wouldn't get the NullPointerException. Instead of logging,
re-throw from the catch blocks by wrapping the exception in a
RuntimeException. That will surface the actual problem.
On Wed, Aug 10, 2016, 9:09 AM Thiago Alexandre Lenz <
<EMAIL_ADDRESS>wrote:

Here is the code of my interceptor, it never catch on Exception, either on
Error
`OkHttpClient.Builder httpClientBuilder = new OkHttpClient.Builder();
httpClientBuilder.addInterceptor(new Interceptor() {
@Override https://github.com/Override
public Response intercept(Interceptor.Chain chain) throws IOException {
try {
Request original = chain.request();
            Request request = original.newBuilder()
                    .header(AngelApplication.PUBLIC_REQUEST_TOKEN_KEY, AngelApplication.PUBLIC_REQUEST_TOKEN_VALUE)
                    .method(original.method(), original.body())
                    .build();

            return chain.proceed(request);
        } catch (Exception e) {
            callbackError.onError(e, context);
        } catch (Error e2) {
            Log.e("", "ROME parse error2: " + e2.toString());
        }
        return null;
    }
});
httpClientBuilder.readTimeout(300, TimeUnit.SECONDS);
httpClientBuilder.connectTimeout(300, TimeUnit.SECONDS);
httpClientBuilder.retryOnConnectionFailure(true);
return httpClientBuilder.build();`

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/square/okhttp/issues/2784#issuecomment-238861330, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAEEEU7gKPyPdcGlYl6nCgKS3niUfjx6ks5qec2lgaJpZM4JhHTA
.

I'll throw, if the error show again, I'll reopen this issue.

the error show again.....
Your solution is？ @thiagolenz @JakeWharton

hi,I come up with this question,and it occured a lot. /(ㄒoㄒ)/~~
It bores me that I can NOT even catch this NullPointException.
I think when my result from okhttp is null or blank,OkHttp should NOT do anything (now it throws the exception) cause sometimes return null is JUST what I want...
wish for your response.

If you could provide us with an executable test case, that’ll help us to fix this quickly.

@swankjesse
Problem solved,That is not OkHttp's bug,had found the reason(we return null and chain.proceed()).
But maybe Throwing a Exception by wrapping NullPointException instead of directely a NullPointException （could not be catched）,can be some more friendly.
😊

hi,I come up with this question,and it occured a lot. /(ㄒoㄒ)/~~
I think when my result from okhttp is null or blank,OkHttp should NOT do anything (now it throws NullPointException which can NOT be catched) cause sometimes return null is JUST what I want...
wish for your response.

how did you solved it ?

@swankjesse
Problem solved,That is not OkHttp's bug,had found the reason(we return null but still chain.proceed()).
But maybe Throwing a Exception by wrapping NullPointException instead of directely a NullPointException （could not be catched）,can be some more friendly.
😊

how did you solved it?

@swankjesse
Problem solved,That is not OkHttp's bug,had found the reason(we return null but still chain.proceed()).
But maybe Throwing a Exception by wrapping NullPointException instead of directely a NullPointException （could not be catched）,can be some more friendly.
😊

how did you solved it?

Oh, 4 years ago!  I have not done Android for some years.
If I have not got a mistake from my remember. I think you can judge whether the return from last chain is NULL or not, and deal with it in your own code.


feat: brand new mockup for Imagine AI 🚀🔥

Description

We have well designed a Brand Mockup for Imagine AI, Mockup is generated in webp format.
The important thing is this Mockup is completely transparent and high in resolution which results to display our Mockup in best way for any resolution devices.

Fixes #543

Screenshots

BEFORE
AFTER

Checklist

[x] Tests have been added or updated to cover the changes
[x] Documentation has been updated to reflect the changes
[x] Code follows the established coding style guidelines
[x] All tests are passing

@SurajPratap10 Please merge this PR with level3 labels, It takes so much of effort to derive this Mockup.
Thank You!

IMPORTANT 🚨
You have forgotten to add level label for this Merged PR #810
Please add necessary labels @SurajPratap10


Support for automated tests

Is it possible to add accessibility IDs/testIDs to action sheet buttons?

yes, in ActionSheetCustom.js in the method _createButtons. In TouchableHighlight there's already accessible=true, and accessibilityLabel={title} you can add testID={title}


Custom nodes will fail to run if it depends on a Soletta node modules.

If one creates a custom node that depends on flow modules that are not built as built-in, the flow will fail to run.
We have the follolwing scenario:
SML creates a node called message-constructor, which is responsible for grouping flower-power data relavant to SML. The message-constructor depends on the flower-power module which is built as module by default.
However when running the flow the flower-power module is not loaded at all, thus the sol-fbp-runner will complain and the execution will be aborted.
We should create a way to specify that a node X depends on node Y in order to load its .so file.
Note: A quick fix for the problem is build the module as built-in.
Check: https://github.com/solettaproject/soletta-machine-learning/issues/62
https://github.com/solettaproject/soletta-machine-learning/blob/master/soletta_module/sml_garden/sml_garden.c
https://github.com/solettaproject/soletta-machine-learning/blob/master/soletta_module/samples/sml_garden/sml_garden.fbp

If you need the node types, then it should get via flow resolver, as usual.
If you need other symbols, use @ibriano's lib loader (https://github.com/solettaproject/soletta/blob/master/src/shared/sol-lib-loader.h), it should be used through subsystem specific wrappers such as https://github.com/solettaproject/soletta/blob/master/src/lib/flow/sol-flow-modules.c (see macro in sol-flow.h)
We may need to introduce one to get the packet type and add that to sol-flow-packet.h, using to get symbols from built in or external

@barbieri I think that this load should be done automatically by Soletta. As a user, I don't think I need to worry about that, I just want to use my custom node without needing to worry that I need to load the libraries X,Y,Z.
What do you think?

I agree, that's why I'm asking what it is using. If it is node-by-typename, then it should happen, if not it's a bug.
If it's creating a packet-type, then the pointer to that symbol should be acquired as I said, by the tool/generators

Sorry, I didn't understand that it was a question. I'm trying to get the message contents
with sol_flower_power_get_packet() (which is exported by the flower power module)

explained in person, but to repeat it here:
If all we need is a struct sol_flow_packet_type*, then we can export a function/macro similar to sol_flow_get_node_type() and sol_flow_internal_get_node_type(), but target at packets. This is mostly about types/casts, no logic in it, see https://github.com/solettaproject/soletta/blob/master/src/lib/flow/sol-flow-modules.c
That mean we couldn't use symbols such as sol_flower_XXX, but we could get the packet and use base functions such as sol_flow_send_packet(), sol_flow_packet_type_new() and so on.
If we want to expose symbols in general, we can add yet another set of macros/function, but they won't guarantee types, people will have to deal with void *

@barbieri  anyway who is "exporting" a custom packet will need to give the description of the packet's data right ? In this case, flower_power should give a header with the packet data struct

header files are solved at compile time, not at runtime. They won't try to resolve any symbol.
We should use data_size to verify if we have the same amount of bytes before we continue (it could be a one time check at the entry point).
If we think it's needed we may introduce an extra sub_api in packet_type, so we can report if that packet changed it ABI, allowing runtime checks.

I was not saying that the header would solve the symbol's problem. I wanted to say that even resolving the packet's type symbol, it'll be necessary who is exporting the packet also gives the packet's data struct, otherwise it'll be an amount of bytes without any meaning for the user. This is what is done by flower-power.
Anyway, i've already solved this problem in the simplest way (creating the sol_flow_get_node_type() equivalent for packets). My concern is, the user will need to know the module's name.

ok

the fixes were pushed in both soletta and soletta-machine-learning.


feat: supports returning jsx directly

Description
supports returning jsx directly
const Comp = () => {
  return () =>

}

to
const Comp = () => {
  return

}

Linked Issues
Additional context

We actually cannot do that in Vue. There's a warning in Vue core.
setup() should not return VNodes directly - return a render function instead.

To keep state in component, component function in Vue 3 will only be executed once, but multiple times for render function. If we wrapper function directly, it may lose state, and all hooks cannot be used.

Okay, thank you for your reply, I learned something.


Ruby Sunstone - Service Custom Attributes are ignored in Cloud view

Description
In the Cloud view when instantiating a Service, any Custom Attributes are ignored when the form is submitted.
To Reproduce
Create a service template with any custom attribute(s) defined.  Sunstone will show an error "Verify that every custom attribute have its corresponding value defined", and in the Browser Console the payload will have custom_attrs_values: {}.  This works fine in the other views.
Expected behavior
The Custom Attributes should be submitted with the instantiation form properly.
Details

Affected Component: Ruby Sunstone ( Cloud view )
Version: 6.8

Progress Status

[ ] Code committed
[ ] Testing - QA
[ ] Documentation (Release notes - resolved issues, compatibility, known issues)

wontfix


How can I get it for laravel 6?

Can you please make a release for laravel 6?

@takielias not anytime soon. If all the test cases pass right, I may release a 6.x-dev branch for testing asap. Current milestone is chunk upload. Hope you're enjoying the third party storage support recently added.

@takielias not anytime soon. If all the test cases pass right, I may release a 6.x-dev branch for testing asap. Current milestone is chunk upload. Hope you're enjoying the third party storage support recently added.

Thanks for your support but My project was built on Laravel 6. That is why I can't use it. I may need to modify composer.json to check the update.

@takielias try installing the package with composer require rahulhaque/laravel-filepond:6.x-dev

@rahulhaque That's awesome. I will check it. Thanks.

@rahulhaque Can you please make a compatible Laravel 6 version for 1.1.8? I badly need chunk support.

@takielias uninstall the current version and install it again to have chunk upload. I won't be releasing any version for 6.x branch.

@rahulhaque Thanks a lot.


Do I need reaper_results table in my ghtorrent database to run batch_score.py? What should be the table format and data inside it?

I changed the config file and passed the required parameters while running batch_score.py.
The script can make the database connection to my ghtorrent database successfully (I've tested it).
However, It first asked me that it can not find the reaper_results table in the database.
Although no mention in the readme file, I still loaded the dataset from https://reporeapers.github.io/ and loaded in the dataset in a table and naming it 'reaper_results'.
However, now it gives an error that it can't find management column (the attributes are set in the manifest.json as I understand). The dataset on the website, however, has no management column.
The error report I get is,
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
  File "/Users/adminuser/Desktop/reaper/lib/database.py", line 43, in get
    cursor.execute(query)
  File "/usr/local/lib/python3.6/site-packages/mysql/connector/cursor.py", line 551, in execute
    self._handle_result(self._connection.cmd_query(stmt))
  File "/usr/local/lib/python3.6/site-packages/mysql/connector/connection.py", line 490, in cmd_query
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
  File "/usr/local/lib/python3.6/site-packages/mysql/connector/connection.py", line 395, in _handle_result
    raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'management' in 'field list'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 47, in starmapstar
    return list(itertools.starmap(args[0], args[1]))
  File "/Users/adminuser/Desktop/reaper/lib/run.py", line 59, in _process
    self._save(project_id, rresults, table)
  File "/Users/adminuser/Desktop/reaper/lib/run.py", line 67, in _save
    _rresults = self._get(project_id, table)
  File "/Users/adminuser/Desktop/reaper/lib/run.py", line 133, in _get
    project_id=project_id
  File "/Users/adminuser/Desktop/reaper/lib/database.py", line 57, in get
    raise DatabaseError(msg)
lib.database.DatabaseError: "Failure in executing query SELECT architecture,community,continuous_integration,documentation,history,license,management,project_size,repository_size,state,stars,unit_test FROM reaper_results WHERE project_id = 1. Error: 1054 (42S22): Unknown column 'management' in 'field list'"
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/adminuser/Desktop/reaper/lib/run.py", line 39, in run
    chunksize=1
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 274, in starmap
    return self._map_async(func, iterable, starmapstar, chunksize).get()
  File "/usr/local/Cellar/python/3.6.5/Frameworks/Python.framework/Versions/3.6/lib/python3.6/multiprocessing/pool.py", line 644, in get
    raise self._value
lib.database.DatabaseError: "Failure in executing query SELECT architecture,community,continuous_integration,documentation,history,license,management,project_size,repository_size,state,stars,unit_test FROM reaper_results WHERE project_id = 1. Error: 1054 (42S22): Unknown column 'management' in 'field list'"

I've tried to look at the inner working of the code, but it is probably too big a task. My goal is to get a score for a list of repository so that I can tell if they're actual software development project or not.
Any help?

the current config.json.skel doesn't contain the option persist_enabled.
However, I still put project_id and score column in the table.
But it seems like somewhere in the code,
it tries to execute the query,
SELECT architecture,community,continuous_integration, documentation,history,license,project_size,repository_size,state,stars,unit_test  FROM reaper_results WHERE project_id = 1
I assume the columns are chosen from the manifest.json file but I don't know how to provide this data.

Yes, reaper_results is required to run batch_score.py and the CREATE TABLE SQL command for it is in the README. As for the data in the table, there is no need to have any data pre-loaded. batch_score.py was implemented to update the data if it exists or insert the data if none exists.
Side Note: The persistResult key is no longer a part of the batch_score.py command line arguments. I will update the README to reflect this soon. However, you can control if the results are persisted or not by using the --key-string argument. The --key-string argument is parsed such that any upper case attribute initial is treated as an attribute whose result must be persisted. For instance, if you want to collect only documentation and history from a project and persist it to the database, you can use --key-string=DH. By default (i.e. if you don't specify a --key-string), all enabled attributes are persisted to the database.

thanks.


Create system reporting service image

.. that can run on any hardware
Prints out CPU capabilities, such as:

x2APIC support
AVX and AVX2 support
Cryptographic extensions (AES, POPCNT)
SSE3,4.x support
FMA4

The image will help detect maximum support, and potential problems (eg, low memory)

This idea will be replaced with something else


Remove version: Jellyfin.Server version 10.8.12

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://repo.jellyfin.org/releases/server/windows/stable/installer/jellyfin_10.8.12_windows-x64.exe
Response Error: The remote server returned an error: (404) Not Found.
(Automated message - build 882)


Remove libjpeg dependency from pkg-config

Linking QPDF with the original libjpeg-9a from http://ijg.org works well, but when I then compile cups-filters with QPDF support, cups-filters' configure is confused about it, because libjpeg does not ship pkg-config definitions:
[...]
checking for ZLIB... yes
checking for LIBQPDF... no
configure: error: Package requirements (libqpdf >= 3.0.2) were not met:

Package 'libjpeg', required by 'libqpdf', not found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

We cannot solve this problem in QPDF, so just remove the libjpeg dependency from the Requires.private variable.

I'm not sure this is the right fix. qpdf does in fact require libjpeg to link if being linked statically. I'll have too review pkg-config docs to figure out whether my config is right, but I don't think libjpeg's lack of pkg-config configuration should in any way influence what qpdf's pkg-config files have. Also, I have worked very closely with cups-filers maintainers, and no one else who is configuring cups-filters with qpdf 7 has so far encountered this problem.

I think most distributions just patch libjpeg to include a .pc file for it, so the error does not happen there. But I'm compiling directly from source. Another solution would be to persuade upstream libjpeg to ship a .pc file, but I guess most distros have already unsuccessfully tried that.

jpeg-9c ships with a .pc file from upstream.

I'm going to go ahead and close this issue then since just upgrading to a newer jpeg library should resolve the problem. Thanks for the report and update.


Fix link in alerting_based_on_metrics.md

This PR fixes the link to Instrumenting HTTP server written in Go

Thanks!


Interfaces as string literals in sap/ui/core/library

In https://github.com/SAP/openui5/commit/b7d11ca8f5f9bf0e465eca018ed5804157320949, the usage of IAsyncContentCreation interface has been hardcoded as a string literals instead of using corresponding property of sap/ui/core/library:
Before:
sap.ui.define([
	"sap/ui/core/library"
], function(library) {
	return UIComponent.extend("sap.ui.demo.toolpageapp.Component", {
		metadata: {
			manifest: "json",
			interfaces: [library.IAsyncContentCreation]
		},
	}
}

After:
sap.ui.define([
], function() {
	return UIComponent.extend("sap.ui.demo.toolpageapp.Component", {
		metadata: {
			manifest: "json",
			interfaces: ["sap.ui.core.IAsyncContentCreation"]
		},
	}
}

I always assumed, that, due to possible typos and the following codebase maintenance, it's not a good idea to hardcode something as a plain text, which can be defined with the programming language.
So, several questions:

Could you, please, elaborate what are the reason for replacing sap/ui/core/library#IAsyncContentCreation with hardcoded sap.ui.core.IAsyncContentCreation?

Should I follow the same change in my codebase?

Does it mean that sap/ui/core/library is going to be deprecated / replaced by something else?

Reg. 1: the reasoning is the same as in https://github.com/SAP/ui5-typescript/issues/386 . The (long time existing) API design of UI5 in this case does not translate well into the TypeScript world. We expose two aspects of interfaces under the same name in UI5:

the interface as a type itself. This aspect is translated to TypeScript interfaces today
the string that is used to represent the interface in UI5 runtime metadata. This does not appear in TypeScript

At runtime, no conflict exists as aspect 1) has no runtime relevance. But in TypeScript, both aspects would conflict and we descried to omit the string aspect, as the type seems more important to us.
Reg. 2: not yet, maybe.  Once we have an update for the best practices for UI5 1.x, this either will document it as a proposed change or not (depending on internal discussions).
Reg. 3: no, not at all.

Thank you for sharing this finding. I've created an internal incident<PHONE_NUMBER>. The status of the issue will be updated here in GitHub.

Hi @pubmikeb,
so we already discussed this topic shortly before the holidays, but will need to pick it up at a later point in time.
Right now we don't have a timeline for this, but there are other TypeScript related issues that we will look into too.
I collected the information from this issue into a backlog item for the team: CPOUI5FRAMEWORK-582
Best regards,
Thorsten


Game crashing error

I attached a screenshot of the error. Ive been playing for about 15 hours or so with a bunch of mods. no issues until I went on a long exploration and when I came back to my base the Error just continually happens. It also rolled back my server like 15 mins or so. It might be from a custom pin? I use a mod called REBUILT_AMPED_AutoMapPainsEnhanced. it has custom pins for stuff like berries and mushrooms. I attached a screenshot of the pins for reference.

Yes it looks like there's an incompatibility with that mod since it adds pins that are not expected by mine. I will try to reproduce and think on how / if to fix.

Yeah so that mod is definitely not compatible as is. I didn't manage to reproduce the crash but in any case the mod does its own click handling on top of the auto-pinning mechanism, and thus both mods are interfering with each other anyhow. We are both trying to replace the vanilla mechanism with our own, hence the incompatibility.
I have to think some more, I probably can do some things to improve compatibility on my side, though it will definitely still not ensure compatibility with all other pin mods.

Thanks so much! would love to use your mod in conjunction with the auto-marker. Ill keep an eye out for updates. The crash only happened when I tried to exit the game after being spammed with the error. it didnt just close the game instantly. I tried to log out and the game just closed

Yeah so I looked a bit more in depth, and in this specific case it will not be fixable without changes being also made to the other mod: Harmony explicitly warns against multiple mods using prefixes and skipping the original method for this reason. Glancing at the code over at https://github.com/raziell74/Valheim-AMPED-Auto-Map-Pins-Enhanced it seems AMP intercepts clicks to implement its own closest pin detection mechanism, with a shorter radius than in vanilla, and also removing pin ownership edition (which I'm actually unsure is intended, considering the git log).
While I still intend to make some changes on my side to improve potential compatibility with other mods, this specific incompatibility with AMP will not be solved :/
What can be done:

Use the other popular auto-marker mod https://valheim.thunderstore.io/package/FixItFelix/AutoMapPins/ which does not intercept map clicks and is thus compatible.
Get in touch with AMP's author and ask if they're willing to collaborate on addressing this. Issue is I'm not quite sure who should be contacted. @raziell74 seems to have done the latest changes a year ago published at https://valheim.thunderstore.io/package/raziell74/AMPED_Auto_Map_Pins_Enhanced/, but @Galll1 is the one that rebuilt AMP for the latest version of Valheim published at https://valheim.thunderstore.io/package/Pineapple/REBUILT_AMPED_AutoMapPinsEnhanced/... So what's the actual situation? 😅 Is any one of you two actively maintaining the mod?

This should be greatly improved in version 0.4.0.


Missing argument for parameter 'inContext' in call

I was using an older version of SugarRecord, but I just updated to the latest revision of the code, and I'm getting these compiler errors.
/SugarRecord/library/CoreData/Base/NSManagedObject+SugarRecord.swift:178:27: Missing argument for parameter 'inContext' in call
/SugarRecord/library/CoreData/Base/NSManagedObject+SugarRecord.swift:275:24: Could not find member 'beginWriting'
/SugarRecord/library/CoreData/Base/NSManagedObject+SugarRecord.swift:286:24: Could not find member 'endWriting'
/SugarRecord/library/CoreData/Base/NSManagedObject+SugarRecord.swift:295:24: Could not find member 'cancelWriting'
Not sure if there was anything I missed.

Let me see the lines where that errors are returned! @deivuh

Sure, these are on their respective order.
return all().count()
self.context().beginWriting()
self.context().endWriting()
self.context().cancelWriting()

@deivuh take a look to the tests or example project because there the following calls are working:

Count: https://github.com/SugarRecord/SugarRecord/blob/develop/spec/Models/CoreDataObjectTests.swift#L47
Begin/EndWriting: https://github.com/SugarRecord/SugarRecord/blob/develop/spec/Models/CoreDataObjectTests.swift#L48
CancelWriting: https://github.com/SugarRecord/SugarRecord/blob/develop/spec/Models/CoreDataObjectTests.swift#L162
Take a look to them. Sorry for the changes but I have had to do some recent refactors to bring more features to the library and to both, Realm and CoreData @deivuh


[ie/tiktok] Fix webpage extraction

Closes #4992, Closes #8620
Template
Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)

FWIW, verified this fixes my issue cases as well

The remainder of the (non-webpage extraction) tests have been updated in https://github.com/yt-dlp/yt-dlp/pull/8906/commits/411ed0af083e153dc0fbdd2adce521ee3a4b2037


Cannot train any problem with version 1.2.3

After releasing the new version, I gave it a try because I had an issue #311 with version 1.2.2. However, I am now facing another issue, and I cannot train any problem now.
I really hope that you release a working version, without a lot of issues soon, because my students depend now in tensor2tensor.
Versions:
Tensorflow 1.3
Tensor2tensor 1.2.3
Command:
Any training problem like:
t2t-trainer   --data_dir=~/t2t_data    --problems=image_cifar10   --model=multimodel   --hparams_set=multimodel_tiny    --output_dir=~/t2t_train/multimodel_tiny_img
Output:
Traceback (most recent call last):
  File "/home/ahmed/tensorflow/bin/t2t-trainer", line 94, in <module>
    tf.app.run()
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "/home/ahmed/tensorflow/bin/t2t-trainer", line 90, in main
    schedule=FLAGS.schedule)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensor2tensor/utils/trainer_utils.py", line 351, in run
    hparams=hparams)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/learn_runner.py", line 218, in run
    return _execute_schedule(experiment, schedule)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/learn_runner.py", line 46, in _execute_schedule
    return task()
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/experiment.py", line 620, in train_and_evaluate
    self.train(delay_secs=0)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/experiment.py", line 362, in train
    hooks=self._train_monitors + extra_hooks)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/contrib/learn/python/learn/experiment.py", line 801, in _call_train
    hooks=hooks)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py", line 256, in train
    loss = self._train_model(input_fn=input_fn, hooks=hooks)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py", line 647, in _train_model
    input_fn, model_fn_lib.ModeKeys.TRAIN)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py", line 517, in _get_features_and_labels_from_input_fn
    result = self._call_input_fn(input_fn, mode)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/python/estimator/estimator.py", line 603, in _call_input_fn
    return input_fn(**kwargs)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensor2tensor/utils/input_fn_builder.py", line 104, in input_fn
    name="problem_%d" % problem_idx)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensor2tensor/utils/input_fn_builder.py", line 235, in features_for_problem
    batching_scheme)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensor2tensor/utils/data_reader.py", line 230, in input_pipeline
    padded_shapes=batching_scheme["padded_shapes"])
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensor2tensor/utils/data_reader.py", line 320, in bucket_by_sequence_length
    None, window_size_fn))
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/contrib/data/python/ops/dataset_ops.py", line 2780, in group_by_window
    return GroupByWindowDataset(dataset, key_func, reduce_func, window_size_func)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/contrib/data/python/ops/dataset_ops.py", line 2646, in __init__
    self._make_key_func(key_func, input_dataset)
  File "/home/ahmed/tensorflow/local/lib/python2.7/site-packages/tensorflow/contrib/data/python/ops/dataset_ops.py", line 2669, in _make_key_func
    @function.Defun(*nest.flatten(input_dataset.output_types))
AttributeError: 'function' object has no attribute 'output_types'

Please try again in v1.2.4. The travis tests now include training and decoding with the Transformer model and a dummy dataset so essential functionality should be more stable.

Please reopen if there’s still an issue.


Upgrade packages

Pull Request Template
The code review checklist below is used for all pull requests.

Review the list before submitting your pull request.
Leave the list intact for the code reviewer's use.

Checklist

[x] Latest code from master has been merged into the pull request branch
[x] Code is camelCased
[x] No commented out code (if required, place // TODO above with explanation)
[x] No linting issues
[x] Automated tests exist and pass
[x] Build is successful (npm run build)
[x] Works in IE 11, Chrome, Firefox, and Edge

Thanks!
:heart:

Coverage remained the same at 91.525% when pulling 67fe45897e146a120ac9df25aa0163ad255cc161 on a2441918:master into e12cf52a2360f0dddf07016071d244ec97e76436 on coryhouse:master.


Code correction

Correct the execute SP code to match the SP created by the prior set of code to ensure it will execute correctly. See Specifying Parameter Default Values section for changes.

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Thank you @Gadaca for the content contribution.  @BYHAM can you please review.

@BYHAM Apologies - missed that change in the text! Edit made. Thanks.

#sign-off


Improve error reporting on WGSL

The current wgsl error log is not very convenient to read, especially when the shader code is long and complex, the current error prompt is difficult to locate the problem in a short time.
This PR improves the WGSL error prompt, and visually displays the error code and the line number and position of the code.
Looks something like this:
Shader Error: label:  Some("")
error: invalid field accessor `texcoord1`

     ┌─ wgsl:34:51
     │
  34 │     let value = textureSample(r_tex, r_sampler, in.texcoord1).r;
     │                                                    ^^^^^^^^^ invalid accessor

thread '<unnamed>' panicked at 'assertion failed: `(left == right)`
  left: `0`,
 right: `1`: ShaderModule[0] is no longer alive', C:\Users\runneradmin\.cargo\git\checkouts\wgpu-53e70f8674b08dd4\988990c\wgpu-core\src\hub.rs:169:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

It shows the position of the error code is line 34, column 51, and is underlined. the cause is invalid field accessor texcoord1

This is awesome! A year or so ago the application would just segfault if there was an error in the shader, so I was already happy to see some context, but this just pinpoints to the exact spot!
I also did a quick test and it worked great for what I tried.
Could you please refactor this into a function (e.g. parse_wgpu_error(message) -> better_message) and put it in rs_helpers? That way the rs.py does not become much larger than it already is, and we can write tests for that function (because the formatting that the regexpresses depend on might change).

and we can write tests for that function (because the formatting that the regexpresses depend on might change).

I am not very familiar with pytest. I am not sure whether it is possible to do unit test by directly calling the device.create_shader_module() method and capturing the logs in the error output stream.
I tried. It seems that the test will be interrupted due to a fatal Python error.

I am not sure whether it is possible to do unit test by directly calling the device.create_shader_module() method and capturing the logs in the error output stream.

My point is that now we can test parse_wgpu_shader_error() directly without going through wgpu :) Could you add a quick test for that? Maybe just with a fake message, but that at least makes it clear what the code expects from the error message (in terms of what words being present etc.)

Nice work!
I'm not sure whether we can fix #171. This solves one case, but there might be other cases where we still cause a panic.

hey, I have chased a panic caused by incorrect shadercode (using a variable or function that doesn't exist). To this line just above the error handling https://github.com/pygfx/wgpu-py/blob/main/wgpu/backends/rs.py#L1265
Other errors get handled as expect like syntax errors. I haven't built a minimal test cases yet and dug into cffi myself. As I have been using the Shadertoy class, the broken test case is in here: https://huggingface.co/spaces/Vipitis/shadermatch/blob/main/tests.py
Do you perhaps know a quick reason or solution?

It seems to fail at the same point where normally the textual error is generated (if the shader code is faulty). Although they are getting more rare over time, there are still cases where wgpu-core panics instead of producing an error.
If you're familiar with compiling a Rust project, you could use Naga (https://github.com/gfx-rs/naga) to check the shader, and hopefully it produces something more friendly.


[Question] Different maven repository

I don't know if this is the right place to ask this since it's not really an issue, but this bother me more than it should.
What is the difference between the maven repository spark-redshift from databricks and the maven repository spark-redshift_2.11 (or spark-redshift_2.10) from com.databricks ?
Links :
https://mvnrepository.com/artifact/databricks/spark-redshift
https://mvnrepository.com/artifact/com.databricks/spark-redshift_2.11
EDIT : same question for spark-avro

Hi @Koerty. The shorthand databricks/spark-redshift repo is hosted on Spark Packages, where as com.databricks:spark-redshift_2.1(0/1) is hosted on Maven Central. There shouldn't be any differences in these packages for the same version. Spark Packages aims to provide access to packages built around Spark in any language, therefore it doesn't have the exact same maven configuration, it is by the package name instead.

@brkyvz Thanks for your fast and complete answer. I'm closing this "issue"


Fix false negative for Lint/Void when using using frozen literals

Currently, Lint/Void looks for literals, and arrays/hashes composed of literals. However, returning a frozen literal into a void context is just as pointless as returning a plain literal (and more expensive). This PR adds support for frozen literal detection.
def foo
  'hello'.freeze      # ⚠ new offense: Literal 'hello'.freeze used in a void context
  [1,2,3].freeze      # ⚠ new offense: Literal [1,2,3].freeze used in a void context
  [1, 'hello'.freeze] # ⚠ new offense: Literal [1,'hello'.freeze] used in a void context
  baz
end

NOTE: this isn't the same as Style/RedundantFreeze which doesn't detect nested structures

Before submitting the PR make sure the following are checked:

[ ] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[ ] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[ ] Feature branch is up-to-date with master (if not - rebase it).
[ ] Squashed related commits together.
[ ] Added tests.
[ ] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[ ] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!


Performance regression of FermionicOp.reduce

Environment

Qiskit Nature version: main
Python version:  3.9.12
Operating system: macOS 12.3.1

What is happening?
FermionicOp.reduce of main is significantly slower than that of stable version.
FermionicOp.normal_ordered and FermionicOp.to_normal_order are slow due to the same reason.
How can we reproduce the issue?
import random
from timeit import timeit

from qiskit_nature.operators.second_quantization import FermionicOp

def random_op(k, n):
    random.seed(123)
    op = sum(
        (
            FermionicOp("".join(random.choices("+-ENI", k=k)), display_format="dense")
            * random.random()
        )
        for _ in range(n)
    )
    return op

def bench(k, n):
    op = random_op(k, n)
    print(f"{timeit(lambda: op.reduce(), number=1)} sec")

bench(12, 1000)

main
6.409043849 sec

stable (v0.3.2)
1.1105954169999999 sec

What should happen?
The method should be as fast as that of the stable version.
Any suggestions?
I took a performance profile with cProfile. It implies that FermionicOp.__init__ takes more than 70% of time, especially the following code.
https://github.com/Qiskit/qiskit-nature/blob/286c93e0751b069e3543d88561407e4f297dd9e3/qiskit_nature/operators/second_quantization/fermionic_op.py#L270-L272
This part used be a direct assignment as follows. #607 changed this part into a list comprehension, which is the root cause of the performance regression, I guess.
https://github.com/Qiskit/qiskit-nature/blob/be91c8e9657082d8670fd16fd79d02b565fa9f9c/qiskit_nature/operators/second_quantization/fermionic_op.py#L257
I think we need a fast path to set _data without any conversion and internal methods should use the fast path as much as possible.
cprofile graph with main branch

Closed by #649


Fix analytics csv export strlen() argument

1. Why is this change necessary?
TypeError: strlen(): Argument #1 ($str) must be of type string, array given
2. What does this change do, exactly?
Passes correct argument to strlen().
3. Describe each step to reproduce the issue or behaviour.
Backend: Marketing -> Analysis -> Analysis -> Item detail viewing (/ any statistic with shop selection) -> select shop -> Export (as csv)
6. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-26423
Please use this issue to track the state of your pull request.

After almost eight years, this bug is finally fixed :see_no_evil:
thanks for your contribution @Nevay  👍🎉💙


Sync Paged Iterable equivalent for ContinuablePagedFlux

\cc @kushagraThapar @JonathanGiles

@moderakh thanks for the review. This type is yet to be reviewed with @JonathanGiles. Meantime @kushagraThapar and I discussed about copying this type to cosmos and unblock the implementation (which he did in the referenced PR).

@JonathanGiles please review, this type is needed for GA-ing cosmos.


Now AdBlock block FuckAdBlock

Hello,
this JS library now blocking in Chrome, it's began about month ago

That is to say ?

AdBlock in my Chrome browser block FuckAdBlock script and he not work.
After rename js file from fuckadblock.js to checker.js all looks fine.
I think this issues can be closed, but shold keep in mind this problem.

Follow this example code, it works:
https://github.com/sitexw/FuckAdBlock#code-example
If the fuckadblock.js file is not loaded, the FuckAdBlock and fuckAdBlock variables do not exist, so it means that adblock is present.

I'm use same code from code example by link
Enabled AdBlock plugin block fuckadblock.js by file name when page load, I see this in browser console. Script load again only after I rename it =)


Found Bug in Connect Definition

In the connect definition where it's using the client_secret to connect to PowerBI, the grant_type needs to be set to "client_credentials", not "password".  We ran into an issue when trying to use this library with a client secret connection.  Client_Secret won't work if "grant_type" is set to "password".  We were informed about this setting during a support call with Microsoft.   This code below in connect should fix the issue.  Let me know if you have any questions.  Thanks.
   if client_secret:         body = {             "grant_type": "client_credentials",             "resource": "https://analysis.windows.net/powerbi/api",             "client_id": client_id,             "client_secret": client_secret         }     else:         body = {             "grant_type": "password",             "resource": "https://analysis.windows.net/powerbi/api",             "client_id": client_id,             "username": username,             "password": password         }

Hey @bdfeeser, I will submit a merge request in a few days with this fix and some new API methods, I needed for a project. Specifically, I am adding API methods to browse dashboards and tiles, and report pages and their visuals (there is no rest API for that, so I'll have to parse the report export file configuration).
Let's hope @AntoineDW has the time to review and merge it into the main packet.

In the connect definition where it's using the client_secret to connect to PowerBI, the grant_type needs to be set to "client_credentials", not "password". We ran into an issue when trying to use this library with a client secret connection. Client_Secret won't work if "grant_type" is set to "password". We were informed about this setting during a support call with Microsoft. This code below in connect should fix the issue. Let me know if you have any questions. Thanks.
 if client_secret: body = { "grant_type": "client_credentials", "resource": "https://analysis.windows.net/powerbi/api", "client_id": client_id, "client_secret": client_secret } else: body = { "grant_type": "password", "resource": "https://analysis.windows.net/powerbi/api", "client_id": client_id, "username": username, "password": password }

Still doesn't work


Sorting order?

When sorting the list of posts in the forum, the sorting order seems almost completely random. When filtering by recent, a post from seven years ago appears above a post from one month ago:

Am I misunderstanding how this works? Is this intended? Is this not yet implemented?

The sorting depends on last activity. The given date is the thread's creation date but sorting depends on the last activity. GitHub discussions works similar. It is however, strange that this particularly thread got bumped even though no new reply was added. Maybe a new reply was posted and removed. We should indeed investigate why this happened and how we can prevent that from happening again.


search pills: Backspace should remove a search pill with typeahead open.

Partially fixes #10026.
Typeaheads stopped propogation of keydown and keyup events for any
key except tab and enter. If stopAdvance was true even tab and enter
were not allowed.
advanceKeyCodes option was added to typeahead which allowed to specify
key codes for which propogation of keydown and keyup events should not
stop. advanceKeyCodes does not respect the stopAdvance option.
As the backspace key code is added to advanceKeyCodes in search.js,
the backspace key deletes pill on pressing backspace if input is empty
or only consists of spaces.
I'm not sure why the all the key codes except tab and enter aren't allowed.
Another approach would have been to allow backspace for all typeaheads without adding the advanceKeyCodes option, but I figured it would safer to allow it only for the search typeahead.

(test failures are due to #10091)

Merged, after fixing the trailing whitespace in bootstrap.js and changing the commit message to not accidentally auto-close the issue.  See 28589c5563003b03d8f107d20ccc6503f54fa2ec.
Thanks @shubham-padia!


Add Macau Polytechnic University

Add Macau Polytechnic University into repo, please review.

@nenniuwufang First stage of verification passed, official domain is mpu.edu.mo as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@philipto So glad to hear that, if anything need, plz let me know!

@nenniuwufang Pull request merged. Thank you.

@philipto Thanks so much, I'm so thrilled to hear that!


API backend CI

Move API code into repo
Add unit test suite
Add CI process for publishing to cloudflare

I wrote an API example for CloudFlare Workers:
https://twid.slawa.workers.dev/IDNUMBER
I can share the code after I clean it up a bit.

I wrote an API example for CloudFlare Workers:
https://twid.slawa.workers.dev/IDNUMBER
I can share the code after I clean it up a bit.

The js lib is actually running on a cloudflare worker at v.identity.tw.  This ticket is for a CI process managing that app.

The js lib is actually running on a cloudflare worker at v.identity.tw.  This ticket is for a CI process managing that app.

Right, delete this here. I will post it in the correct ticket.

Right, delete this here. I will post it in the correct ticket.


Avoid to get the same Collection Version from the database repeatedly

Let's avoid getting the same collection version from the database multiple times!
Before: 245 statements were executed, 114 of which were duplicates, 131 unique

After: 236 statements were executed, 98 of which were duplicates, 138 unique

I've succeeded to delete all duplicate queries on Home page of the Elemental Full page.


typo: specification/timeseriesinsights/data-plane/Microsoft.TimeSeriesInsights

Double word "support"

Automation for azure-sdk-for-go

Automation for azure-sdk-for-python

Automation for azure-sdk-for-js
Nothing to generate for azure-sdk-for-js

Automation for azure-sdk-for-java

Automation for azure-sdk-for-ruby
Nothing to generate for azure-sdk-for-ruby

Can one of the admins verify this patch?


Update for Home Assistant 2023.5.0

The hass-luxor custom component stopped working in Home Assistant 2023.5.0 and the root problem is that async_get_registry() was removed. Turns out that and async_get() is the replacement. For more information see
https://community.home-assistant.io/t/error-async-get-registry-after-core-2023-5-0/
Manually tested that this makes hass-luxor work again on 2023.5.0.

The hero we need 🙏🙏🙏

I'm assuming CI used to pass, but its unrelated to this change so we're gonna ship it.


Psmove orientation reversed after 180 turn around- for head tracking

I have set up Psmove server with four camera.
And I connect it to riftcat using PSMove freepie bridge.
I use the third controller as the head tracking orientation
But I have found that the orientation reverse when I turn 180 Degree around (see the video )
https://www.youtube.com/watch?v=mg3DvlU1p9w
PS:
I am following Daley Tech setup
https://www.youtube.com/watch?v=QEraN1r_5Nw&list=PLM_NtdgT2QVc1lcmHoo4AwNLp_wo67fmV&index=6&t=12s
with the PS Move FreePie Bridge
https://bitbucket.org/hawkinse/psmovefreepiebridge/downloads/
the PC
i5 2400
8GB RAM
GTX 1060 6GB
128 ssd +500 Hdd
Ps move server Alpha Release #8.4.0
PSMove freepie bridge Release 13

As this is probably not a problem with PSMoveService itself, and is likely a configuration problem relating to a bridge/driver etc., you're better off searching then asking the question in the google group first:
https://groups.google.com/forum/#!forum/psmoveservice
You can continue to comment here but I'm closing the issue for tracking purposes.

Thank for your reply, yes psmoveserver work well on orientation and position test.
I think you are right.
I have no idea where can i ask the question so i post it here,
thank you for giving me the google group link
Thank you~