Investigate YAML editing with reduced schema set

https://github.com/rancher/rancher/issues/38468
Backend would like to store less schemas - but this breaks YAML edit.
Need to investigate further

Tagging some relevent issues/prs

https://github.com/rancher/rancher/issues/38468#issuecomment-1289463085
https://github.com/rancher/steve/pull/62
https://github.com/rancher/rancher/issues/39568
https://github.com/rancher/rancher/issues/39567

I thought we had a test container but couldn't find a reference.
From my understanding the proposed change are

Only primary schemas are returned from /v1/schemas (not sure how we define primary, but those that aren't solely part of resourceFields entries)
Schemas are only omitted from /v1/schemas, the schemas themselves remain unchanged

From my understanding the UI needs

The endpoint to fetch base schemas to remain as /v1/schemas
A way to fetch schemas that are now not included in /v1/schemas

Questions

Do the changes also apply to /k8s/clusters/<cluster id>/v1/schemas? In theory this shouldn't make any difference, just increases the impact
To confirm, the changes to not affect v3 / Norman?
Can we still make /v1/schemas requests to specific schemas that aren't included in /v1/schemas?

References to resourceFields

const receiverSchema = this.$store.getters'cluster/schemaFor'; (monitoring.coreos.com.v1alpha1.alertmanagerconfig.spec.receivers)
const routeSchema = this.$store.getters'cluster/schemaFor'; ('monitoring.coreos.com.v1alpha1.alertmanagerconfig.spec.route)
const specSchema = this.$store.getters'cluster/schemaFor'; (monitoring.coreos.com.receiver.spec)
const specSchema = this.$store.getters['cluster/schemaFor'](get(this.schema, 'resourceFields.spec.type') || ''); (cis.cattle.io.clusterscan)
this.$getters['schemaFor'](get(schema, 'resourceFields.spec.type') || ''); (cis.cattle.io.clusterscan)
pathExistsInSchema iterates through spec references (getting their schemas)

this.$store.getters${ inStore }/pathExistsInSchema;
this.$rootGetters'cluster/pathExistsInSchema';

create-yaml.js

I've also reviewed general schemaFor and byId'](SCHEMA references and there was nothing of note
Given the above (including questions and assumptions), we need to confirm if we can change the getters to find (where we make http calls to specific schemas).

After chatting with Neil I think I got one of the assumptions wrong. Missing schema's will not be available via steve, we would need to go out directly and fetch the openapi version(?).  We'd need time to work out if this is possible on top of the impact from comment above. I'm not sure we have time in the 2.7next1 timeframe

@gaktive I found some inline questions , the big one is described here... how do we make API requests to fetch schemas now not returned by steve, can they provide some concrete examples that work today?

@richard-cox who is they? team1?

@samjustus They being the bucket term of backend. Not sure on teams, but @MbolotSuse was the owner of the PR for for the BE work to remove schemas and is probably best positioned to respond. We should discuss this in the next weekly performance call

Answers to questions:

Do the changes also apply to /k8s/clusters//v1/schemas? In theory this shouldn't make any difference, just increases the impact

That's correct, AFAIK they are the same endpoint (you may not see this in the test image since I didn't build a corresponding agent image) - one just runs on the stuff in local (/v1/schemas) and one runs on stuff in the downstream (/k8s/clusters/<cluster_id>/v1/schemas).

To confirm, the changes to not affect v3 / Norman?

Correct.

Can we still make /v1/schemas requests to specific schemas that aren't included in /v1/schemas?

Not in the current implementation. That endpoint basically returns a large map of all of the schemas available. Making a request to a specific endpoint just give you the schema for that resource, same as you see in the map (meaning that the pods entry that you see in /v1/schemas is the same as the entry for /v1/schemas/pods).
Some clarifications that may help:

Only primary schemas are returned from /v1/schemas (not sure how we define primary, but those that aren't solely part of resourceFields entries)

Basically, we only return the top-level fields and don't recursively redefine structs. For example, say I have a resource TestResource that has one field Spec TestSpec. We will expose a schema for TestResource, but we won't define the fields in TestSpec - you'll know the type exists but won't know about any of the fields there.

Schemas are only omitted from /v1/schemas, the schemas themselves remain unchanged

This is correct. You can still ask k8s for the schemas if you want the full definition, but that operation seems to be exceedingly slow.
FWIW, one approach that we discussed was exposing a /v1/resources endpoint which functions as the above does (top-level only fields or no fields at all) and keeping around the /v1/schemas fields. The UI would then pull in /v1/resources frequently (for checks on collectionVerbs and the like - button/element visibility would be addressed by this endpoint), but only infrequently target /v1/schemas for specific resources that you need the full definition of. Though that's not implemented at all in the current state.

Thanks Michael.
Would it be possible to add some examples, given the features in the current PR, of fetching schemas that have been dropped? So for instance how would we get the PodSpec? Following questions for that API

How would we easily get more than one schema (to save making multiple requests)?
How would we get updates to those schemas? Not quite sure we would need this, is there anything permissions based that would necessitate the UI requiring updates (for the specific spec, for the root schema objects we'd get updates as usual)?

Would it be possible to add some examples, given the features in the current PR, of fetching schemas that have been dropped? So for instance how would we get the PodSpec?

In the current implementation, you would not be able to get them through steve. You could still get them through kuberenetes (https://kubernetes.io/docs/concepts/overview/kubernetes-api/ - in short /openapi/v3 or /openapi/v2 on the k8s server), but as noted above this is slow.
This change (which was never merged) was made under the theory that the UI didn't need field definitions and mostly needed schemas for permissions checks, which aren't needed for subresources (like Pod specs) outside of a narrow few cases (and I don't know if steve works with these today). This appeared to not be true since the UI uses these resources for helm charts and the like, but I'm guessing that the investigation ticket was opened since we didn't know to what extent it was needed.
As far as your other questions go, that will depend on the implementation of this k8s side. We won't offer any features outside of what k8s already applies by default.

Is it possible to fetch schemas via openapi though? Think I'm conceptually missing something
I've looked through openapi/v3/api/v1 and there's nothing in paths, just the references in component/schemas.
Closest reference i could get to was /openapi/v3/api/v1#components/schemas/io.k8s.api.core.v1.PodSpec (which given the fragment implies it should be in a website).
Other things I've tried

https://rancher.richardcox.dev/openapi/v3/api/v1/components/schemas/io.k8s.api.core.v1.PodSpec
https://rancher.richardcox.dev/openapi/v3/api/v1/schemas/io.k8s.api.core.v1.PodSpec
https://rancher.richardcox.dev/openapi/v3/api/v1/schemas/PodSpec

Those paths are for openapi v3. As noted in the k8s docs, that is currently a feature in beta state that is disabled by default. So even if that did work, I don't think you'll be able to consistently use those endpoints.
However, you can use those endpoints to get the information that you are looking for. openapi/v3/api/v1 has the pod schema inside of it - I checked, it's in the large map returned at that endpoint. I'm unsure if you can get only the schema for pods, not super familiar with this functionality.
You'll need to use the openapi v2 endpoints - /openapi/v2/ gives you all of the schemaas (including the pod spec). I didn't, on quick examination, see a way to request only 1 schema, and the docs seem to indicate that this is the aggregated schema. If I uses kubectl explain pod.spec -v 8, kubectl makes a request to this endpoint and seems to load in all of these values.

Sorry, understood.

via openapi UI can fetch ALL schemas
possible alternative have a new endpoint to fetch them (tbd whether this is the original schemas endpoint or new resources)

Will discuss internally and come up with a propasal

Thanks @richard-cox . I would also appreciate it if you could explain the various areas/things that you use the schemas for - part of the reason that the original implementation didn't work is that we assumed that the UI wasn't using the field definitions, which wasn't true. Knowing what fields are used and why can help us optimize on the backend.

I need to go back and understand each use case from https://github.com/rancher/dashboard/issues/7716#issuecomment-1359500983, but i think the endpoints below would be a good starting point

Endpoint to fetch schemas without their resourceFields (some would be secondary schemas)

for simplicity this would be the current schemas endpoint  / resource type, which i think has already been done via the linked PR
These schemas will be watched via socket and are permission dependent (visibility of schema, schema properties, etc)

New endpoint to fetch a specific schema including it's resourceFields

when resourceField is a secondary schema it includes the full definition of itself and any child schemas
schema requested could be a primary or secondary
schemas in this context are not required to be updated and have no permission content

Given the usages in https://github.com/rancher/dashboard/issues/7716#issuecomment-1359500983

Require specific secondary schema - http request to new endpoint made on demand. cached only in context of page
Required to guide user write yaml - http request to new endpoint made on demand. cached only in context of page
schema's remain unchanged

Related backend now pushed to Q4 at least.

We need to investigate how resource validation against schema's works and if it's impacted by this change

I've played around with things given the image Michael very kindly supplied.
I had a look how we would handle only the change to v1/schemas as mentioned in https://github.com/rancher/rancher/issues/41301. This involves fetching schemas via Openapi.

Hitting openapi/v2 fetches all schemas.

Size of vanilla, just installed rancher's v1/schema is 370kB compress, 8.7MB on disc. This is quite meaty
With openapi/v2 we're unable to get a specific schema (it's in v3 but that's not prod ready). https://github.com/rancher/dashboard/issues/7716#issuecomment-1485576248

Schemas returned by openapi/v2 are in a very different format to v1/schemas

Pretty much only contain the resourceField info
schema name is very different (Neil has already created a nice way to get our version of the name from their schema)
inline references to other schemas are different

metadata $ref: "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
metadata": { "type": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta", "create": true, "update": true },

So two options

We use new v1/schemas, and get resourceFields by fetching all schemas with openapi/v2

should take many steps to reduce impact of size

we should avoid the vuex store with these, or Object.freeze them, or both?
we should investigate crossplane

when dashboard side needs the resource fields for a particilar schema, we specifically request the schema from a local service that sticks in the resourceFields from cached openapi schema.
we cater for the scenario where schema is missing (a helm chat has been installed, user gains permissions, etc)

We use new v1/schemas, and new v1/schemaDefinitions endpoint referenced in https://github.com/rancher/rancher/issues/41301

resourceFields are supplied within the v1/scheamDefinition requested on demand
we could still cache these
no conversion between openapi and our schema required

Currently waiting on a new build from Michael (discussed in slack dm)

Starting info for release notes.
Change introduces updates to core components that cater for breaking api changes in 2.9.0.
This means extensions using older versions of shell use previous components without this update which can result in some features not working (for example creating a value from yaml will not display content or saving resources will not validate against schemas on save).
Uses will need to rebuilt their extension with a version of shell at or higher than TBD.

https://github.com/rancher/dashboard/issues/10961 should be tested at the same time

Starting info for release notes.
Change introduces updates to core components that cater for breaking api changes in 2.9.0.
This means extensions using older versions of shell use previous components without this update which can result in some features not working (for example creating a value from yaml will not display content or saving resources will not validate against schemas on save).
Uses will need to rebuilt their extension with a version of shell at or higher than TBD.

Hello @richard-cox! I am handling release notes for v2.9.0 and was wondering if you could expand on the last section where users will "need to rebuild the extension with a version of the shell at or higher than TBD", was the TBD determined? Any help appreciated, thank you!

Tested in

v2.9-556e3f04c336ac4dbe8d0170fecdcf515973e65b-head
master e108b95

all scenarios in attached PR covered.

@sunilarjun For this feature.. Improve UI performance by exercising new API feature to independently fetch schemes related to the primary resource (please reword if appropriate!)
In addition we need somewhere in the release notes to explain a requirement for UI Extension developers to update their extensions  (update @rancher/shell dependency and chart annotations, and release a new version) given changes within 2.9.0.  @aalves08 Do we have a blurp for the release notes for above?

Here's the page that I created for our documentation:
https://extensions.rancher.io/extensions/rancher-2.9-support

Thanks Alex
@sunilarjun I've added some review comments to https://github.com/rancherlabs/release-notes/pull/390#pullrequestreview-2197091133. So it's those plus feature text from https://github.com/rancher/dashboard/issues/7716#issuecomment-2247561592

Thanks for the review and responses @richard-cox and @aalves08! Addressing the feedback currently and will respond in the release notes thread with updates.


[Feature] Support DaViT

Describe the feature
paper: https://arxiv.org/pdf/2204.03645.pdf
code: https://github.com/dingmyu/davit
Will you implement it?

[X] I would like to implement this feature and create a PR!

Thank you for your suggestion. We will consider adding this backbone. Community contributions are also welcome.

I plan to make a PR!


BUG: resolve_dependencies failures

Using the latest release v34.7.0 on the SCIO setup.cfg file:
docker pull ghcr.io/nexb/scancode.io:latest
docker run --rm \
  ghcr.io/nexb/scancode.io:latest \
  sh -c "run resolve_dependencies https://github.com/nexB/scancode.io/blob/main/setup.cfg" \
  > results.json

...
INFO 2024-07-05 06:30:11.70 Step [get_packages_from_manifest] starting
INFO 2024-07-05 06:30:25.46 Pipeline failed
INFO Run[3ff9570e-2c9f-401f-8c98-7e6ee7bb48a4] Update Run instance with exitcode, output, and end_date
CommandError: Error during resolve_dependencies execution:
This package does not exist: teams

Traceback:
  File "/opt/scancodeio/scanpipe/pipelines/__init__.py", line 215, in execute
    step(self)
  File "/opt/scancodeio/scanpipe/pipelines/resolve_dependencies.py", line 87, in get_packages_from_manifest
    self.resolved_packages = resolve.get_packages(
                             ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/scancodeio/scanpipe/pipes/resolve.py", line 71, in get_packages
    if packages := resolve_manifest_resources(resource, package_registry):
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/scancodeio/scanpipe/pipes/resolve.py", line 47, in resolve_manifest_resources
    packages = get_packages_from_manifest(resource.location, package_registry) or []
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/scancodeio/scanpipe/pipes/resolve.py", line 125, in get_packages_from_manifest
    resolved_packages = resolver(input_location=input_location)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/scancodeio/scanpipe/pipes/resolve.py", line 144, in resolve_pypi_packages
    inspector_output = resolve_dependencies(
                       ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/scancodeio/venv/lib/python3.12/site-packages/python_inspector/api.py", line 280, in resolve_dependencies
    resolution, purls = resolve(
                        ^^^^^^^^
  File "/opt/scancodeio/venv/lib/python3.12/site-packages/python_inspector/api.py", line 344, in resolve
    resolved_dependencies, packages = get_resolved_dependencies(
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/scancodeio/venv/lib/python3.12/site-packages/python_inspector/api.py", line 385, in get_resolved_dependencies
    resolver_results = resolver.resolve(requirements=requirements, max_rounds=max_rounds)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/scancodeio/venv/lib/python3.12/site-packages/resolvelib/resolvers.py", line 546, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/scancodeio/venv/lib/python3.12/site-packages/resolvelib/resolvers.py", line 397, in resolve
    self._add_to_criteria(self.state.criteria, r, parent=None)
  File "/opt/scancodeio/venv/lib/python3.12/site-packages/resolvelib/resolvers.py", line 148, in _add_to_criteria
    matches = self._p.find_matches(
              ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/scancodeio/venv/lib/python3.12/site-packages/python_inspector/resolution.py", line 612, in find_matches
    candidates = sorted(
                 ^^^^^^^
  File "/opt/scancodeio/venv/lib/python3.12/site-packages/python_inspector/resolution.py", line 595, in _iter_matches
    raise NoVersionsFound(f"This package does not exist: {name}")

@tdruez python-inspector is only supporting setup.py and requirements.txt for dynamic package resolution, everything else is not supported (pyproject.toml/setup.cfg).
From the README:
* parse various requirements.txt files and setup.py files as input for resolving dependencies.

See also https://github.com/nexB/python-inspector/issues/153


cannot open folder on my drive

VSCode Version: Code 1.15.1 (41abd21afdf7424c89319ee7cb0445cc6f376959, 2017-08-16T18:07:25.676Z)
OS Version: Windows_NT x64 10.0.15063
Extensions:

Extension
Author (truncated)
Version

python
don
0.7.0

Go
luk
0.6.63

vscode-icons
rob
7.12.0

Steps to Reproduce:

open VSCode
FIle -> Open Folder -> Choose folder from C:\

Reproduces without extensions: Yes

I am having this problem too. Brand new installation of VS Code. When I select one specific folder it does not show in the explorer. All other folders work just fine. This folder is:
~/workspaces/hd-zendesk-theme

#27285


Minor grammar fixes

Correcting some grammar stuff, and a file path

Thanks for correcting my appalling english : )


Support limits the max tenants of the Pulsar cluster

Is your feature request related to a problem? Please describe.
Support limits the max tenants of the Pulsar cluster. When the tenants reach the max tenants of the cluster, the broker should reject the new tenant request.
Describe the solution you'd like
Add maxTenants=0 in the broker.conf and don't limit by default.

I will work on it


Cross compile get error: undefined: OCI8Connector

Please note this is issue is only about cross compile go get error. If you are getting a cross compile build error, that can be fixed. Please look at other issues for fixes.
Getting undefined: OCI8Connector on go get cross compile. This works:
go get github.com/mattn/go-oci8
This:
set GOOS=linux
go get github.com/mattn/go-oci8

Gives this error:
# github.com/mattn/go-oci8
..\src\github.com\mattn\go-oci8\connector.go:20:22: undefined: OCI8Connector

Tried this from Windows to Linux as well as from Linux to Windows.
The cross compile seems to work, just not the go get. Any ideas? A Go bug?

Seems to be build cache of your cross compiling. :)

Hmmm, but it would build just find. Only get was having the issue, which seems like it would not be the build cache. Did you mean some other cache?
Did try the below, but received the same error:
set GOOS=
go clean -cache -testcache github.com/mattn/go-oci8
set GOOS=linux
go clean -cache -testcache github.com/mattn/go-oci8
go get github.com/mattn/go-oci8

xxxx@localhost /cygdrive/e/go-push/src/vendor/github.com/mattn/go-oci8
$ go install
vendor/github.com/mattn/go-oci8
.\connector.go:20:22: undefined: OCI8Connector
why? i want to know!
set GOARCH=amd64
set GOBIN=E:\go-push\bin
set GOCACHE=C:\Users\xxxx\AppData\Local\go-build
set GOEXE=.exe
set GOHOSTARCH=386
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=E:\go-push
set GORACE=
set GOROOT=D:\Go
set GOTMPDIR=
set GOTOOLDIR=D:\Go\pkg\tool\windows_386
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=0
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -fmessage-length=0 -fdebug-prefix-map=C:\cygwin64\tmp\go-build483581658=/tmp/go-build -gno-record-gcc-switches

Was this ever solved? I'm getting this issue when attempting to build. I can go run my code just fine though.

github.com/jzaikovs/ora
This is written by pure go [Oracle driver]. It works well at present.

It is not pure Go, it is cgo. It is using https://github.com/rainycape/dl which loads the Oracle instant client which is written in C

It is not pure Go, it is cgo. It is using https://github.com/rainycape/dl which loads the Oracle instant client which is written in C

It using package syscall
import (
	"syscall"
)

var (
	ociLibrary = syscall.NewLazyDLL("oci.dll")
)

I compiled 64-bit and 32-bit programs on Windows and released them. There is no barrier to test queries. There is only one disadvantage. It can't simultaneously extract multiple concurrent processes.

It is doing a lot of stuff and it is still using cgo.
Inside the rainycape/dl package there is a call to import "C". Once an import to C is called in any package anywhere in the program the binary has to switch to running cgo instead of pure Go. One of the great features of pure Go is the easy cross-compile. That is why for monitoring applications like Telegraf or Prometheus there is support for many many databases but not Oracle. There is no pure Go driver for Oracle. Telegraf and Prometheus want to keep there project pure Go so they can use Go's easy cross-compile features.
Telegraf inputs:
https://github.com/influxdata/telegraf#input-plugins
Prometheus database exporters:
https://prometheus.io/docs/instrumenting/exporters/#databases
I would love to see/have/use a pure Go driver. It might be possible but would be a lot of work.
Note:
Any interest in an experiment creating a pure Go Oracle driver?
https://github.com/mattn/go-oci8/issues/216

hi,tried this from Linux to Linux,"go get github.com/mattn/go-oci8" is success, but "go build exporter" is fail .What caused this problem?
$ go build -o ./exporter-linux oracle_exporter
github.com/mattn/go-oci8
../github.com/mattn/go-oci8/connector.go:20:18: undefined: Connector

I do it by use cgo not go.


How to solve this problem has been bothering me for several days.

Error occurred when executing InstantIDFaceAnalysis:
'INSwapper' object has no attribute 'taskname'
File "D:\Software\ComfyUI\ComfyUI-aki-v1.3\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "D:\Software\ComfyUI\ComfyUI-aki-v1.3\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "D:\Software\ComfyUI\ComfyUI-aki-v1.3\execution.py", line 74, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "D:\Software\ComfyUI\ComfyUI-aki-v1.3\custom_nodes\ComfyUI_InstantID\InstantID.py", line 217, in load_insight_face
model = FaceAnalysis(name="antelopev2", root=INSIGHTFACE_DIR, providers=[provider + 'ExecutionProvider',]) # alternative to buffalo_l
File "D:\Software\ComfyUI\ComfyUI-aki-v1.3\custom_nodes\comfyui-reactor-node\reactor_patcher.py", line 54, in patched_faceanalysis_init
elif model.taskname not in self.models and (allowed_modules is None or model.taskname in allowed_modules):

I'm having the same issue/error with the latest version of ComfyUI on Linux (Ubuntu 22.04).

I ended up solving my problem by removing an extra onnx model that was under the antelopev2 directory.  I also had a permissions issue on some of the files/models.

I believe the problem is with the reactor node that does something weird as always

If you look at the error it's definitely an issue loading the models from the antelopev2 folder.

Hey @kjenney I also have the same issues linked to loading the model, could you elaborate on how you solved it ?

Make sure to follow the installation instructions. You need insightface with models. You should have 5 files withe an .onnx extension in the models/insightface/models/antelopev2 directory.

Check file permissions
Verify file path is correct
Restart ComfyUI

If it's the same error, then it's the same issue: load_insight_face model = FaceAnalysis(name="antelopev2", root=INSIGHTFACE_DIR clearly points to an issue loading models in this directory.

try to disable reactor just as a test

what is the error now? It can't be the same the OP


Mempool

Description
Add new mempool structural.

Codecov Report

Merging #227 (ca63df1) into bench (cd5e7dc) will decrease coverage by 1.14%.
The diff coverage is 30.68%.

@@            Coverage Diff             @@
##            bench     #227      +/-   ##
==========================================
- Coverage   47.51%   46.36%   -1.15%
==========================================
  Files         133      135       +2
  Lines       11371    11993     +622
==========================================
+ Hits         5403     5561     +158
- Misses       4848     5254     +406
- Partials     1120     1178      +58

Impacted Files
Coverage Δ

bcs/ledger/xledger/tx/mempool.go
27.22% <27.22%> (ø)

bcs/ledger/xledger/tx/tx.go
39.35% <33.33%> (-1.91%)
:arrow_down:

bcs/ledger/xledger/tx/node.go
36.22% <36.22%> (ø)

bcs/ledger/xledger/state/state.go
48.12% <46.66%> (+1.46%)
:arrow_up:

bcs/network/p2pv1/conn.go
54.83% <0.00%> (-6.46%)
:arrow_down:

bcs/consensus/xpoa/common.go
80.95% <0.00%> (-4.77%)
:arrow_down:

bcs/contract/xvm/code_manager.go
63.63% <0.00%> (-2.73%)
:arrow_down:

bcs/consensus/tdpos/tdpos.go
43.91% <0.00%> (-2.18%)
:arrow_down:

bcs/consensus/xpoa/xpoa.go
52.40% <0.00%> (-1.93%)
:arrow_down:

bcs/consensus/pow/pow.go
41.82% <0.00%> (-1.15%)
:arrow_down:

... and 4 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #227 (ca63df1) into bench (cd5e7dc) will decrease coverage by 1.00%.
The diff coverage is 30.68%.

@@            Coverage Diff             @@
##            bench     #227      +/-   ##
==========================================
- Coverage   47.51%   46.51%   -1.01%
==========================================
  Files         133      135       +2
  Lines       11371    11993     +622
==========================================
+ Hits         5403     5578     +175
- Misses       4848     5239     +391
- Partials     1120     1176      +56

Impacted Files
Coverage Δ

bcs/ledger/xledger/tx/mempool.go
27.22% <27.22%> (ø)

bcs/ledger/xledger/tx/tx.go
39.35% <33.33%> (-1.91%)
:arrow_down:

bcs/ledger/xledger/tx/node.go
36.22% <36.22%> (ø)

bcs/ledger/xledger/state/state.go
48.12% <46.66%> (+1.46%)
:arrow_up:

bcs/consensus/tdpos/tdpos.go
43.91% <0.00%> (-2.18%)
:arrow_down:

bcs/network/p2pv2/server.go
51.33% <0.00%> (-1.07%)
:arrow_down:

bcs/consensus/tdpos/schedule.go
48.40% <0.00%> (-0.92%)
:arrow_down:

Continue to review full report at Codecov.

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

Codecov Report

Merging #227 (e95da32) into master (9bdaaa2) will decrease coverage by 0.94%.
The diff coverage is 30.71%.

@@            Coverage Diff             @@
##           master     #227      +/-   ##
==========================================
- Coverage   48.23%   47.29%   -0.95%
==========================================
  Files         134      136       +2
  Lines       11513    12089     +576
==========================================
+ Hits         5553     5717     +164
- Misses       4819     5178     +359
- Partials     1141     1194      +53

Impacted Files
Coverage Δ

bcs/ledger/xledger/tx/mempool.go
27.23% <27.23%> (ø)

bcs/ledger/xledger/tx/tx.go
39.35% <33.33%> (-1.91%)
:arrow_down:

bcs/ledger/xledger/tx/node.go
37.27% <37.27%> (ø)

bcs/ledger/xledger/state/state.go
48.06% <45.00%> (+1.62%)
:arrow_up:

bcs/network/p2pv1/conn.go
53.19% <0.00%> (-6.39%)
:arrow_down:

bcs/contract/xvm/code_manager.go
63.63% <0.00%> (-2.73%)
:arrow_down:

bcs/consensus/xpoa/xpoa.go
55.94% <0.00%> (-0.89%)
:arrow_down:

bcs/consensus/tdpos/tdpos.go
40.96% <0.00%> (-0.81%)
:arrow_down:

... and 2 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #227 (bba2515) into master (9bdaaa2) will decrease coverage by 1.04%.
The diff coverage is 35.14%.

@@            Coverage Diff             @@
##           master     #227      +/-   ##
==========================================
- Coverage   48.23%   47.18%   -1.05%
==========================================
  Files         134      136       +2
  Lines       11513    11999     +486
==========================================
+ Hits         5553     5662     +109
- Misses       4819     5153     +334
- Partials     1141     1184      +43

Impacted Files
Coverage Δ

bcs/ledger/xledger/tx/mempool.go
32.15% <32.15%> (ø)

bcs/ledger/xledger/tx/tx.go
39.35% <33.33%> (-1.91%)
:arrow_down:

bcs/ledger/xledger/tx/node.go
42.72% <42.72%> (ø)

bcs/ledger/xledger/state/state.go
48.08% <47.61%> (+1.64%)
:arrow_up:

kernel/consensus/base/driver/chained-bft/smr.go
41.87% <0.00%> (-7.67%)
:arrow_down:

bcs/contract/native/runtime.go
63.73% <0.00%> (-5.50%)
:arrow_down:

...el/consensus/base/driver/chained-bft/saftyrules.go
41.81% <0.00%> (-3.64%)
:arrow_down:

bcs/consensus/tdpos/common.go
64.06% <0.00%> (-3.13%)
:arrow_down:

bcs/contract/xvm/code_manager.go
63.63% <0.00%> (-2.73%)
:arrow_down:

bcs/consensus/xpoa/xpoa.go
54.83% <0.00%> (-1.99%)
:arrow_down:

... and 6 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #227 (e34d237) into master (9bdaaa2) will decrease coverage by 1.05%.
The diff coverage is 34.86%.

@@            Coverage Diff             @@
##           master     #227      +/-   ##
==========================================
- Coverage   48.23%   47.18%   -1.06%
==========================================
  Files         134      136       +2
  Lines       11513    12005     +492
==========================================
+ Hits         5553     5664     +111
- Misses       4819     5160     +341
- Partials     1141     1181      +40

Impacted Files
Coverage Δ

bcs/ledger/xledger/tx/mempool.go
32.15% <32.15%> (ø)

bcs/ledger/xledger/tx/tx.go
39.35% <33.33%> (-1.91%)
:arrow_down:

bcs/ledger/xledger/tx/node.go
42.72% <42.72%> (ø)

bcs/ledger/xledger/state/state.go
47.71% <43.47%> (+1.27%)
:arrow_up:

kernel/consensus/base/driver/chained-bft/smr.go
42.69% <0.00%> (-6.84%)
:arrow_down:

bcs/network/p2pv1/conn.go
53.19% <0.00%> (-6.39%)
:arrow_down:

bcs/contract/native/runtime.go
63.73% <0.00%> (-5.50%)
:arrow_down:

...el/consensus/base/driver/chained-bft/saftyrules.go
41.81% <0.00%> (-3.64%)
:arrow_down:

bcs/consensus/tdpos/common.go
64.06% <0.00%> (-3.13%)
:arrow_down:

bcs/consensus/xpoa/xpoa.go
55.91% <0.00%> (-0.92%)
:arrow_down:

... and 6 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #227 (d366421) into master (9bdaaa2) will decrease coverage by 0.91%.
The diff coverage is 34.86%.

:exclamation: Current head d366421 differs from pull request most recent head abce6cb. Consider uploading reports for the commit abce6cb to get more accurate results

@@            Coverage Diff             @@
##           master     #227      +/-   ##
==========================================
- Coverage   48.23%   47.32%   -0.92%
==========================================
  Files         134      136       +2
  Lines       11513    12005     +492
==========================================
+ Hits         5553     5681     +128
- Misses       4819     5144     +325
- Partials     1141     1180      +39

Impacted Files
Coverage Δ

bcs/ledger/xledger/tx/mempool.go
32.15% <32.15%> (ø)

bcs/ledger/xledger/tx/tx.go
39.35% <33.33%> (-1.91%)
:arrow_down:

bcs/ledger/xledger/tx/node.go
42.72% <42.72%> (ø)

bcs/ledger/xledger/state/state.go
47.71% <43.47%> (+1.27%)
:arrow_up:

kernel/consensus/base/driver/chained-bft/smr.go
42.69% <0.00%> (-6.84%)
:arrow_down:

bcs/contract/native/runtime.go
63.73% <0.00%> (-5.50%)
:arrow_down:

...el/consensus/base/driver/chained-bft/saftyrules.go
41.81% <0.00%> (-3.64%)
:arrow_down:

bcs/consensus/xpoa/xpoa.go
55.91% <0.00%> (-0.92%)
:arrow_down:

...nel/consensus/base/driver/chained-bft/pacemaker.go
100.00% <0.00%> (ø)

...ernel/consensus/base/driver/chained-bft/context.go

... and 5 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #227 (abce6cb) into master (9bdaaa2) will decrease coverage by 1.03%.
The diff coverage is 34.86%.

@@            Coverage Diff             @@
##           master     #227      +/-   ##
==========================================
- Coverage   48.23%   47.19%   -1.04%
==========================================
  Files         134      136       +2
  Lines       11513    12005     +492
==========================================
+ Hits         5553     5666     +113
- Misses       4819     5158     +339
- Partials     1141     1181      +40

Impacted Files
Coverage Δ

bcs/ledger/xledger/tx/mempool.go
32.15% <32.15%> (ø)

bcs/ledger/xledger/tx/tx.go
39.35% <33.33%> (-1.91%)
:arrow_down:

bcs/ledger/xledger/tx/node.go
42.72% <42.72%> (ø)

bcs/ledger/xledger/state/state.go
47.71% <43.47%> (+1.27%)
:arrow_up:

kernel/consensus/base/driver/chained-bft/smr.go
42.69% <0.00%> (-6.84%)
:arrow_down:

bcs/network/p2pv1/conn.go
53.19% <0.00%> (-6.39%)
:arrow_down:

bcs/contract/native/runtime.go
63.73% <0.00%> (-5.50%)
:arrow_down:

...el/consensus/base/driver/chained-bft/saftyrules.go
41.81% <0.00%> (-3.64%)
:arrow_down:

bcs/consensus/tdpos/common.go
64.06% <0.00%> (-3.13%)
:arrow_down:

bcs/consensus/xpoa/xpoa.go
55.91% <0.00%> (-0.92%)
:arrow_down:

... and 7 more

Continue to review full report at Codecov.

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


Basic command file added

a documentation is added regarding helping someone how to search by programming language, organization, updated and created time, by labels (other than good first), by interactions, etc.

Now i get it , sorry for the trouble . I will work on it

related to #20
@capedCrusaderr Thanks for your time and patient, this issue has been fixed now.


Upgrade to Xcode8.3.1

I have upgraded to Xcode 8.3.1 and fixed all warnings.
I'm doing various other changes to fit my own needs, so only the first few commits may be relevant.

Thank you for your support @neoneye


Entity None (<class 'custom_components.bestway.climate.SpaThermostat'>) implements HVACMode(s)

Version 1.3.1
Getting this in logs after update to HA 2024.2
Logs

Logger: homeassistant.components.climate
Source: components/climate/__init__.py:354
Integration: Climate (documentation, issues)
First occurred: 12:56:14 pm (1 occurrences)
Last logged: 12:56:14 pm

Entity None (<class 'custom_components.bestway.climate.SpaThermostat'>) implements HVACMode(s): off, heat and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/cdpuk/ha-bestway/issues

Same here, multiple entity's.
Version: 1.4.0
Entity None (<class 'custom_components.bestway.climate.AirjetSpaThermostat'>) implements HVACMode(s): off, heat and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/cdpuk/ha-bestway/issues


HSTS for opensourcesurvey.org

opensourcesurvey.org supports HTTPS as of #96. It would be great to go all the way with preloaded HSTS: https://hstspreload.org/?domain=opensourcesurvey.org
GH Pages supports HSTS headers, but it's not available externally yet so a Hubber like me needs to set it manually. Would it be alright for me to set the header to Strict-Transport-Security: max-age=63072000; includeSubDomains; preload?

Please do!

woo!


v1.2.0 - Linking Issue

Upgrading from v1.1.0 to v.1.2.0 I get multiple linking errors. i.e.:
../lib/gcc/xtensa-esp32s3-elf/8.4.0/../../../../xtensa-esp32s3-elf/bin/ld.exe: .pio\build\seeed_xiao_esp32s3\src\main.cpp.o:(.literal.exit._GLOBAL__sub_D_local_hostname+0x2c): undefined reference to PsychicHttpsServer::~PsychicHttpsServer()'
This error gets repeated for all PsychicHttp related uses. Not sure where to start with diagnosing this. The project is fairly simple, just an HTTPS server running WSS. All that aside this has been an amazing library compared to all of the other options I've tested. Keep up the great work.
The platformio.ini is:
[env:seeed_xiao_esp32s3]
platform = espressif32
board = seeed_xiao_esp32s3
framework = arduino
board_build.filesystem = littlefs
monitor_speed = 115200
monitor_filters = esp32_exception_decoder, direct
build_flags =
-D ARDUINOTRACE_ENABLE=0
-D ASYNC_WORKER_COUNT=20
lib_deps =
<EMAIL_ADDRESS><EMAIL_ADDRESS>

could this be the issue?  v1.1.0 in the config?
lib_deps =
<EMAIL_ADDRESS><EMAIL_ADDRESS>
also, make sure you are including both the library and the https server:
#include <PsychicHttp.h>
#include <PsychicHttpsServer.h>

@DMSimone

post a repo with a reproducible example
nail the platform to a specific version - platform = espressif32 will get you whatever happens to be on your machine

example:
;platform = espressif32 @ 6.8.1
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip

could this be the issue?  v1.1.0 in the config?
lib_deps =
<EMAIL_ADDRESS><EMAIL_ADDRESS>
also, make sure you are including both the library and the https server:
#include <PsychicHttp.h>
#include <PsychicHttpsServer.h>

Compiles fine with 1.1.0 it faults on 1.2.0.
I'll strip down the program and share the repo when I get a chance.

I don't think this is worth a repo share over. In short I can repeat the issue with the following main.cpp file:
#include <PsychicHttp.h>
#include <PsychicHttpsServer.h>
PsychicHttpsServer server;
void setup() {}
void loop() {}
The linking error occurs compiling the above at version 1.2.0, not as 1.1.0. If swapping PsychicHttpsServer for PsychicHttpServer no error occurs no matter the version.
For additional reference the platformio.ini is:
[env:seeed_xiao_esp32s3]
platform = espressif32
board = seeed_xiao_esp32s3
framework = arduino
lib_deps =
<EMAIL_ADDRESS>


[question] How to handle plugins with identical names

Is it possible to handle plugins that have identical names?
e.g. I want to install honza/vim-snippets and iwyg/vim-snippets
I've tried using the dir option
Plug 'honza/vim-snippets'
Plug 'iwyg/vim-snippets', { 'dir' : $HOME.'/.vim/plugged/mysnippets' }

Problem is, it still installs just the latter one.

@iwyg Hi. The problem in question is that the second plugin causes a name collision in the internal g:plugs dictionary used to store plugins. The dir flag only tells vim-plug where to download a plugin. Not sure if we want to add another flag to deal with such collisions, not common.
Regardless, I think you may want to reconsider this setup though, see :h g:UltiSnipsSnippetsDir to tell ultisnips where to find your own private snippets. These can then be stored in any github repo, or just inside your versioned or not ~/.vim. Alternatively, you could simply rename your vim-snippets repo my-vim-snippets.

I think vundle made a 'name' entry for this, might see about adding it. Though not sure @junegunn would go for the PR.

I'd rather not add the option. Adding it is trivial, but it's more important that we try to keep vim-plug as small as possible. No "because we can" features. I suggest that you simply rename the repo to vim-snippets-ext, my-vim-snippets, or something like that. But I'm interested in hearing about some real use cases. Are there any relevant plugins that share the same name and should be used at the same time?

@junegunn Figured as much. Guess that wraps this up. Hope the vacation was nice :).

@starcraftman Thanks :sunglasses:

Probably will do this, just wanted to know if there's an alias option I wasn't aware of.
Thanks for the clarification an for this great plugin.

Hello from 2021! For the benefit of those that got here through a Google search, vim-plug now supports an as option for this use case.
Plug 'challenger-deep-theme/vim', {'as': 'challenger-deep-theme-vim'}
Plug 'embark-theme/vim', {'as': 'embark-theme-vim'}


Not obvious error with restoring the solution out of box with not latest sdk

Ok, I hadn't read properly the Readme.md and didn't install the latest sdk as Readme says :)
The latest version on my machine was 8.0.204 at that moment
I cloned the repo git clone https://github.com/dotnet/eShop.git
Tried to restore Nuget packages
And got the error

and about 30k compile-time errors
BTW, before I downloaded the 8.0.401 sdk, the approach with latest sdk's version in the global.json was fixing the problem. However, I suppose, that isn't an appropriate solution.
{   "sdk": {     "version": "latest",     "rollForward": "latestFeature",     "allowPrerelease": true   } }
So, my question is how to make the error  more obvious?
I understand that we all have to read the documentation properly, but, frankly speaking, who does it? :)

I did it :(, but somehow I am unable to run the webapp

Main is now on .NET 9 and being worked on.
For .NET 8 checkout this branch: https://github.com/dotnet/eShop/tree/release/8.0


flop compute

🚀 Feature
How to compute FLOPs of my model?  After reading the previous question, I can't find the answer.
Motivation

Pitch

Alternatives

Additional context

If you enjoy Lightning, check out our other projects! ⚡

Metrics: Machine learning metrics for distributed, scalable PyTorch applications.

Lite: enables pure PyTorch users to scale their existing code on any kind of device while retaining full control over their own loops and optimization logic.

Flash: The fastest way to get a Lightning baseline! A collection of tasks for fast prototyping, baselining, fine-tuning, and solving problems with deep learning.

Bolts: Pretrained SOTA Deep Learning models, callbacks, and more for research and production with PyTorch Lightning and PyTorch.

Lightning Transformers: Flexible interface for high-performance research using SOTA Transformers leveraging PyTorch Lightning, Transformers, and Hydra.

It's not implemented. Duplicate of https://github.com/Lightning-AI/lightning/issues/12567


Code for a single ply and discrepancies with the web demo

Hello! Thank you for your excellent work, it is an excellent method in the field of instance segmentation.
I have been working on a demo code for the interference of a single ply file using the scrips provided. The idea behind it is to create a scannet dataset where we only have one pointcloud in the test split. This approach has some limitations that require preparations and modifications:

The pointcloud must only have the colors for the “segmentator” program to work.

For “scannet_preprocessing” and “main_instance_segmentation” to work on our files, we need to name them like scannet files: scene0001_00.ply for example. The “_vh_clean_2” suffix is added in the provided demo code.

We need to make sure that the path where we move the output of segmentator (line 9 of the provided code) is the same that the used in the preprocessing ( scannet_preprocessing.py line 178).

We need a certain structure in the demo folder in order to simulate a dataset. The folder needs the files “./Tasks/Benchmark/scannetv2_test.txt”, “color_mean_std.yaml”, “label_database.yaml”, “train_database.yaml”, “train_validation_database.yaml” and “validation_database.yaml”,  (all generated with a full preprocess of the scannet dataset). And the folder train with at least the .npy files for scene 0270_00, 0270_02 and 0384_00.

The folder should look like this:

├── train
│   ├── 0270_00.npy
│   ├── 0270_02.npy
│   └── 0384_00.npy
├── Tasks
│   └── Benchmark
│       └── scannetv2_test.txt
├── color_mean_std.yaml
├── label_database.yaml
├── train_database.yaml
├── train_validation_database.yaml
├── validation_database.yaml
└── scene0001_00.ply

The code takes care of the modification of the txt file of the test split, and the generation and movement of the output of “segmentator”. Then uses the provided python scripts for the preprocessing of the test split of a scannet dataset. Lastly, it uses the provided python script main_instance_segmentation.py for the generation of the results. Obtaining the predictions of our pointcloud.

View code
# demo.py

import subprocess
import argparse
import os
import shutil

def segment(d_dir, scene):
    # Execute "segmentator" binary for the current ply file
    args = ("/home/admin2/PycharmProjects/Mask3d/Mask3D/datasets/preprocessing/segmentator",  # Path to the compiled segmentator binary
            str(d_dir + "/" + scene + ".ply"))
    popen = subprocess.Popen(args)
    popen.wait()

    # Rename the file and move it to the segments_test folder
    os.rename(d_dir + "/" + scene + ".0.010000.segs.json",
              d_dir + "/" + scene + "_vh_clean_2.0.010000.segs.json")
    shutil.move(d_dir + "/" + scene + "_vh_clean_2.0.010000.segs.json",
                "/home/admin2/Datasets/Mask3d_Processed/segments/" + scene + "_vh_clean_2.0.010000.segs.json")

def preprocess(d_dir):
    # Execute "scannet_preprocessing.py" for the ply file
    subprocess.run(["python", "/home/admin2/PycharmProjects/Mask3d/Mask3D/datasets/preprocessing/scannet_preprocessing.py",  # Path to scannet_preprocessing python file
                    "preprocess",
                    str("--data_dir="+d_dir),
                    str("--save_dir="+d_dir),
                    str("--git_repo="+d_dir),
                    '--modes=("test",)'])  # Only preprocess test split

def instance_segmentation(d_dir):
    # Execute "main_instance_segmentation.py"
    subprocess.run(["python", "/home/admin2/PycharmProjects/Mask3d/Mask3D/main_instance_segmentation.py",  # Path to main_instance_segmentation python file
                    'general.experiment_name="singleplytest_query_150_topk_300_dbscan_0.95"',
                    'general.project_name="scannet_eval"',
                    "general.checkpoint='checkpoints/scannet_benchmark.ckpt'",  # Path to checkpoint
                    "general.eval_on_segments=true",
                    "general.train_on_segments=true",
                    "general.train_mode=false",
                    "general.export=true",
                    "data.test_mode=test",  # Use test split
                    "data/datasets=demo",  # Copy of scannet.yaml with test_dataset.data_dir changed
                    "model.num_queries=150",
                    "general.topk_per_image=300",
                    "general.use_dbscan=true",
                    "general.dbscan_eps=0.95"])

def main():
    # Create the parser
    parser = argparse.ArgumentParser()
    # Add arguments
    parser.add_argument('--data_dir', type=str, required=True)
    parser.add_argument('--scene', type=str, required=True)

    # Parse the arguments
    args = parser.parse_args()
    data_dir = args.data_dir
    scene = args.scene

    # Update txt of the test split with the scene name
    f = open(data_dir + "/Tasks/Benchmark/scannetv2_test.txt", "w")
    f.write(scene + "\n")
    f.close()

    # Check if the folders exist, create them if not
    if not os.path.exists(data_dir + "/scans_test"):
        os.mkdir(data_dir + "/scans_test")
    if not os.path.exists(data_dir + "/scans_test/" + scene):
        os.mkdir(data_dir + "/scans_test/" + scene)

    # Rename file and move it to ./scans_test/<scene>/
    shutil.copy(data_dir + "/" + scene + ".ply", data_dir + "/scans_test/" + scene + "/" + scene + "_vh_clean_2.ply")

    # Call segment function. Runs segmentator on the file and moves the output to the segments_test folder
    segment(data_dir, scene)

    # Call preprocess function. Runs "scannet_preprocessing.py" only for test split
    preprocess(data_dir)

    # Call instance_segmentation. Runs "main_instance_segmentation.py" for test split
    instance_segmentation(data_dir)

if __name__ == "__main__":
    main()

However, the predictions obtained using the configurations for the scannet_benchmark and the scannet_benchmark checkpoint (ScanNetv2 test) are different from the predictions obtained via the web demo.
@JonasSchult In the paper it is stated that you filter out the predictions with a score lower than 0.8. I was wondering if there is more post processing filters or modifications to the predictions (such as aggrupation of overlapping clusters) and if the configurations and checkpoints used are the same as the scannet benchmark. In addition, I noticed some degree of down sampling of the ply files uploaded to the web, and was wondering how much is it down sampled or if there is any down sampling at all for the inference.
Here are some examples of the discrepancy between the predictions obtained with the code and the web demo:

Predictions demo.py
Predictions web demo

As you can see, there is some scenes where the clusters are notably different and even some scenes where some of the instances are detected only in one of the predictions.
@CharlesCai123 @reynoldscem @claragarciamoll @Augustab @lintong-zhang @pablovela5620 I have noticed that you have expressed your interest in processing your own pointclouds. If you are interested, we could work on this collectively.
Thank you!

Hi @Pamogar ,
Thanks for this script. I have one question. How did you convert the /processed/scannet/test/scene0000_01.npy file (file created after executing demo.py) to the .ply file for visualization? I am trying to convert it into .ply, but it is showing RuntimeErrror: Unable to cast Python instance to C++ type.
Thanks,
Vishal

Thanks @Pamogar ,
I generated this files “color_mean_std.yaml”, “train_database.yaml”, “train_validation_database.yaml” and “validation_database.yaml” using three train scene (0270_00, 0270_02 and 0384_00) and one test_scene (0000_01). Do I need to preprocess the whole scanetv2 dataset to simulate a dataset?

The database files should be okay, since you only preprocess the test split. I'm not so sure about the other files, the 'color_mean_std' and the 'label_database', but you can copy the results I got with the whole dataset:
color_mean_std.yaml
mean:
- 0.47793125906962
- 0.4303257521323044
- 0.3749598901421883
std:
- 0.2834475483823543
- 0.27566157565723015
- 0.27018971370874995

label_database.yaml

View file
0:
  color:
  - 0
  - 0
  - 0
  name: empty
  validation: false
1:
  color:
  - 174
  - 199
  - 232
  name: wall
  validation: true
2:
  color:
  - 152
  - 223
  - 138
  name: floor
  validation: true
3:
  color:
  - 31
  - 119
  - 180
  name: cabinet
  validation: true
4:
  color:
  - 255
  - 187
  - 120
  name: bed
  validation: true
5:
  color:
  - 188
  - 189
  - 34
  name: chair
  validation: true
6:
  color:
  - 140
  - 86
  - 75
  name: sofa
  validation: true
7:
  color:
  - 255
  - 152
  - 150
  name: table
  validation: true
8:
  color:
  - 214
  - 39
  - 40
  name: door
  validation: true
9:
  color:
  - 197
  - 176
  - 213
  name: window
  validation: true
10:
  color:
  - 148
  - 103
  - 189
  name: bookshelf
  validation: true
11:
  color:
  - 196
  - 156
  - 148
  name: picture
  validation: true
12:
  color:
  - 23
  - 190
  - 207
  name: counter
  validation: true
13:
  color:
  - 178
  - 76
  - 76
  name: blinds
  validation: false
14:
  color:
  - 247
  - 182
  - 210
  name: desk
  validation: true
15:
  color:
  - 66
  - 188
  - 102
  name: shelves
  validation: false
16:
  color:
  - 219
  - 219
  - 141
  name: curtain
  validation: true
17:
  color:
  - 140
  - 57
  - 197
  name: dresser
  validation: false
18:
  color:
  - 202
  - 185
  - 52
  name: pillow
  validation: false
19:
  color:
  - 51
  - 176
  - 203
  name: mirror
  validation: false
20:
  color:
  - 200
  - 54
  - 131
  name: floor_mat
  validation: false
21:
  color:
  - 92
  - 193
  - 61
  name: clothes
  validation: false
22:
  color:
  - 78
  - 71
  - 183
  name: ceiling
  validation: false
23:
  color:
  - 172
  - 114
  - 82
  name: books
  validation: false
24:
  color:
  - 255
  - 127
  - 14
  name: refridgerator
  validation: true
25:
  color:
  - 91
  - 163
  - 138
  name: television
  validation: false
26:
  color:
  - 153
  - 98
  - 156
  name: paper
  validation: false
27:
  color:
  - 140
  - 153
  - 101
  name: towel
  validation: false
28:
  color:
  - 158
  - 218
  - 229
  name: shower_curtain
  validation: true
29:
  color:
  - 100
  - 125
  - 154
  name: box
  validation: false
30:
  color:
  - 178
  - 127
  - 135
  name: whiteboard
  validation: false
31:
  color:
  - 120
  - 185
  - 128
  name: person
  validation: false
32:
  color:
  - 146
  - 111
  - 194
  name: night_stand
  validation: false
33:
  color:
  - 44
  - 160
  - 44
  name: toilet
  validation: true
34:
  color:
  - 112
  - 128
  - 144
  name: sink
  validation: true
35:
  color:
  - 96
  - 207
  - 209
  name: lamp
  validation: false
36:
  color:
  - 227
  - 119
  - 194
  name: bathtub
  validation: true
37:
  color:
  - 213
  - 92
  - 176
  name: bag
  validation: false
38:
  color:
  - 94
  - 106
  - 211
  name: otherstructure
  validation: false
39:
  color:
  - 82
  - 84
  - 163
  name: otherfurniture
  validation: true
40:
  color:
  - 100
  - 85
  - 144
  name: otherprop
  validation: false

Hope this helps! :)

Hi @Pamogar ,
Thanks for the demo script and detailed explanation. It took me around 50 seconds to test the inference on a single test scene. When I tried to use multiple GPUs for inference, I faced errors. The author mentioned that https://github.com/JonasSchult/Mask3D/issues/35#issuecomment-1368026455 code is not tested for multiple GPUs. But still, do you know any way we can use multiple GPUs for inference?

Thanks,
Vishal

Hi @Vishal1711,
I'm glad to hear that you were able to get it working. However, I've only been using one GPU and haven't figured out how to make it work with multiple ones yet.

Many thanks for your demo.py. It really helps me.

Hi @CQUlds,
You can convert your data into raw_data format and keep that in /data/raw/dataset_name/test. The raw_data format depends on which dataset you used earlier: ScanNet, S3DIS and STPLS3D. Using preprocessing script, convert that data into processed_data. You can infer your data by running script under the scripts folder in test mode.

Hi @JonasSchult and thanks a lot for the code you did an amazing job. Thanks also to @Pamogar for this demo was really useful for me. I wanted to ask about the multiprocessing with more than one GPU, does anyone achieve it? Because I am traying the training and even if I reduce the data.voxel_size to 0.05 I had a problem to allocate the memory on cuda. I have two GPUS Nvidia GeForce RTX 2080 Ti, and only using 1 with 10 GB memory is not enough, it would be ideal to be able to work with the 2.
Also I wanted to point out a small error I found in the visualization.py you shared in this issue @Pamogar. Correct me if I am wrong but in my case in order to assign correct the labels to the instances I had to change this line of code (line 101):

Hi @JonasSchult and thanks a lot for the code you did an amazing job. Thanks also to @Pamogar for this demo was really useful for me. I wanted to ask about the multiprocessing with more than one GPU, does anyone achieve it? Because I am traying the training and even if I reduce the data.voxel_size to 0.05 I had a problem to allocate the memory on cuda. I have two GPUS Nvidia GeForce RTX 2080 Ti, and only using 1 with 10 GB memory is not enough, it would be ideal to be able to work with the 2.
Also I wanted to point out a small error I think I found in the visualization.py you shared in this issue @Pamogar. Correct me if I am wrong but in my case in order to assign the labels correctly to the instances I had to change this line of code (line 86):
label = CLASS_LABELS_20[VALID_CLASS_IDS_20.index(int(inst_i))+2]
to:
label = CLASS_LABELS_20[VALID_CLASS_IDS_20.index(int(inst_i))]
In my case removing the +2 solved the problem because the alghorithm was assigning a incorrect label (exactly the 2nd after the correct one in the CLASS_LABELS).


OpenSSL static linking proposal

Goal
Add OpenSSL static linking support to Microsoft Go OpenSSL crypto backend.
Background
We currently support OpenSSL dynamic loading by calling dlopen(libcrypto.so.X), being X a configurable version string (see docs). The supported OpenSSL versions are 1.0.2, 1.1.0, 1.1.1 and 3.
We also support portable OpenSSL, which means users can build an application using an OpenSSL version different that the one used at runtime.
One can tune the FIPS behavior by using the GOFIPS environment variable in the following ways:

GOFIPS=0: disable OpenSSL FIPS mode.
GOFIPS=1: force OpenSSL FIPS mode, panic is not enabled and can't be enabled.
GOFIPS unset: try to enable FIPS mode if not enabled. If can't be enabled, go on with the OpenSSL backend in non-FIPS mode.

OpenSSL static linking is not supported, although we could add this capability to go-crypto-openssl with a reasonable effort. This proposal is not about how to update go-crypto-openssl nor how is integrated with microsoft/go, but about the user experience around the different OpenSSL linking/loading modes
Why static linking

Deploy on distroless containers: some containers are so trimmed down that they don't even contain libcrypto.so, so embedding it into the binary facilitate running it without installing external packages.
Ensure OpenSSL is FIPS-compliant: we currently require the platform OpenSSL to be FIPS-compliant, which is not the case for popular containers, such as Ubuntu. CBL-Mariner does provide a FIPS-compliant OpenSSL out of the box.

Proposal

GOEXPERIMENT=opensslcrypto uses dynamic loading (aka dlopen) by default, which is the current behavior. Using the platform crypto is the Microsoft Crypto Board recommendation, so we should stick to it.
GOEXPERIMENT=opensslcrypto uses static linking when used together with -tags=opensslstatic.
e.g., GOEXPERIMENT=opensslcrypto go build . -tags=opensslstatic.
Microsoft Go will provide the OpenSSL library that will be used for static linking, in a similar way as Google does for BoringSSL. This library will be FIPS-capable and vetted by Microsoft's Crypto Board. The Microsoft Go team shouldn't be responsible of maintaining this library, it should build the source code from a trusted repository (e.g. CBL-Mariner) using a compliant build recipe.
Microsoft Go won't provide multiple OpenSSL versions. This should be transparent for end users as long as OpenSSL integrates well with Go crypto.
Microsoft Go won't support linking against custom OpenSSL static libraries. The business case of this functionality is not clear and would complicate the implementation. This decision can be revisit later on.
Change GOFIPS to default to `GOFIPS=1, which means it will panic if OpenSSL cannot be used in FIPS mode. If someone is not sure whether FIPS mode will be supported at runtime they should use OpenSSL static linking, which will be warranted to support FIPS.

The most difficult part of this proposal is to agree on who provides the FIPS-capable OpenSSL sources and built recipe. This proposal is consciously vague at this point so we focus the discussion on the UX. If at the end we can't provide a FIPS-capable OpenSSL static library I would argue that we should not provide OpenSSL static linking at all.
@dagood @jaredpar @chsienki
FYI @derekparker

cc @simo5 @ueno

Do we (microsoft/go) need to build this from source to satisfy some UX? I think we should be open to acquiring the actual binaries from CBL-Mariner, so they keep control over the entire build process. We already build our Linux platform Go on a Mariner container, so we already have these binaries on the build machine.

This is a possibility and could be a good initial plan. What worries me is that Mariner only provides amd64 binaries, thus it wouldn't work for arm64. I'm not aware of any requirement to support arm64, but something to keep in mind.

What worries me is that Mariner only provides amd64 binaries

They have arm64 too, just not armv6l. From emulated Docker:
root [ / ]# rpm -q --whatprovides /usr/lib/libcrypto.so.1.1.1k
openssl-libs-1.1.1k-12.cm1.aarch64
root [ / ]# file /usr/lib/libcrypto.so.1.1.1k
/usr/lib/libcrypto.so.1.1.1k: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), statically linked, BuildID[sha1]=dfa8ebe52a3de49330d9867765450d98db00d73d, with debug_info, not stripped, too many notes (256)

What worries me is that Mariner only provides amd64 binaries

They have arm64 too, just not armv6l. From emulated Docker:
root [ / ]# rpm -q --whatprovides /usr/lib/libcrypto.so.1.1.1k
openssl-libs-1.1.1k-12.cm1.aarch64
root [ / ]# file /usr/lib/libcrypto.so.1.1.1k
/usr/lib/libcrypto.so.1.1.1k: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), statically linked, BuildID[sha1]=dfa8ebe52a3de49330d9867765450d98db00d73d, with debug_info, not stripped, too many notes (256)

You got me there. I'll update the proposal to include this option 😄


Optimized List.fill

To address https://github.com/scala/collection-strawman/issues/233
Once given the okay, I'll remove FillBenchmark

Is fill only overriden in List’s companion? Do other collections benefit from an optimization?


fix: New warpcast mint landing notif

Thank you for your contribution to the Koda - Generative Art Marketplace.
👇 __ Let's make a quick check before the contribution.
PR Type

[x] Bugfix

Needs Design check

@exezbcz please review

Context

[x] Closes #10273

Did your issue had any of the "$" label on it?

[x] My DOT address: Payout

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

@prury for payout bot please
thanks for the notif!

pay 25 usd


Waiting for Camunda

Hi @celanthe, i changed the version to release.
Only jar camunda-bpm-graphql should be in Maven Central.
Thanks ;)

Hi @mmaico -- I just cut a new release, and will keep an eye on the GitHub Actions workflow to ensure everything goes smoothly. If you can take a look once the Action has finished running as well, I would much appreciate it!

Hi @celanthe  all actions were executed successfully but still not showing up in Maven Central :(

Hi @mmaico -- I'll take a look into this and see what's happening. I'll circle back ASAP once I have an answer! :)

Hi @mmaico Just wanted to circle back. I haven't forgotten about you. I've opened a few PRs for fixes to the POM files and the workflow YAML itself that I hope will lead to us resolving this issue and remediate outdated documentation at the same time. I hope this helps. My PR #53 has a failing build currently, and I will debug that ASAP. :)
Thank you again for your contributions to Camunda. We truly appreciate it!

Hi @celanthe, I'm looking forward to seeing the release of this version on Maven Central. I'm working in other features and soon i open the new pull request. Thanks!!!

Hi @celanthe can i help you in this task?

Hi @mmaico -- I merged a few pull requests that I thought might resolve this issue, but sadly I'm still not seeing the release on our side. I'm going to reach out to our Infrastructure team and ask them if they have any advice as to what may be occurring here, because as far as I can see, the deploy.YML workflow ran successfully.
Apologies for the delay in response, I was out of office for some time recovering from a medical procedure!

I can look into this

The maven distribution settings where overwritten in the pom: https://github.com/camunda-community-hub/camunda-platform-graphql/commit/0a82dfb14bf835c7f0c8b96e7c03f6e3ca7ed57d. Works now - I create a new release that's also pushed to Maven Central: https://github.com/camunda-community-hub/camunda-platform-graphql/releases/tag/0.4.2


ripgrep doesn't build on aarch64-linux

Steps To Reproduce
Steps to reproduce the behavior:

nix-build --argstr system "aarch64-linux" -A ripgrep

Build log
failures:

---- misc::compressed_brotli stdout ----
thread 'misc::compressed_brotli' panicked at '

==========
command failed but expected success!

command: "/build/source/target/aarch64-unknown-linux-gnu/release/deps/../rg" "--path-separator" "/" "-z" "Sherlock" "sherlock.br"

cwd: /build/ripgrep-tests/compressed_brotli/213

dir list: ["/build/ripgrep-tests/compressed_brotli/213", "/build/ripgrep-tests/compressed_brotli/213/sherlock.br"]

status: exit status: 2

stdout:

stderr: sherlock.br: <stderr is empty>

==========
', tests/util.rs:406:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- misc::compressed_lz4 stdout ----
thread 'misc::compressed_lz4' panicked at '

==========
command failed but expected success!

command: "/build/source/target/aarch64-unknown-linux-gnu/release/deps/../rg" "--path-separator" "/" "-z" "Sherlock" "sherlock.lz4"

cwd: /build/ripgrep-tests/compressed_lz4/220

dir list: ["/build/ripgrep-tests/compressed_lz4/220", "/build/ripgrep-tests/compressed_lz4/220/sherlock.lz4"]

status: exit status: 2

stdout:

stderr: sherlock.lz4: <stderr is empty>

==========
', tests/util.rs:406:13

---- misc::compressed_zstd stdout ----
thread 'misc::compressed_zstd' panicked at '

==========
command failed but expected success!

command: "/build/source/target/aarch64-unknown-linux-gnu/release/deps/../rg" "--path-separator" "/" "-z" "Sherlock" "sherlock.zst"

cwd: /build/ripgrep-tests/compressed_zstd/228

dir list: ["/build/ripgrep-tests/compressed_zstd/228", "/build/ripgrep-tests/compressed_zstd/228/sherlock.zst"]

status: exit status: 2

stdout:

stderr: sherlock.zst: <stderr is empty>

==========
', tests/util.rs:406:13

failures:
    misc::compressed_brotli
    misc::compressed_lz4
    misc::compressed_zstd

test result: FAILED. 268 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 29.58s

error: test failed, to rerun pass `--test integration`
error: builder for '/nix/store/kl99vn4qyzp53k2qrwhfz5vrfpcr04kz-ripgrep-13.0.0.drv' failed with exit code 101;
       last 10 log lines:
       >
       >
       > failures:
       >     misc::compressed_brotli
       >     misc::compressed_lz4
       >     misc::compressed_zstd
       >
       > test result: FAILED. 268 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 29.58s
       >
       > error: test failed, to rerun pass `--test integration`
       For full logs, run 'nix log /nix/store/kl99vn4qyzp53k2qrwhfz5vrfpcr04kz-ripgrep-13.0.0.drv'.

Additional context
Notify maintainers
@tailhook @globin @ma27 @zowoq
Metadata

system: "x86_64-linux"
host os: Linux 6.1.7, NixOS, 23.05 (Stoat), 23.05.20230123.1b1f506
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.12.0
channels(root): "nixos-21.11pre299825.d8079260a30"
nixpkgs: /run/current-system/nixpkgs

/nix/store/kl99vn4qyzp53k2qrwhfz5vrfpcr04kz-ripgrep-13.0.0.drv
I tried this on two different aarch64-linux machines, builds fine on both.

I have the problem on my machine and on github actions. Both using qemu.

Also fine on my aarch64-linux machine. I guess it's a cross-compilation issue?

I can confirm binfmt fails and native succeeds.


chore: paper sections

chore: paper sections

PR-Codex overview
The focus of this PR is to add a copyright notice, sections to the paper, and a bibliography citation.
Detailed summary

Added copyright notice with permissions
Added sections: Related Work, Research Method, Results, Limitations, Discussion, Conclusion, Acknowledgements
Updated Introduction section label to include a reference
Added bibliography citation

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@h1alexbel OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@h1alexbel Done! FYI, the full log is here (took me 12min)


Aliased fields with @include/@skip are treated as mandatory

Which packages are impacted by your issue?
@graphql-codegen/typescript
Describe the bug
Since https://github.com/dotansimha/graphql-code-generator/issues/3836 fields adorned with @include or @skip directives are correctly treated as optional:
query getUsers($includeName: Boolean!) {
  users {
    id
    name @include(if: $includeName)
  }
}

becomes
export type GetUsersQuery = (
  { users: Array<(
    { id: string, name?: string }
    & { __typename?: 'User' }
  )> }
  & { __typename?: 'Query' }
);

However, when the conditional field is aliased, it's treated as mandatory:
query getUsers($includeName: Boolean!) {
  users {
    id
    userName: name @include(if: $includeName)
  }
}

becomes
export type GetUsersQuery = (
  { users: Array<(
    { id: string, userName: string } // no question mark in sight
    & { __typename?: 'User' }
  )> }
  & { __typename?: 'Query' }
);

Your Example Website or App

Steps to Reproduce the Bug or Issue
Alias a conditional field (i.e. one with @include or @skip directive). It's no longer treated as optional in the generated type.
Expected behavior
Fields adorned with @include or @skip should be treated as optional in the generated type, even if they are aliased.
Screenshots or Videos
No response
Platform
-
Codegen Config File
No response
Additional context
No response

Thank you for reporting @RadovanBednar !
Seems like a real issue
I'm labeling it according to our new Contribution Guide and issue flow as a stage 0 issue
Now in order to advance to stage 1 we'll need a simple reproduction, maybe in code-sandbox?
Later to progress to stage 2, a failing test would be needed - you can also start directly from that
Thanks for the report!

Hello !
I found that this issue is still open, and since I faced it in my codebase too I managed to reproduce it in this sandbox 😄
As you can see in the document.graphql file, I added a @skip directive on both email and eml (which is email, but aliased).
We can see that in the types.ts file we have email that is optional (as intended), but eml is shown as mandatory.
Is that helpful enough or do you need more infos @Urigo ?
Thanks, and have a good day!

I have a similar issue but with fragments instead:
...Fragment @include(if: $condition) {
    field
}

Does not make field optional.
However, I just found a workaround after looking at relevant tests in the codebase:
...@include(if: $condition) {
    ...Fragment {
        field
    }
}

Works fine and seems to have the expected behavior otherwise.
Unfortunately, it doesn't work for aliased fields:
...@include(if: $condition) {
    alias: field
}

I can confirm the issue with fragments with "@graphql-codegen/typescript-operations": "^4.2.1". @yasamoka thanks for the workaround! Unfortunately, it didn't work in my case. The type is still the same.

Can you provide a minimal example so I can take a look?


Missing spaces in Deno API docs

https://docs.deno.com/api/deno/subprocess

It seems the positions where spaces were missing are all newlines in the JSDoc sources. I didn't find the doc source of the second case, deprecated Deno.process.
https://github.com/denoland/deno/blob/94b588ce6624ae2f2ed648c7b1a479a10513542f/cli/tsc/dts/lib.deno.ns.d.ts#L3715-L3720
  /**
   * The interface for handling a child process returned from
   * {@linkcode Deno.Command.spawn}.
   *
   * @category Subprocess
   */

https://github.com/denoland/deno/blob/94b588ce6624ae2f2ed648c7b1a479a10513542f/cli/tsc/dts/lib.deno.ns.d.ts#L4595-L4598
  /** Send a signal to process under given `pid`. The value and meaning of the
   * `signal` to the process is operating system and process dependant.
   * {@linkcode Signal} provides the most common signals. Default signal
   * is `"SIGTERM"`.
   * ...
   */

The problem doesn't reproduce in the HTML doc generated from a simple main.ts, by running deno doc --html main.ts. Thus maybe it comes from codes in ./reference_gen.
/** Send a signal to process under given `pid`. The value and meaning of the
 * `signal` to the process is operating system and process dependant.
 * {@linkcode Signal} provides the most common signals. Default signal
 * is `"SIGTERM"`.
 */
export function add(a: number, b: number): number {
  return a + b;
}

if (import.meta.main) {
  console.log("Add 2 + 3 =", add(2, 3));
}

closing as fixed


Typo on wiki

Just pointing out a small typo. Cheers!
https://github.com/projectkudu/kudu/wiki/Post-Deployment-Action-Hooks

The location of these scripts is set as a default setting which can be overwritten by updating the setting: SCM_POST_DEPLOYMENT_ACTIONS_PATH. That can be set to
And absolute path
A relative path from D:\home\site\repository

fixed, thanks.


Added Japanese translation

Hi, this is Justin/Jin. I created the Japanese translation! I would appreciate it if someone could review it and merge. Thanks!

Thank you so much for your contribution! I'll try to check with J-Snake and Watch!


WIP - Some optimization improvements

We go with this instead: https://github.com/talentprotocol/contracts/pull/105


Update oracle-database.md

Premier Support (PS) ends April 30, 2024, two years of waived Extended Support (ES) fees will be in effect from May 1, 2024 until April 30, 2026. Fees will be required beginning May 01, 2026 through April 30, 2027
Oracle updated Doc ID 742060.1 with new :
Patching End Date for 19c LTR:
April 30, 2026 with no ES/ULA

Hi @kl0rd , would you drop here the url/screenshot you used to provide these elements :grey_question: :pray:

It's in the release policy link (Doc ID 742060.1).

:clap:


Willing to help on document translation  in Traditional Chinese

Feature Request
Angular Taiwan is willing to help on document translate in Traditional Chinese.
How do we start to help it?

cc @JWO719 @ladyleet

@chgc hey Kevin! Yeah... we still need to figure out how to get dgeni to work. @petebd so... can we start somehow? is this discussion happening elsewhere?

@ladyleet Nope, it isn't any discussion happening yet. I
Just another thought about multi-language document. Have you seen dotnet core document website? They host different language document in separate GitHub repo. (https://github.com/aspnet/Docs.zh-tw).

I think with our very limited resources we just dropped the ball on this one. Probably don't have a lot of time address translations when we still need to flush out our docs more.
@niklas-wortmann, I'm going to close this, but if you see merit in keeping it open, please reopen and assign it to yourself.


Create a Guidance section

Create a Guidance section below the timeline, Use content same as last year.

Guidline*

Working on this, will do a pr soon


[secrets/template/packit-service.yaml] remove fedora-messaging keys

See https://github.com/packit-service/packit-service/issues/552

Hey @jpopelka
You missed fas_passwd.
marshmallow.exceptions.ValidationError: {'fas_passwd': ['Unknown field.']}

Hey @jpopelka
Also had the same issue for fas_passwd.
marshmallow.exceptions.ValidationError: {'fas_passwd': ['Unknown field.']}

Could you please create a new issue for that?

Could you please create a new issue for that?

not needed, I've just fixed it in additional commit


Solution for keyring usage by sequencers

For the testnet we can't use keyring-backend test
As dymint makes periodic transactions we need to define the solution for the keyring storage

Will use keyring backend test for testnet


Add Brockton,MA

Can we add Brockton, MA
https://brockton.ma.us/government/city-council/

DUE TO HIGH VOLUME EMPTY ISSUES, OR ISSUES MISSING THE FOLLOWING INFORMATION WILL BE IMMEDIATELY CLOSED. THANK YOU!

A subject message for the email
A list of emails (at least one) for the government officials you’d like to receive the message
A detailed message concerning the budgeting decisions that are at stake in your community

Please read more about our email style guidelines here.
If this information is copied from an external source please provide a link to the original source.
See our current links for examples at https://defund12.org.
Thank you!!


docs: final changes to CHANGES.md before v4

Let's keep this PR open until we're done with changes.
Plus review now and comment accordingly so issues can be sorted out.
For the record: This is how to sort the changes in the direct rule impact section:
sed -e "s/\(9[0-9][0-9][0-9x][0-9x][0-9x]\)\(.*\)/\1\2\1/" -e "s/\]$/]000000/" -e "s/xxx$/000/" -e "s/\(.*\)\(......\)$/\2\1/" | sort -n | sed -e "s/^......//"

Thanks for the fix @RedXanadu

@dune73 @RedXanadu We should sort the changes. There are way too many, and chore, fixes and feat are intertwined making it difficult to read. We should apply alphabetical sort here. And probably showing first features, then fixes, and lastly chores and test.

I followed

topical sort for the big changes
alphabetical sort for the changes not impacting any rules
sort by first ruleid in PR for the changes impacting rules (as indicated in the file, also see above)

I know it's not easy to read. But it's mostly OK to go from rule to rule now. And I think this is the preferred way on consuming these changes.
But I am happy to apply a different sort order if you think that's better.

U OK with the sort order now, @fzipi?

Yes, we can go out with this one.

Cool. The CHANGES.md in this PR is now up to date with latest changes. Feel free to merge.


Add a basic gitignore file (based on other tree-sitter-* projects)

Hello, I'm Martin from r2c, working on semgrep.
This PR adds a .gitignore file, keeping the git status clean after a build. We rely on this to check that we don't have uncommitted changes when releasing generated code from ocaml-tree-sitter.
I also removed the package-lock.json file to align with the other tree-sitter-* projects such as https://github.com/tree-sitter/tree-sitter-javascript/blob/master/.gitignore.
/cc @zythosec who started the R integration into semgrep.

Update: I left package-lock.json as it is so as to not break CI.

Update: I left package-lock.json as it is so as to not break CI.

Thanks!

Thanks!


1.2 draft

Tesla 1.2 Draft
This is an early draft of proposed changes for next version of tesla.
All feedback is more than welcome - the more I know how you all use this library the better it can become 💃
There are three main points I'd like to tackle (A, B and C). This does not mean any other issues/improvements won't make it into the next release, these are the biggest & hardest ones.
A. Promote macro-less clients
Instead of
defmodule Github do
  use Tesla

  plug Tesla.Middleware.BaseUrl, "https://api.github.com"
  plug Tesla.Middleware.JSON

  adapter Tesla.Adapter.Hackney

  def repos, do: get("/repos")
end

use this one
defmodule Github do
  @middleware [
    {Tesla.Middleware.BaseUrl, "https://api.github.com"},
    Tesla.Middleware.JSON
  ]

  @adapter Tesla.Adapter.Hackney

  def repos, do: Tesla.get(client(), "/repos")

  defp client, do: Tesla.client(@middleware, @adapter)
end

or with dynamic middleware/adapter
defmodule MyApi do
  @default_middleware [
    {Tesla.Middleware.BaseUrl, "https://api.github.com"},
    Tesla.Middleware.JSON
  ]

  def items(client \\ new()), do: Tesla.get(client, "/items")

  def new(user_token, opts \\ []) do
    middleware = [{Tesla.Middleware.Headers, [{"authorization", "Bearer #{user_token}"}]}]
    Tesla.client(middleware ++ @default_middleware, opts[:adapter] || @adapter)
  end
end

The reasons for such change are (unordered):

Do not worry about polluting your module with public get/post/...  functions
No more name collision (I'm looking at you delete function)
It becomes clear what happens with middleware arguments (#220)
There is no difference in readability compared to the macro-based version
It allows greater flexibility to decide on middleware/adapter at runtime (#219).

The changes required are very minimal:

[ ] Introduce Tesla.client/1 and Tesla.client/2 (Should it be called Tesla.new?)
[ ] Update README and examples (while keeping the DSL docs!)

B. Well-defined adapter interface
Currently adapter interface is weakly typed - the options passed for each middleware are different and the error return values are unknown ({:error, any}).
Basically everything Jose wrote in #218.
To-do list:

[ ] Define common set of error return values
[ ] Document adapter-specific options (how to use, link to source, etc.)

C. Replace Tesla.Middleware.Timeout with adapter option
Timeout middleware has been causing issues for a long long time (#151, #157, #237 and more).
The two biggest problems with it are the use of Task which breaks Tesla.Mock and overriding adapter-specific timeouts.
With a well-defined adapter interface we can introduce a common :timeout option for adapter and promote it instead of the middleware. If adapter's underlying http library supports it (like hackney) it will be same as setting some option (recv_timeout: opts[:timeout]), if the library does not implement it it will have to be implemented on the adapter level (most probably in a similar fashion as current timeout middleware).
The timeout middleware should probably stay as it is, since it provides a different semantics when used with Retry middleware - the timeout set would capture the whole operation of multiple requests while adapter-level timeout only works for a single request.
To-do list:

[ ] Add :timeout option to adapter spec
[ ] Implement :timeout in every adapter
[ ] Update documentation to promote :timeout option instead of Tesla.Middleware.Timeout

---
WDYT?

Introduce Tesla.client/1 and Tesla.client/2 (Should it be called Tesla.new?)

I vote for client. Tesla.new would be a good name if it was supposed to create %Tesla{} struct

Update README and examples (while keeping the DSL docs!)

Do we have a plan to deprecate/remove macros in the long run? Maybe something like:

1.2 soft deprecation (explained in @doc)
1.3 hard deprecation (@doc deprecated: "use ... instead)
2.0 removed

[timeout] if the library does not implement it it will have to be implemented on the adapter level (most probably in a similar fashion as current timeout middleware).

Wouldn't it cause same issues as current timeout middleware?

Do we have a plan to deprecate/remove macros in the long run?

I think we can keep both, I don't have a strong urge to remove macros.

Wouldn't it cause same issues as current timeout middleware?

No, since in test you'd replace that adapter with Tesla.Mock (or other)

Regarding a well-defined adapter interface:
httpc return type:

hackney return type:
{ok, integer(), list(), client_ref()} | {ok, integer(), list()} | {error, term()}
ibrowse return type:

Regarding a well-defined adapter interface:
httpc return type:
{ok, Result} | {ok, saved_to_file} | {error, term()}

hackney return type:
{ok, integer(), list(), client_ref()} | {ok, integer(), list()} | {error, term()}

ibrowse return type:
{ok, Status, ResponseHeaders, ResponseBody} | {ibrowse_req_id, req_id()} | {error, term()}

Since none of the current adapters define proper error contract, I don't see how could tesla enforce one.


Inconsistent (?) handling of strings

a 'b c'
a "b c"

→
a('b c');

a("b c");

and
a 'b
c'
a "b
c"

→
a('b \
c');

a("b c");

Notice \. Does this work as expected?

Well, it'll work in the sense that the line continuation character does the right thing there; inherited from the C preprocessor, in JS that has always let you split a string across lines without actually ending up with the \n in the string. The slash in effect consumes the rest of the line.
It's odd that the compiler produces both kinds of output though. Legacy stuff? Maybe part of the recent shuffling to get the line numbers a little closer between coffee and js?

The output is inconsistent in terms of formatting, but as @csubagio points out, the two are semantically equivalent. "Bug" seems like too strong a word, though this probably isn't intentional.


Changelog: Add hyperlinks to PRs

Signed-off-by: Conor Evans<EMAIL_ADDRESS>Closes #8689
Sed pattern: 's/ \(#[0-9]*\)/ [\1](https:\/\/github.com\/prometheus\/prometheus\/pull\/\1)/'
I then did a quick regex for \(#[0-9]+\) and in fact the most recent Go 1.16 change was the only one :)

https://github.com/conorevans/prometheus/blob/conorevans/changelog-include-links/CHANGELOG.md

Do you also want to do the tsdb PR in this PR?

Sure thing @roidelapluie, did prometheus/common while here too.

I'm not happy with this. If you look at the changelog in the Github context, the PRs are hyperlinked anyway.
This change only helps if you render the markdown outside of Github. However, if you just want to look at the unrendered markdown, this change bloats the text size and makes it much less readable.
I also think we should do the changelog formatting consistently across repos, so this is something we should discuss in a larger group.


Save identity/account backup file to a default location

Is your feature request related to a problem? Please describe.
Currently, whenever users backup their identity they get to choose their password and then the location where the file will be saved. However, sometimes they may save .json file in hidden folders or somewhere that isn't easy to find.
Describe the solution you'd like
I believe the easiest solution to this issue would be to automatically save the file in a default location, such as documents folder as discussed in our previous dVPN meeting. Android app has it set up for backup files to be saved in download folder as default and that is how I came up with this suggestion. Most times it is easier to find, and in case users want to move file elsewhere they can just drag file elsewhere.
Additional context

Feature no longer relevant with newer versions of the app


Issue #24. Adding XML Documentation.

These are looking really good @s-moon  Thank you.
Please afford me a little bit of time to read through the comments and I will merge!
(Linking issue #40.)


CLOUDSTACK-8970 Centos 6.{1,2,3,4,5} guest OS mapping for vmware is n…

…ot available

Values are inline with the guest_os table and inserts the inserts all work so LGTM!

LGTM, @abhinandanprateek do you have any comments?

@SudharmaJain please rebase against latest

@bhaisaab Rebased against master.

@SudharmaJain The provided version have already released so these change need to go into 481to490 related sql /cc @swill
any vmware/guest-os-mapping guru want to comment on the changes -- @anshulgangwar @devdeep @agneya2001 @koushik-das @sureshanaparti

@bhaisaab Thanks for the comment. I  have updated with the latest now.

Changes LGTM.
@swill This can be merged.

Do we have any verification that this does what it is supposed to?  It would be good if we could get some form of verification posted that this behaves as expected.

@SudharmaJain please rebase against master and push -f, and update on status of your PR, thanks
LGTM
tag:easypr

Can you do a force push again.  Jenkins has been in this state for 3 days now.  Thx...

@swill I force pushed again and still it is failing. In logs I see following error.
fatal: write error: No space left on device

Thanks @SudharmaJain.  I will get someone to look into this.  @DaanHoogland do you or @pdion891 have access to this box to clean up the disk space so it is functional again?  I am not sure who had access to these boxes...

Rebased and pushed it again.

Can someone with a VMware environment validate this PR is functional?  I don't think running CI is going to give us anything on this one since I only have KVM  and this is only a DB change.  Thoughts???

@SudharmaJain please rebase as we now have merge conflicts.  Ideally we would have some verification that this works as expected.  I don't have the ability to test this.

@swill Rebased against master.

Thank you @SudharmaJain.  Is there anything you can provide to show this works as expected?  Screenshots or something?  I don't have the ability to CI this, so it would be awesome if we could get some sort of verification that this is working.  Are you running this in production somewhere?

Getting following error with Jenkins
Running org.apache.cloudstack.utils.hypervisor.HypervisorUtilsTest
Testing don't block on newly created clones - pass
Testing block on modified files - pass
Testing timeout of blocking on modified files - pass
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.272 sec - in org.apache.cloudstack.utils.hypervisor.HypervisorUtilsTest
Running org.apache.cloudstack.utils.imagestore.ImageStoreUtilTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.057 sec - in org.apache.cloudstack.utils.imagestore.ImageStoreUtilTest
Running org.apache.cloudstack.utils.process.ProcessTest
Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 301.061 sec <<< FAILURE! - in org.apache.cloudstack.utils.process.ProcessTest
testProcessRunner(org.apache.cloudstack.utils.process.ProcessTest)  Time elapsed: 300.038 sec  <<< FAILURE!
java.lang.AssertionError: expected:<-1> but was:<0>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at org.junit.Assert.assertEquals(Assert.java:631)
at org.apache.cloudstack.utils.process.ProcessTest.testProcessRunner(ProcessTest.java:43)

@SudharmaJain it is a unit test failure triggered by an assert. cc @rhtyd It is being generated by ProcessRunner.

My bad, it is fixed here: https://github.com/apache/cloudstack/pull/1543

@SudharmaJain can you re-push or close and reopen this PR to kick off Jenkins again?
@rhtyd and @nvazquez I know you both use VMware.  I don't have a way to validate this PR, so can you give me your opinion on if this should be merged without validation or can either of you validate this PR in your environment and give me a verbal OK?  Since I don't have a way to test this, I want some verification from someone who is affected by this PR.  Thx...

@SudharmaJain can you rebase and push to see if we can get this green for the 4.9 freeze...

Rebased and pushed the branch.

I have no way to test this and no one has verification of this from what I can tell.  Otherwise it is ready to go...  I may have to make a judgement call on this one for 4.9.  Thoughts?

LGTM, unfortunately there is not way on our side to tests this :-S because it require VMware host.
but inserts are similar to previous from previous releases.

Why would we need this?
https://cloudstack.apache.org/api/apidocs-4.8/root_admin/addGuestOsMapping.html
Ypu can add an guest os to hypervisormapping on runtime

@DaanHoogland to automatically have support for those OSes ? unless we should have a script that auto populate Oses mapping thru the API instead of preinserting data into the database.


remove leading new lines that seem to be breaking translations

These were all added by the spritekind update and seem to be breaking translations in tutorials; crowdin seems to be converting the empty line to break tags for some reason.
Should probably handle this more gracefully in the future, but removing the new lines for now
should fix https://github.com/microsoft/pxt-arcade/issues/1173

You'll need to bump most likely.

Seems to be a crowdin issue. They are inserting line breaks into any code blocks that start with an empty line. Does not appear in the src file, shows up in the translated file when you download it.


Fix tiling pattern with smask.

After drawing a tiling pattern we were not calling
endDrawing, which handles compositing any
active smasks.
Fixes #8565.

/botio-linux preview

/botio test

Thanks!
/botio makeref


Separate conda build into solve and download/build task

@costrouc can you provide an update on this?

@kcpevey this has been completed. Closing this issue this has not officially made it into a release.