Filter pushdown doesn't show in explain plan even though pushdown was successful

Hi there,
For tables implementing FilteredTable, the explain plan doesn't show that the filters were pushed down, even though they were successfully pushed down (i.e. all the pushdown methods are correctly called and filter was successfully pushed down). This happens in our Table implementation as well but I use an example from the GMS quick start since its familiar to all.
NOTE the use of the memory.NewFilteredTable in the example below:
func createTestDatabase() *memory.Database {
	const (
		dbName    = "mydb"
		tableName = "mytable"
	)
	db := memory.NewDatabase(dbName)
	table := memory.NewFilteredTable(tableName, sql.NewPrimaryKeySchema(sql.Schema{
		{Name: "name", Type: sql.Text, Nullable: false, Source: tableName},
		{Name: "email", Type: sql.Text, Nullable: false, Source: tableName},
		{Name: "phone_numbers", Type: sql.JSON, Nullable: false, Source: tableName},
		{Name: "created_at", Type: sql.Datetime, Nullable: false, Source: tableName},
	}), nil)

	db.AddTable(tableName, table)
	ctx := sql.NewEmptyContext()
	_ = table.Insert(ctx, sql.NewRow("John Doe"<EMAIL_ADDRESS>sql.MustJSON(`["555-555-555"]`), time.Now()))
	_ = table.Insert(ctx, sql.NewRow("John Doe"<EMAIL_ADDRESS>sql.MustJSON(`[]`), time.Now()))
	_ = table.Insert(ctx, sql.NewRow("Jane Doe"<EMAIL_ADDRESS>sql.MustJSON(`[]`), time.Now()))
	_ = table.Insert(ctx, sql.NewRow("Jane Deo"<EMAIL_ADDRESS>sql.MustJSON(`["556-565-566", "777-777-777"]`), time.Now()))
	return db
}

func (t *Table) HandledFilters(filters []sql.Expression) []sql.Expression {
...
    if !hasOtherFields {
	  handled = append(handled, f) //filter correctly added here
}
...

mysql> explain select * from mytable where name = 'John Doe';
+--------------------------------------------------------+
| plan                                                   |
+--------------------------------------------------------+
| Table(mytable)                                         |
|  └─ columns: [name email phone_numbers created_at]     |
+--------------------------------------------------------+

Thanks for the report, I would consider this a defect.
@max-hoffman do you want to take a pass at showing filter pushdowns in the explain output?

We previously printed filters only when debugging, this adds them to regular explain nodes.
https://github.com/dolthub/go-mysql-server/pull/1329

Looks like Max got the fix merged into main for displaying filters handled by FilteredTable implementations, so I'll go ahead and resolve.
@osawyerr – Thank you for reporting this so we could get it fixed! 🙏 Please let us know if you hit anything else odd with go-mysql-server or if you have any other feedback to share.


Mark a test relevant only on full framework as WindowsOnly

`Microsoft.Build.UnitTests.Move_Tests.MoveLockedFile`

this was marked as failing on netcore

It expects to fail trying to move a "locked"(open for writing) file

But on dotnet and mono, the behavior is to not fail in that operation

Thus, marking this test as Windows/full framework only.

@radical can I squash this in, or is this commit present in Mono so I should merge it?

I'm going to squash this in, since it doesn't look like it's in the mono fork.


[GraphBolt] Add GraphBolt graph construction for GConstruct and GPartition (GraphBolt PR2)

Issue #, if available:
Description of changes:

Add --use-graphbolt argument to GConstruct and GSPartition entry points. When set to true, we convert the graph data to GraphBolt format after partitioning.
Add new gpartition_test.sh set of integration tests for GSPartition entry point.

To accommodate this, we we modify tests/end2end-tests/data_gen/process_movielens.py so that it also produces a JSON file that can be used as input the the DistPart DGL pipeline.

To parse and handle different DGL versions we use importlib.metadata and the packaging modules. We introduce an explicit dependency on packaging to GSF. This shouldn't change the user environment, as we already had a transitive dependency on packaging through the transformers lib.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Blocked on having a CI Python env with DGL >= 2.x.


Pypi version missing the tribe-admin.py file

If a user is to install through pypi (pip install tribe), the version that is installed does not include the tribe-admin.py file.
As a result, following the instructions for pip install on the README would lead to the following:
python: can't open file 'tribe-admin.py': [Errno 2] No such file or directory
Should we update the README in the meantime to reflect that, and advise users to git clone instead while a fix is being submitted?

Hi @onlyphantom thanks for using Tribe! This project is getting a bit long in the tooth and is desperately in need of an update, both for new versions of Python networkx and for Python 3. I occasionally use this tool to extract a graph out of my email, but not really enough to convince me to do the rewrite. If you'd like to make updates to the library though, I'm happy to review them and contribute where I can!


Parse the repo config before the pipeline init steps

fixed in v0.0.5
Thanks for the PR @zshel ! 🥳


super_client_info is not created in time for profile full

docker-compose 3.8 does not support depends_on/condition anymore.

I mean the compose specification 3 and also the latest compose version   https://docs.docker.com/compose/release-notes/ lists 2.13.0 (2022-11-23)
Both support depends_on , but not a  condition  option for depends_on  so that you can only test if another container is started. With the old docker-compose version 1.29.2 condition still works for me.

Interesting - I guess, the compose specification deviates here from the docker compose specification. I thought following the non-implementation specific specification would help to be compatible with podman. There depends_on supports conditions. We may want to downgrade to a 2.x-version then ... ?

Do you think this would help or have you tried it? I think the problem is that Docker Compose version v2.13.0 does not support the configoption of depends_on.
$ INDEX=./index /usr/local/bin/docker-compose --profile=full up -d
[+] Running 0/0
 ⠋ Container 230877c6b31b_230877c6b31b_230877c6b31b_korap-docker_kustvakt-full_1  Recreate                                                               0.0s
Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /home/kupietz/KorAP-Docker/super_client_info
kupietz@pc-409:~/KorAP-Docker$ /usr/local/bin/docker-compose -v
Docker Compose version v2.13.0

versus:
$ INDEX=./index /usr/local/bin/docker-compose --profile=full up -d
[+] Running 0/0
 ⠋ Container 230877c6b31b_230877c6b31b_230877c6b31b_korap-docker_kustvakt-full_1  Recreate                                                               0.0s
Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /home/kupietz/KorAP-Docker/super_client_info
kupietz@pc-409:~/KorAP-Docker$ /usr/local/bin/docker-compose -v
Docker Compose version v2.13.0

But it doesn't matter as can simple start profile init first.
podman-compose is a different issue.

Well - I have no problems with docker-compose 2.14.0 either way ... so I can't really say there is a difference. The containers are all created at startup and then kustvakt waits until kalamar init exits with 0.

Oh - maybe the -d is the problem? When all containers are detached, the exit code may not be catchable?

No - works for me with -d as well ...

While configs work on kodi, they do not work in the GitHub CI instance ...

We probably want init to be removed from the full profile and live with the separate step until we find a stable and portable oneliner.

Seems to be rock-stable, now, and the oneliner is already on gerrit.


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative/serving-writers
/assign knative/serving-writers
Produced by: knative-extensions/knobots/actions/update-deps

/override "Downstream / Unit Test (knative-extensions/net-kourier)"
I'm working on a followup-PR to fix those.

/override "Unit Test (knative-extensions/net-kourier)"

/override "Unit Test (knative/serving)"


Cloud symbol not showing properly

I am using Ubuntu 14.04
I set up cloud theme and it does not show properly:

Please, help to fix that!

Looks like the theme is working fine. That's just what the cloud character - Unicode U+2601 - looks like in the font your terminal is using. OS X's fixed-width fonts have clouds that look similar, with flat bottoms. You may get better results if you switch to a different font.


Update changelog and version for 2.3.5 release

This is a preparatory change for pulling develop into main for a 2.3.5 release.

Note.  Atanas has some fixes related to monthly averages that should be coming in as hotfixes soon.   You may want to wait on those to do the actual release.

Ah. Okay. I'll add a blocker tag to this for now. If @atrayano pulls against main I can up the version number in this. If he pulls against develop, I can update this.

Okay. This PR fixes up the Changelog and CMakeLists for a 2.3.5 release. I've re-requested a review from @GEOS-ESM/mapl-team as my updates dismissed the old review.


go mod: git setting "instead of" not work in go mod

What version of Go are you using (go version)?

$ go version
go version go1.13 windows/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\xxx\AppData\Local\go-build
set GOENV=C:\Users\xxx\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=E:\GoProjects
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
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 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\xxx\AppData\Local\Temp\go-build269664658=/tmp/go-build -gno-record-gcc-switches

What did you do?
I set in git like
git config --global url."git@git.example.net:".insteadOf "https://git.example.net/"

and it works fine.
But when I cd a project folder such as git.exmaple.net/yyy with a go.mod file, and run
go get git.example.net/xxx

I see something like this:
go get git.example.net/xxx: unrecognized import path "git.example.net/xxx" (https fetch: Get https://git.example.net/xxx: x509: certificate signed by unknown authority)

It seems that the config in git not work here.
And...
go mod tidy -v
git.example.net/yyy imports
        git.example.net/xxx: cannot find module providing package git.example.net/xxx

The git configuration only affects operations on the underlying git repo. The error that you're seeing is coming from before that, when the go command is attempting to resolve the repo for the requested package path.
See https://golang.org/cmd/go/#hdr-Remote_import_paths.


Code release

When will code be available?

Hi, thanks for your interest. We plan to release the code upon acceptance.

Gotcha, looking forward to it!:)


Outdated types

According to the docs, Deno.readFile is available but when I inspect the deployctl.d.ts file, there's no declaration of it at all

Closing this since I'm able to fix with some local changes

It's still something that should be resolved. Reopening.

I assume this has been resolved? Closing this

Yup. Now resolved. Thanks!


feat: construct for forwarding cloudtrail API events to slack

Create EventBridge rules for various CloudTrail API calls (e.g., when specific roles are assumed, root user accesses AWS Console, etc.), formats these events and forwards them to Slack.
It's a fairly large construct, but we may change the monitoring approach here, so I want the current iteration to be fairly ephemeral and easy to tear down if needed.
sts:AssumeRole calls are for some reason duplicated, so there's an optional deduplication mechanism using an SQS FIFO queue.
An optional SNS action can be passed in. This can be useful for forwarding infrastructure-related CloudWatch alarms (e.g., the Lambda fails to process a given event) to a central Slack channel or similar.

Breaking changes
None. New feature.

:tada: This PR is included in version 1.51.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Some API call are not using https_proxy/no_proxy set at controller pod level.

Describe the bug
It appears that not all calls made by cluster-api-provider-cloud-director are utilizing the proxy settings defined in the environment variables.
Environment Details:

We have a cluster deployed in an environment that requires a proxy to connect to Cloud Director.
All Cluster-API providers are deployed within this environment.
The deployment of cluster-api-provider-cloud-director has been updated with https_proxy and no_proxy environment variables.

Here is the deployment configuration:
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    cluster.x-k8s.io/provider: infrastructure-vcd
    clusterctl.cluster.x-k8s.io: ""
    control-plane: controller-manager
  name: capvcd-controller-manager
  namespace: capvcd-system
spec:

  replicas: 1
  selector:
    matchLabels:
      cluster.x-k8s.io/provider: infrastructure-vcd
      control-plane: controller-manager
  template:
    metadata:
      labels:
        cluster.x-k8s.io/provider: infrastructure-vcd
        control-plane: controller-manager
    spec:
      containers:
      - command:
        - /opt/vcloud/bin/cluster-api-provider-cloud-director
        env:
        - name: https_proxy
          value: <proxy settings>
        - name: no_proxy
          value: localhost,.svc,.cluster.local,.svc.cluster.local,<pod cidr>,<service cidr>
        image: projects.registry.vmware.com/vmware-cloud-director/cluster-api-provider-cloud-director:v1.3.0
        imagePullPolicy: IfNotPresent

Issue Observed:
During the load balancer creation step, the request is being resolved by CoreDNS (<IP_ADDRESS>:53) instead of using the proxy. Below is the error message encountered:
Reconciler error
{"controller": "vcdcluster", "controllerGroup": "infrastructure.cluster.x-k8s.io", "error": "failed to create gateway manager using the workload client to reconcile cluster [<cluster name>]: error caching gateway related details: [unable to get OVDC network [<network name>]: [unable to get all ovdc networks: [<nil>]  : [Get \"https://<vcd>/cloudapi/1.0.0/orgVdcNetworks?page=1&pageSize=32\": dial tcp: lookup <vcd> on <IP_ADDRESS>:53: read udp <IP_ADDRESS>:36578-><IP_ADDRESS>:53: i/o timeout]]]", "errorVerbose": "error caching gateway related details: [unable to get OVDC network [<network name>]: [unable to get all ovdc networks: [<nil>]: [Get \"https://<vcd>/cloudapi/1.0.0/orgVdcNetworks?page=1&pageSize=32\": dial tcp: lookup <vcd> on <IP_ADDRESS>:53: read udp <IP_ADDRESS>:36578-><IP_ADDRESS>:53: i/o timeout]]]\nfailed to create gateway manager using the workload client to reconcile cluster [<cluster name>]

Interestingly, other API calls are successful, such as token creation and determining which API version to use. These calls fail if the proxy is not set in the environment variables, indicating that some calls are respecting the proxy settings:
auth.go:50] Using VCD OpenAPI version [37.2]
client.go:201] Client is sysadmin: [false]

Additional Information:

If the cluster is deployed in an environment that does not require a proxy, all API calls, including those that fail in the proxy-requiring environment, are successful.

Reproduction steps

Deploy a cluster in an environment that requires a proxy to connect to Cloud Director.
Set the https_proxy and no_proxy environment variables in the cluster-api-provider-cloud-director deployment.
Observe the error during the load balancer creation step, as detailed above.
Deploy the same cluster in an environment that does not require a proxy and observe that all API calls are successful.

Expected behavior
All API calls made by cluster-api-provider-cloud-director should utilize the proxy settings defined in the environment variables.
Additional context
No response

If we search for http.Client{ in the cpi-vcd 1.6.1 (https://github.com/vmware/cloud-provider-for-cloud-director/tree/1.6.z) code base, we will see that proxy setup is inconsistent during http client creation.
vcdsdk/client.go
https://github.com/vmware/cloud-provider-for-cloud-director/blob/a0a0e916a5eda50705f9f3e3b7da8471bd6ff763/pkg/vcdsdk/client.go#L113
https://github.com/vmware/cloud-provider-for-cloud-director/blob/a0a0e916a5eda50705f9f3e3b7da8471bd6ff763/pkg/vcdsdk/client.go#L125
vcdsdk/auth.go
https://github.com/vmware/cloud-provider-for-cloud-director/blob/a0a0e916a5eda50705f9f3e3b7da8471bd6ff763/pkg/vcdsdk/auth.go#L99
This will need a fix in cpi-vcd and then that fix needs to be consumed in capvcd


[Q] analyse plugin - bitrate evaluation

version: 3.28-2520
When I use the analyze plugin with ip input:
tsp -I ip xxxx:yyy -P analyze  -i 3 --json-line  -O drop
I see a  problem when the bitrate of the TS at the input change:
the ts.pcr-bitrate is updaed almost immediately. and this is fine
the ts.bitrate does not update, or to better say, seems to take a very long time
This is true also for the pids.xx.bitrate: as there is not a pcr_based evalaution,

This TS analysis module is used in the command tsanalyze and in the plugin analyze.
Two sources of bitrate evaluations are used: the "user bitrate" and the "PCR bitrate". The former is optional and is provided from outside the TS analysis module. The latter is evaluated from inside the TS analysis module, based on the PCR's from all PID's.
The "bitrate" is the "user bitrate" if specified, the "PCR bitrate" otherwise.
Depending on the context, the "user bitrate" or the "PCR bitrate" can be more precise or undefined. It depends. Only the user knows which one is better.
In the command tsanalyze, the "user bitrate" is given by the --bitrate option. So, if unspecified, only the "PCR bitrate" is used.
In the context of tsp, the plugin analyze receives the "user bitrate" from tsp. This is the bitrate value which is propagated from plugins to plugins (and which can be modified by plugins). As documented, its preferred value is the option tsp --bitrate (if the user decides, it is considered the right value). If omitted, this is the value which is reported by the input plugin, if supported by the plugin. Input plugins with a hardware input (ASI, demodulators) have a precise evaluation of the bitrate and this value is considered more precise than any PCR-based evaluation. If the input plugin has no intrinsic input bitrate (this is the case for all network input plugins), then tsp evaluates the bitrate from the PCR's at the input plugin level. The first evaluation is taken from the initial buffer load. Then from time to time, the evaluation is adjusted, based on all packets from the beginning.
In your case, if your input is intermittent or irregular and you take a snapshot of the analysis every 3 seconds, only the PCR-based bitrate is significant because it is evaluated on each 3-second period. The "user bitrate" is some average from the beginning. But only you can decide to use the "PCR-based" bitrate, not the "user bitrate" because you know the context while the analyze plugin doesn't.

Hello,
I use similar command with -P until -s 60 but the result is very different when i use bitrate-monitor(which is conform with reality).
My stream is in CBR. What's the good way to get the right bitrate for all component in one pass?Otherwise I have to get firstly json result with -P analyse after that run bitrate monitor for all pid and put result on the json?
thanks a lot

The plugins bitrate_monitor and analyze measure two different things.

bitrate_monitor evaluates the actual bitrate of a live stream only, based on the system clock, Moreover, the bitrate is measured over successive intervals, to monitor the variations. Even if the TS is CBR, each individual PID can be VBR (video PID's typically).
analyze gives an overall average of the TS and PID's, all over the measurement period. It can work on files or live streams equally, the system clock is not relevant.

In short, bitrate_monitor reports instant bitrates and analyze reports global average bitrates. This is of course different.
I have made a modification in the way the analyze plugin works. I added a "level of confidence" for each bitrate. When the "user bitrate" (see the explanation on my previous post) is not a hardware device, a system clock or a user-specified value, the bitrates are always average values based on PCR all over the stream.

Here is my little experiment with a live multicast stream, where analyze reports very very different things from bitrate_monitor for the same pid for roughly the same time and same stream.
# timeout 20 tsp --realtime -I ip -r --default-interface <IP_ADDRESS>:5000 -P analyze -i4 --normalized -O drop | grep pid:pid=4144
pid:pid=4144:access=clear:streamid=224:video:servcount=1:servlist=100:bitrate=1694870:bitrate204=1839114:packets=15850:clear=15850:scrambled=0:invalidscrambling=0:af=4270:pcr=4205:discontinuities=0:duplicated=0:pes=83:invalidpesprefix=0:description=AVC video (1920x1080, baseline profile, level 4.2, 4:2:0)
pid:pid=4144:access=clear:streamid=224:video:servcount=1:servlist=100:bitrate=2239593:bitrate204=2430196:packets=15284:clear=15284:scrambled=0:invalidscrambling=0:af=4117:pcr=4051:discontinuities=0:duplicated=0:pes=83:invalidpesprefix=0:description=AVC video (1920x1080, baseline profile, level 4.2, 4:2:0)
pid:pid=4144:access=clear:streamid=224:video:servcount=1:servlist=100:bitrate=2217137:bitrate204=2405830:packets=14991:clear=14991:scrambled=0:invalidscrambling=0:af=4195:pcr=4127:discontinuities=0:duplicated=0:pes=84:invalidpesprefix=0:description=AVC video (1920x1080, baseline profile, level 4.2, 4:2:0)
pid:pid=4144:access=clear:streamid=224:video:servcount=1:servlist=100:bitrate=2558363:bitrate204=2776096:packets=15527:clear=15527:scrambled=0:invalidscrambling=0:af=4230:pcr=4159:discontinuities=0:duplicated=0:pes=83:invalidpesprefix=0:description=AVC video (1920x1080, baseline profile, level 4.2, 4:2:0)
* tsp: user interrupt, terminating...
Terminated
# timeoute 20 tsp --realtime  -I ip -r --default-interface <IP_ADDRESS>:5000 -P bitrate_monitor -p 4 --pid 4144 -O drop
-bash: timeoute: command not found
[root@tvnano ~]# timeout 20 tsp --realtime  -I ip -r --default-interface <IP_ADDRESS>:5000 -P bitrate_monitor -p 4 --pid 4144 -O drop
* bitrate_monitor: 2022/01/08 20:32:12, PID 0x1030 (4144) bitrate: 5,924,858 bits/s
* bitrate_monitor: 2022/01/08 20:32:16, PID 0x1030 (4144) bitrate: 5,707,379 bits/s
* bitrate_monitor: 2022/01/08 20:32:20, PID 0x1030 (4144) bitrate: 5,768,742 bits/s
* tsp: user interrupt, terminating...

So I tried setting the "user" bitrate for the same stream (which is heavily null padded CBR that  I know is around 16Mbps) and the analyze result seems more reasonable now.
#  tsp --bitrate 16000000 --realtime -I ip -r --default-interface <IP_ADDRESS>:5000 -P analyze -i4 --normalized -O drop | grep pid:pid=4144
pid:pid=4144:access=clear:streamid=224:video:servcount=1:servlist=100:bitrate=5591752:bitrate204=6067646:packets=14779:clear=14779:scrambled=0:invalidscrambling=0:af=4146:pcr=4080:discontinuities=0:duplicated=0:pes=82:invalidpesprefix=0:description=AVC video (1920x1080, baseline profile, level 4.2, 4:2:0)
pid:pid=4144:access=clear:streamid=224:video:servcount=1:servlist=100:bitrate=5782929:bitrate204=6275093:packets=15375:clear=15375:scrambled=0:invalidscrambling=0:af=4227:pcr=4164:discontinuities=0:duplicated=0:pes=84:invalidpesprefix=0:description=AVC video (1920x1080, baseline profile, level 4.2, 4:2:0)
pid:pid=4144:access=clear:streamid=224:video:servcount=1:servlist=100:bitrate=5687236:bitrate204=6171256:packets=15138:clear=15138:scrambled=0:invalidscrambling=0:af=4163:pcr=4097:discontinuities=0:duplicated=0:pes=83:invalidpesprefix=0:description=AVC video (1920x1080, baseline profile, level 4.2, 4:2:0)
^C* tsp: user interrupt, terminating...

This still looks like something analyze is not getting right for the case where the bitrate is not always known.

Automatically closed after 258 days without update and "close pending" label set.


fix remove tense from gerundive in Latin trees

the present tense annotation of gerundive verbs (future participle) is incorrect
looking at Matthew Harrington's trees, it seems we should remove the tense from these annotations
(this will improve the matching in Alpheios per alpheios-project/alpheios-core#608)

this has been done in the alpheios trees now. All Latin gerundive have the tense tag removed.

this has been done in the alpheios trees now. All Latin gerundive have the tense tag removed.

tested for fugiendo. see #608 screenshot

tested for fugiendo. see #608 screenshot


Removed singleton CQ contention in callback mode.

Contentionz shows publish_new_rpc as a significant source of contention on the server side, due to a singleton CQ => singleton MPSCQ to push/pop requested_call objects with. All transports attempt to pop it, all callback requests attempt to push to it.
Instead: we shard the callback CQ so there is at least one per CPU on the system (or 32 if we could not get the number of CPUs). Specifically, 2^(ceil(log_2(num_cores))), or the nearest power of 2 >= the number of CPUs. Both callback requests and transports are randomly sharded onto one of the CQ shards; as before, if there was no requested_call available on that particular MPSCQ, we iterate the next one.
This removes contention caused by publish_new_rpc entirely.

So one of the reasons that we had avoided anything like this before was the assumed tradeoff between locality and stranding. Doesn't this now create a situation with stranding potential, and how much is that relevant? (Even for the async API, we typically have advised using 1 CQ for this reason unless there was a specific reason why multiple CQs would work, and I even suggested in a TODO that we should just have 1 global CQ unless otherwise specified). How many pending RPCs outstanding should we have to make stranding unlikely?

So one of the reasons that we had avoided anything like this before was the assumed tradeoff between locality and stranding. Doesn't this now create a situation with stranding potential, and how much is that relevant? (Even for the async API, we typically have advised using 1 CQ for this reason unless there was a specific reason why multiple CQs would work, and I even suggested in a TODO that we should just have 1 global CQ unless otherwise specified). How many pending RPCs outstanding should we have to make stranding unlikely?

Just to double check, what do you mean by stranding?

Lack of work-conservation. Any situation where work is available for processing but not being done while some resource for doing work is idle. Could happen if RPCs for method A are selected for CQ1 which is being processed by thread 1 and RPCs for method B are selected for CQ2 which is being processed by thread 2 and there is currently a backlog of Bs and no As.

Lack of work-conservation. Any situation where work is available for processing but not being done while some resource for doing work is idle. Could happen if RPCs for method A are selected for CQ1 which is being processed by thread 1 and RPCs for method B are selected for CQ2 which is being processed by thread 2 and there is currently a backlog of Bs and no As.

I do not believe it should be a problem here since, as far as I can tell, for callback style CQs:

publish_new_rpc is called with some cq_idx (now sharded)
it picks a requested_call structure pertaining to that CQ
it calls publish_call()
which calls cq_end_op_for_callbac()
which enqueues the tag=>functor to the ApplicationCallbackExecCtx
which presumably runs in the same thread that all of this is running in? Which implies that there should be no stranding.

Whereas, for async, none of this applies since we're only sharding the callback CQ. So the stranding should be no different there.
WDYT?

I agree with your analysis about sharding for callback CQs. This should not cause stranding since any EM thread can pick up activity for any of the sharded CQs and get it executed into its own executor.

Yield: about 4% QPS increase on 62-channel-0-byte-callback-grpc-security_none.

Yield: about 15-20% less server side mutex contention in ads-benchmark-creative-tangram in grpc_callback_opt mode.
Note: per @vjpai said, it does have a negative impact on grpc_async_opt within ads-benchmark. This is due to the changes in src/core/lib/surface/server.cc. Thus, it is necessary to gate these changes so the new behaviour only takes when we're explicitly running in callback mode - perhaps by adding a flag to grpc_server in core. WDYT?

This got staled, but I think that i have a better approach coming soon in #22674 that should also eliminate all locking on the publish_new_rpc path as well as a lot of unnecessary memory allocations.


GH-1982 Make organizationWebsite open in new tab

This makes it so that the organization website link opens in a new tab when clicked, rather than replacing the current tab.

Thanks!


Support/remove live-portfolio lib

📝 Description
This is a proposal to remove the recently created live-portfolio lib, which contains very little code and is a bit overkill at the moment. It's scope isn't very clear either, I think it was intended for any other util that could be shared by both the portfolio section + other parts of the code, but there is no foreseeable need at the moment.
The compromise is to split the code that the lib currently contains into the different places where it's used, which causes only a little duplication. The necessary duplicate code is exactly this, which seemed acceptable to me:
const hourIncrement = 60 * 60 * 1000;
const dayIncrement = 24 * hourIncrement;
const weekIncrement = 7 * dayIncrement;

export function startOfHour(t: Date): Date {
  return new Date(t.getFullYear(), t.getMonth(), t.getDate(), t.getHours());
}
export function startOfDay(t: Date): Date {
  return new Date(t.getFullYear(), t.getMonth(), t.getDate());
}
export function startOfWeek(t: Date): Date {
  const d = startOfDay(t);
  return new Date(d.getTime() - d.getDay() * dayIncrement);
}

❓ Context

Impacted projects: coin-framework ledger-live-common live-portfolio
Linked resource(s): N/A

✅ Checklist

[x] Test coverage
[x] Atomic delivery
[x] No breaking changes

📸 Demo
Nothing to demo.

🚀 Expectations to reach
Live still builds. 100% covered by CI.

👋  ESLint config has been unified on develop after we merged https://github.com/LedgerHQ/ledger-live/pull/3622 – this will improve the project consistency, remove eslint dependencies duplicates, and overall simplify the maintenance. This comes with a prettier library upgrade and unification of the prettierrc too, so you likely have conflicts with develop.
Hopefully, here is the procedure to easily fix this. please proceed as follow:
Step 1: sync your branch with develop up to the config changes:
2 cases

if your branch were continuously rebased with develop and don't have any merge commit, you can do

git rebase aa1e0ebc0a0498b4350754899b6a368fbd42e811

otherwise prefer

git merge aa1e0ebc0a0498b4350754899b6a368fbd42e811

then, apply the config
pnpm i
pnpm lint:fix --force

if there are remaining errors that lint couldn't fix, please fix them and pnpm lint again.
then commit in your branch.
git commit -a -m "chore: lint fixes"

Step 2: finalize the rebase/merge with develop
2 cases

if your branch were continuously rebased with develop and don't have any merge commit, you can do

git pull --rebase origin develop

otherwise prefer

git merge origin/develop

you should now be up to date. 👍

Thanks and sorry for the inconvenience,
gre


Modify settings via console command

Hi,
How can I modify settings via console command ?
Regards

You can't control setting via console as it didn't design to work like this at all.
You can control settings via config file editing at BepInEx/config/ folder. This mod's config file is named shudnal.GammaOfNightLights.cfg
But best option is to use Configuration Manager mod to do it ingame with immediate effect.
There is updated version https://valheim.thunderstore.io/package/Azumatt/Official_BepInEx_ConfigurationManager/
My own choice is attached to this message, it's fixed version of https://www.nexusmods.com/valheim/mods/740
ConfigurationManager.zip

Add links to configuration managers to description.


Is ws.send thread safe?I want to call it in sub thread

Yes, you can pass the ws object to another thread and use it there. But if you plan to use the same ws object from multiple threads that are running at the same time then the answer is more complicated, I'd say that is probably best avoided or protected with a lock to ensure concurrent writes cannot interfere with each other.


Update projects: Hibernate, Java 11 compilation and Resin

A lot of projects are using outdated hibernate library - version below 5.x.
Also the compilation for most of the projects is Java 8.
Hibernate and Java 11:

[x] Grizzly-Jersey
[x] Grizzly
[x] Tapestry (also Resin)
[ ] Undertow-Jersey
[ ] Dropwizard
[ ] Spark
[ ] Ninja-standalone
[ ] Officefloor - woof_benchmark

Resin and Java 11:

[x] Servlet
[x] Gemini
[x] wicket
[x] revenj-jvm
[x] activeweb
[x] curacao
[ ] Kotlin/hexagon
[ ] Groovy/grails
[ ] Clojure/compojure

Related: #34

Grizzly and Grizzly-Jersey are updated to Maven 3.6.1 and JRE-11 images. Java 11 compilation is enabled.

Grizzlies are merged.

Tapestry is ready. Problems:

Hibernate can't be updated to 5.4.2Final - Some changes in Tapestry are required. There were a lot of exceptions about the way how Hibernate internals are accessed;
openjdk:11.0.3-jre-stretch is used instead of -slim because there is no curl or wget in the slim image.

Servlet and Gemini are ready. No problems there.

Wicket and Activeweb are ready.

Curacao is ready - Java 11 and dependencies.

revenj-jvm is ready. A lot of updated dependencies.

Groovy/grails - grails is too old. Currently there is version 4.0 in preview/beta. The code is on 2.4.4. The compilation fails with:
grails: |Compiling 10 source files
grails: .Error
grails: |
grails: Fatal error during compilation org.apache.tools.ant.BuildException: BUG! exception in phase 'class generation' in source unit '/grails/grails-app/domain/hello/Fortune.groovy' unsupported Target MODULE (Use --stacktrace to see the full trace)

I'll stop here - too much effort is required.

Clojure/compojure was a challenge. But:
================================================================================
Verification Summary
--------------------------------------------------------------------------------
| compojure
|       fortune       : PASS
|       plaintext     : PASS
|       db            : PASS
|       update        : PASS
|       json          : PASS
|       query         : PASS
| compojure-raw
|       query         : PASS
|       db            : PASS
|       update        : PASS
|       fortune       : PASS
================================================================================
Results are saved in /FrameworkBenchmarks/results/20190510151627
The command "if [ "$RUN_TESTS" ]; then docker network create tfb > /dev/null 2>&1 && docker run --network=tfb -v /var/run/docker.sock:/var/run/docker.sock --mount type=bind,source=`pwd`,target=/FrameworkBenchmarks techempower/tfb --mode verify --test-dir $RUN_TESTS --results-environment Travis; else echo 'Skipping test verification.'; fi" exited with 0.
Done. Your build exited with 0.

Kotlin/hexagon is ready.

Undertow-jersey is ready.

Dropwizard is ready.

Spark is ready.

Officefloor-springdata has a problem with the initialisation. I'll submit it like this. The other stuff is working.

Ninja-standalone was hard. Ugly workaround applied - set the "CACHE_CONTROL" header to disable the duplicated date in the response. Servlet filter was tried unsuccessfully - I could not find a way to attach it as first filter in the chain. The ResultHandler.class should be an interface - there is the call "if no cache control header set date header and other stuff". And the replacement will be easy.

Pull request submitted. Expecting comment about the failing variant of Officefloor.

Officefloor-SpringBoot variant was downgraded. The problem seems to be in the benchmark code - when downgraded from Java 11 to Java 10 the error was the same.

PR accepted.


stm32: lptim: Allow to override configuration check

Fixes: #50224

Can you make these warnings?

If we're generating warning when configuration differs from the recommended settings, we'll get CI failures in tests which are using a different configuration (such as tests/kernel/tickless_concept).

Tick rate is an application configurable, and it's intended to be set and tuned by app authors based on the specific precision/power requirements of their systems as they intend to deploy them. It's not a hardware feature and it's not something the platform should be trying to enforce.

That's what this new Kconfig option should provide. Enabling STM32_LPTIM_TICK_FREQ_RATIO_OVERRIDE, user can set whatever configuration suits the application.

And Zephyr already does its best to try to match timeouts to tick units and has APIs that are in general tolerant of time unit rounding issues, so I guess I'm not understanding what your complaint is and (strongly) suspect the root cause lies elsewhere.

These settings (LSE>4096 / LSI>4000) are coming from long period of maturation of this driver. Defining platform specific SYS_CLOCK_TICKS_PER_SEC looks quite a common practice (see in soc/).
The reason we're now facing this issue is that LPTIM source clock is now defined from device tree and the LSE>4096 / LSI>4000 setting we used to do using Kconfig at soc level has now to be done at board level since we're not able to get the LPTIM dt defined source in Kconfig as we used to do here (kept temprarily for backward compatibility):
https://github.com/zephyrproject-rtos/zephyr/blob/e7b6e0286a7874185cfe98ccc2885a5583716a85/soc/arm/st_stm32/common/Kconfig.defconfig.series#L19-L22
It should now be done at board level and hence we need a way to inform the user that he's advised to do this configuration on his board. But completely preventing deviations was, I agree, an abuse, which I'm trying to fix here.
I see 3 options then:

Stopping differentiating LSI/LSE and use 4096 for both, which will be precise for LSE and rough for LSI, but LSI is not expected to be a precise source clock anyway. This has to be tested first.
Add a Kconfig dt function to extract the clock source from dt and perform the same configuration depending on clock source as we used to do sometime ago
Generating an assert, as warning are excluded. But assert are only seen if enabled...

If you want a "recommended/tested/supported" configuration expressed in documentation and as a warning at build time (but please write and link the docs so users understand what you're trying to enforce!), I think that sounds great. I just don't think we should be trying to lock down the tick rate, it's an app API and the app should be able to tune it.

Providing a pointer to a documentation would indeed be great, but today I'm not sure where we can document these platform specific behaviors. The only documentation section available today would be board's but copy/pasting in each board's ... well, no.

About

Stopping differentiating LSI/LSE and use 4096 for both, which will be precise for LSE and rough for LSI, but LSI is not expected to be a precise source clock anyway. This has to be tested first.

It seems this was originally done in order to avoid time drift (due to accumulations of small rounding errors) in long duration tests (several days)

@andyross Are you fine with the latest proposal ?


Switch to filevault-package-maven-plugin

We should switch to the more recent filevault-package-maven-plugin to build packages and only rely on the Adobe one for the deployment as outlined in http://jackrabbit.apache.org/filevault-package-maven-plugin/migrating.html. The jackrabbit plugin comes with additional capabilities for validating content-packages and also introduce the notion of package types.

Fixed in 5.3.0


WIP: Type fixes

Partially addressing some type issues referenced in #396.
The second commit, which enforces correct types for various Astro components that were using type casting, surfaced some errors that the rest of the commits try to fix. Goal is just to get the project to pass npx astro check --minimumSeverity error.
There are still some errors in the way that the Features components are passing classes to the Headline component`, and I don't know the right way to handle those.
12:21:22 [check] Getting diagnostics for Astro files in /home/dawaltco/Code/forks/astrowind...
src/components/widgets/Features.astro:33:5 - error ts(2322): Type 'string' is not assignable to type 'Record<string, string>'.

33     classes={classes?.headline}
       ~~~~~~~

src/components/widgets/Features2.astro:32:5 - error ts(2322): Type 'string' is not assignable to type 'Record<string, string>'.

32     classes={classes?.headline}
       ~~~~~~~

src/components/widgets/Features3.astro:34:65 - error ts(2322): Type 'string' is not assignable to type 'Record<string, string>'.

34   <Headline title={title} subtitle={subtitle} tagline={tagline} classes={classes?.headline} />
                                                                   ~~~~~~~

src/pages/homes/startup.astro:55:4 - error ts(2322): Type '{ children: any; title: string; subtitle: string; }' is not assignable to type 'IntrinsicAttributes & Features'.
  Property 'items' is missing in type '{ children: any; title: string; subtitle: string; }' but required in type 'Features'.

55   <Features2
      ~~~~~~~~~

Awesome! Thank you so much @dawaltconley
The typescript errors that remain to be resolved and you mention, I think they are misunderstandings as to what type of data is being passed. I will check it.


fix(guide): Convert single backtick code sections to triple backtick code sections for Arabic Guide articles (1 of 15)

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Related to issue #36102
This is one of a series of 15 PRs (75 or less per PR) which replace all applicable single backtick code blocks with the triple backtick code blocks plus language postfix (where applicable) to correct the mistakes made by the scripts which made the original translations of the Arabic Guide articles.
NOTES:

The scope of review for this PR should not focus on indentation or other style issues with the code sections.  However, it could be that the original Guide article had the wrong language post-fix (i.e. html should have been css).  In those instances, it would be fine to request changes.

I only included a maximum of 75 files in each PR to make it easier to review on GitHub.

Hey, @RandellDawson, I found a code block that was not converted in guide/arabic/algorithms/binary-search-trees/index.md, starting on line 97 and another starting on line 128.

@ojeytonwilliams I confirm there are some missing.  I am going to create a few more PRs of 75 each once all of the current 15 PRs have been merged to make it easier to identify them.  The ones missed by my first approach have some different characteristics.  I have figured out the differences on many, but still trying to find an automated solution for the others.


How to create a private testnet for experimentation?

 You should have at least 2 nodes for mining blocks.

General testnet works quite well if you're looking to experiment.

build the repo following the instructions in the README
make a testnet3/ folder in your zcoin data directory (location depends on your OS; see here
Download a snapshot of the testnet chain here
unpack it into the testnet3/ folder
go the the src directory (one directory in from where you built this repo), run:
./zcoind testnet=1 daemon=1
It will begin syncing. Compare it with the latest block here
see commands for interacting with the chain at
./zcoin-cli help
there is no faucet, but to get some testnet coin, you can mine some. run:
./zcoin-cli setgenerate true


Added support for external BTF; Updated kernel version check in biolatency

Introduced new command line argument '--btfpath' to support external BTF so the tool can be used on system without vmlinx. External BTFs are available here.
Updated kernel version check for biolatency. Without it, in my environment running 5.10.178 kernel, the exporter runtime fails with 'Invalid argument'. @ntnx-aleksa just wanted to bring this to your awareness since you made initial update in commit 5511eae. Hope changes here don't break anything.

Hi @bobrik I noticed there is no reviewer automatically assigned to open PRs. Is there a way to get someone to review this? Thanks.

Introduced new command line argument '--btfpath' to support external BTF so the tool can be used on system without vmlinx.

Do you plan on using this? If it unlocks older kernels, you might want to add some docs into README.md.

Updated kernel version check for biolatency. Without it, in my environment running 5.10.178 kernel, the exporter runtime fails with 'Invalid argument'.

Could you open a separate PR for this?

Is there a way to get someone to review this?

I get notified for everything, but I'm also short on time. I review when I get a chance.

Thanks a lot @bobrik for reviewing this. Made all changes per your comments and will send a separate PR for kernel version update in biolatency.btf.c.

I'm still interested in the answer to this:

Do you plan on using this?

Yes I will have to use it for my target environment. Otherwise, I wouldn't have implement the solution.

Please squash the commits into one.

Done. Thanks a lot for reviewing this @bobrik

Could you remove protections your master branch in your fork? I have a few small changes that I want to add before merging, but I can't push them:
To github.com:havefuncoding1/ebpf_exporter.git
 ! [remote rejected] havefuncoding1/master -> havefuncoding1/master (permission denied)
error: failed to push some refs to 'github.com:havefuncoding1/ebpf_exporter.git'

I did a quick search to remove repo protection. The results all points to configure protection rules which I have none. Not sure how to best proceed :(. If you have a pointer, it will be really great. Otherwise, I added you as a collaborator so you can push changes. Can't assign you write access yet as invitation is pending. Another option is to share the changes with me, and I can push them to the PR. I am fine with whichever method you think is most convenient. Apology for lack of github experience.

Somehow I messed it up, so I opened #323 as a replacement.


ecma_collection_chunk_t memory alignment

While working with ESP8266(Xtensa chip) I got a odd exception error that I want to share and ask.
Error:
Fatal exception (9):
epc1=0x402803a2
epc2=0x00000000
epc3=0x00000000
epcvaddr=0x3fff2862
depc=0x00000000
rtn_add=0x40275c55

rtn_add=0x40275c55 seems to be return address which is, from the memory map, vm_fill_params_list.
epc1=0x402803a2 seems to be the PC where it points somewhere in ecma_append_to_values_collection
I didn't see anything wrong with the code and it works fine for both x86 and arm.
I tracked the place and found it was the last line
values_p[pos_of_new_value_in_chunk] = ecma_copy_value (v, do_ref_if_object);

As I don't have any jtag tools, just old printf to see the value.
printf(">> %p %d\r\n", values_p, pos_of_new_value_in_chunk);

and got this.
>> 3fff2862 0

It's 3'rd byte with this 32bit core, maybe this can be the reason? so I changed the structure with padding.
typedef struct
 {
   /** Compressed pointer to next chunk */
   mem_cpointer_t next_chunk_cp;
   mem_cpointer_t dummy;

   /** Characters */
   lit_utf8_byte_t data[ sizeof (uint64_t) - sizeof (mem_cpointer_t) * 2 ];
 } ecma_collection_chunk_t;

And... It worked. But this will reduce 2 bytes...
So I tried another one.
typedef struct
{
  /** Characters */
  lit_utf8_byte_t data[ sizeof (uint64_t) - sizeof (mem_cpointer_t) ];

  /** Compressed pointer to next chunk */
  mem_cpointer_t next_chunk_cp;
} ecma_collection_chunk_t;

And... this also worked.
I searched with xtensa + misaligned and found only there will be exception when misaligned read, and nothing more.
So the question, @egavrin, @ruben-ayrapetyan ,

do you have any experience with such kind?
Is it OK to change like the second one?

This issue is fixed in #733 (f574597a)


enqueueV2 problem

I am not using the latest version 8.6 but 8.4 with tensor, so I don't have the api of enqueueV3.
I want to be able to add a binding for enqueueV2.
As same time,I try to modify the code of the V3 function, but I am not familiar with the bindings parameter and cudaEvent_t of V2 Function.
bool nvinfer1::IExecutionContext::enqueueV2 (void *const * bindings,
cudaStream_t  stream,
cudaEvent_t * inputConsumed
)

 pub fn enqueue<T: Copy>(
        &mut self,
        io_tensors: &mut std::collections::HashMap<
            &str,
            &mut async_cuda_core::ffi::memory::DeviceBuffer<T>,
        >,
        stream: &async_cuda_core::ffi::stream::Stream,
    ) -> Result<()> {
        let internal = self.as_mut_ptr();
        for (tensor_name, buffer) in io_tensors {
            unsafe {
                self.set_tensor_address(tensor_name, buffer)?;
            }
        }
        let stream_ptr = stream.as_internal().as_ptr();
        let success = cpp!(unsafe [
            internal as "void*",
            stream_ptr as "const void*"
        ] -> bool as "bool" {
            return ((IExecutionContext*) internal)->enqueueV2((cudaStream_t) stream_ptr);
        });
        if success {
            Ok(())
        } else {
            Err(last_error())
        }
    }

How should I modify next?

Thanks for the reply, I'm already trying to build it, it should be there soon.


Does xgboost in spark of version 0.5 address missing value ?

I've checked the source code but no missing value was found. Does version 0.5 do something for the missing value problem?

do we have XGBoost 0.5?


Tidying Tictac Ecosystem for non-users

An eco-system of changes exist in Riak_KV around TictacAAE:

the AAE process itself;
nextgenrepl - ttaae full-sync;
nextgenrepl - real-time repl;
reaper;
eraser;
reader;
aae fold infrastructure.

What of riak users that don't require any of these features?  Some of these features create log noise (https://github.com/basho/riak_kv/pull/1875).  A crashing process in one of these features can also trigger a crash of riak_kv (if done with sufficient intensity).  The crashing issue has been seen when one of these processes was disabled using an environment variable change (and the disabled term of riak.conf was used instead of the boolean expected by the code).
A request has been made by @nsaadouni to look to bundle this ecosystem into a separate dependency.  This might not be straight forward.  Especially with respect to aae_fold support.
As a minimum though, what is proposed is:

Have a dedicated supervisor for the Tictac EcoSystem, and start all of these processes via that supervisor, not directly via the main riak_kv supervision tree;
Have a (default enabled) configuration option which allows the TicTac EcoSystem to be disabled (i.e. riak_kv will not start the ecosystem supervisor if the ecosystem option has been set to disabled);
Strip where possible references to the Tictac ecosystem from riak_kv_vnode - in particular manage exchange/rebuild pokes by a ttaae manager not within the vnode itself.

For a user with a pure-basho feature set, they can be assured that their operation is not impacted by running of any processes from the nextgen ecosystem.
Another potential change might be to switch real-time repl to using a more standard mechanism to hook into the PUT process.  The coordinator hook was made to reduce real-time latency, but can have issues with being too fast when not correctly configured.  This would clean the riak_kv_vnode code for non-nextgenrepl users.

👍🏽
Re: "real-time real" do you mean "next gen real-time repl"?  (considering the fact that "legacy" realtime replication is hooked into the Put FSM already)

👍🏽
Re: "real-time real" do you mean "next gen real-time repl"? (considering the fact that "legacy" realtime replication is hooked into the Put FSM already)

Yes, that's correct.  Currently nextgen real-time repl is hooked into the vnode coordinating the PUT (not as a post-commit hook), with the aim of reducing replication latency.


Project Request: Ideas Notebook app

I've been trying to think of a good web app to build. Ideally it will be simple enough to focus more on using Django to build an app than focusing on the logic of the app; but complex enough to see a number of interesting features of Django.
I always recommend that people keep an "ideas notebook" when they're learning to program. This would be a great project, and one simple enough that people could build it and then use their own version of it.

Moved to #119.


Added Open Source Program Section #91

Fixes #91

[x] My PR follows the style guidelines of this project
[x] I have performed a self-review of my own code or materials
[x] I have commented my code or provided relevant documentation, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[x] New and existing unit tests pass locally with my changes

@manankohlii pls review my pr.


Meet accessibility standards checked by common benchmarks

Describe the Issue
A software engineer and freeCodeCamp donor, Jonathan Pool, has created a suite of accessibility tests he runs against the landing pages of charities.
Currently freeCodeCamp is the 4th most accessible charity landing page on the web, but I see some ways we can make it to the number one spot.
Here's his annual report: https://jpdev.pro/jpdev/blog/entries/0023/index.html
Here is the code this donor runs to create his report: https://github.com/jrpool/testaro
There's also an npm module: https://www.npmjs.com/package/testaro
Affected Page
https://www.freecodecamp.org (the landing page is what he tested)
Steps to Reproduce
Upon running the tests in the GitHub article, you'll get results that will look like this output JSON: https://jpdev.pro/jpdev/blog/entries/0023/reports/231122T235231-ts37a-target.json
Those are the accessibility issues we'll want to improve upon.
Once we've finished our curriculum initiatives for 2023, I propose we embark on driving down this score for our landing page, and running this suite against other pages of freeCodeCamp as well to identify further places we can improve.

Hey, fourth best is pretty darn good. I got to meet Jonathon Pool earlier this year and he's a good guy and well known in the accessibility community.
I'll be happy to look into this report when I get a chance and see what can be improved. Also, keep in mind, that while I'm sure this tool is very good, it doesn't mean that there aren't possible errors in it. For example:

The second highest issue we got docked for is "page title missing". I just checked, and there is definitely a title element in the head of our landing page.
The third highest issue is "page language missing". Again, I just checked and we definitely have a lang="en" on the opening html tag of our landing page.
The fourth highest issue is "h1 missing" and there is definitely an h1 element on our landing page.

Just those three false positives drop our score 341 points which puts us in third place and gets us 21 points away from second, which I'm guessing we can easily make up with several other false positives I see further down the list. (For example: "headings missing", "main missing", "no landmarks".) Of course I'm sure there are false positives for the other sites too, so perhaps we will never jump to number one.
Don't get me wrong, automated tools definitely have their role in accessibility testing. But using them as the sole basis for determining accessibility is not recommended, and I'm sure Jonathon does not recommend it either. I'll admit, this is sort of fun and rewarding to see a comparison like this and see us near the top of the list. But based on the false positives I am seeing in the report for fCC I am slightly disappointed in the quality of the testing. Perhaps there is some technical reason why this tool doesn't think we have all the false positives I outlined above? I think we would want to figure that out first before we decided to rely on it to test other pages.

I feel like some of these tests are invalid. Is there any way to actually see the source code of the tests that FreeCodeCamp was ran against?

Okay I found something interested. The testing seems to care about line height being 1.5rem. That could be an easy fix.

The testing seems to care about line height being 1.5rem

Yes, it is best practice to use unitless numbers to set the line-height, as it could potentially create an accessibility issue (see MDN's example).  Best practices are there for a reason, right?
Probably would be worthwhile to run our CSS through a validator and fix all of those errors as well. As I mentioned in my previous comment, I doubt many of the CSS errors are affecting our accessibility. It's just probably a good thing to do.

Do you think the stylelint package could be a good fit for FreeCodeCamp?

It seemed pretty opinionated when I tried experimenting with it. But that's probably a really good thing.

@ahmaxed You are correct, they are not sufficient. Automated tools are good for finding issues that are binary enough to be either true or false. There are many accessibility issues that meet those requirements, such as color contrast, or checking if inputs have accessible names. But realistically, only perhaps a third of the possible accessibility issues will be covered by these tools. Not terrible, but not sufficient. And as I pointed out back in December when this issue was originally opened, some of these tools are either too aggressive and produce false positives, or are just wrong.
I definitely encourage the use of automated tools to assist with accessibility testing. They can help you quickly find the "low hanging fruit" that needs to be fixed. By all means, run them against the site as much as you like and fix the legitimate issues they discover. I only ask that we just be sure to keep reminding ourselves that those perfect accessibility scores they give us are really an illusion and should not be used as an indication of how accessible the site really is.


any luck deploying this on openshift?

Hey,
did anyone have any luck deploying this on openshift?
I mounted volumes and even the users.list as configmap/volume.
I can connect via ssh on a route that points at the 22 port on the service.
But connecting via a route pointing to 3389 does not work. If I use the link via browser it downloads a binary file but Iam do not get any smarter analysing the file.

Sorry no idea , good luck


Using TextFiled problems

Hello,there are some problems when I use TextFiled:

TextField is used and the number of input words is limited. And it works. However, when i type many times, there will be a problem. If delete with the soft keyboard, it will be deleted until the number of input times is satisfied. Is this a bug? Or how can I avoid this problem?
Another problem is calling TextField Controller.clear (), how can I block the text disappearing animation just like Android native

Maybe this issue was fixed with #67892 . Please test it on master branch and see if you still face the same issue.

I can confirm that this was fixed by https://github.com/flutter/flutter/pull/67892.
The fix is currently on master and should land on next stable release.

Thank you for your feedback

Hi there !
@pedromassangocode When can we expect to get the next stable release ?
Thank you for your time.

There is no a fixed date for a new release.
Please see our release process https://github.com/flutter/flutter/wiki/Release-process.


Added issue templates for GitHub

Since most repositories are in GitHub, the example showcases how to include custom templates for

Bug Reports
Feature Requests
Custom

Coverage remained the same at 100.0% when pulling 97e4b2162410f70af5afa864bbbca597a128a041 on Nosferican:GitHub-Issue-Templates into f968c69dea24f851d0c7e686db23fa55826b5388 on JuliaLang:master.


fix: do not pass SNAKEMAKE_PROFILE into cluster-submit (#1398)

Description
Resolved #1398 by not passing SNAKEMAKE_PROFILE into the cluster submission.
QC

[x] The PR contains a test case for the changes or the changes are already covered by an existing test case.
[x] The documentation (docs/) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake).

Can you fix the conflict, both commits are your code I think.

should be done


first batch of Raylib core examples translated to Beef

Issue was cleared up in in discord by beefy:

A C function that returns a C int is an int32 in Beef (on all relevant platforms).
A Beef int is equivalent to a C intptr_t. But on 64-bit machines a C int is still 32 bits.

So I think it makes more sense if I write some more examples and then when you've changed the bindings to only use int32 or whatever alias is available in Beef by then, I'll make a new pull request.


ctx wasn't able to return after set in other callback function

I used the below code, the last line doesn't work in callback function of getall. there is no any response was return.
router.get('/',function (ctx, next) {
getall(function(result){
console.log('result===>',result);
ctx.body=result;
}
}
but I move the last line in out of the getall, it may return a response correctly.

router.get('/', function(ctx, next) {
	return new Promise(function(resolve, reject) {
		getall(function(result) {
			console.log('result===>', result);
			ctx.body = result;
			resolve();
		})
	});
})

koa send http response immediately when sync middleware called.
If there has async code in the middleware, the middleware should be async function or return a Promise

as @liangxingchen stated, you aren't doing control flow properly. middleware should always be returning a promise in koa v2

Yes, it works. Thanks


The code in the run() method of BPRunner.m are not synchronized

The code in the main loop and the completion block of task termination in the run() method of BPRunner.m are not not synchronized. Because the completion block will be called in other threads than the main thread, that causes race condition for variables such as launchedTasks, taskList.
I will fix it together will implementing the feature of reusing simulators. just create an issue to track it.

This is fixed


Fixes fallback checks that cause an exception during call resolution …

Fixes #3978.
The getGlobalType function returns emptyGenericType rather than emptyObjectType when a global symbol with a specified arity cannot be resolved.
Several fallback tests for decorators and async functions were checking for emptyObjectType rather than emptyGenericType, so the fallback cases would not be executed.
During call resolution to an async function with no return type, the return type is inferred using the global Promise type. If this type cannot be found (such as when targeting ES5 or using a lib.d.ts without the global Promise type defined), then the wrong type is returned due to the aforementioned errors during fallback. This would finally result in an exception in resolveDeclaredMembers since the emptyGenericType does not have an associated symbol.

:+1:


containerd/accelerated-container-image go.sum hash mismatch

Description
Attempting to build the main branch results in this error:
verifying<EMAIL_ADDRESS>checksum mismatch
downloaded: h1:n5HLcrta/MqsaqRaMigFqog+Y8Xrd3MtFrD37koqbv4=
go.sum:     h1:9iFHrNRSFnta1A4z6HP1MVD7vH3hEd7jvJv9wnHHJHc=
SECURITY ERROR
This download does NOT match an earlier download recorded in go.sum.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.
Steps to reproduce the issue

Download main branch
Build

Describe the results you received and expected
nerdctl builds successfully.
What version of nerdctl are you using?
main
Are you using a variant of nerdctl? (e.g., Rancher Desktop)
None
Host information
No response

Can't repro the issue
$ git rev-parse HEAD
245fcd2f195a0a97b1fec67a93e7ef1c854fb4da

$ go mod verify
all modules verified

Can't repro either on a clean module:
$ go mod init example.com
$ go get github.com/containerd/accelerated-container-image
$ cat go.sum

github.com/containerd/accelerated-container-image v1.1.4 h1:9iFHrNRSFnta1A4z6HP1MVD7vH3hEd7jvJv9wnHHJHc=
github.com/containerd/accelerated-container-image v1.1.4/go.mod h1:9mpTpL4W4yAsq2giHgo4B7wTFJgE59qCPh7dZTSpGCA=

@darktohka

what version of golang are using?
are you behind a proxy (go mod proxy like Athens, or otherwise plain http proxy)?

Suggesting we close this.
@darktohka feel free to comment here if this is still an issue - providing the requested details above ^
Thanks!


Dropdown and Buttons overlap

Base Materialize form code with long drop down creates an overlapping button issue.

I suggest use "z-index" Css property in dropdown.

On master this is fixed. Change the z-index for now locally if you don't want to use the unreleased latest versions.


Lead Food poisoning Rework

the lead poisoning thing will work quite differently and in fact will mostly be based on how galena dust during lead mining is extremely toxic
So if you mine lead ore(or even like raw lead block) without water being next to it it'll create a poisonous cloud
Lead ore should also naturally generate more next to water in caves.
The previous thing with lead things being in your hotbar should still be in config but turned off by default

making lead ore generate next to water will maybe be a bit more work, since there is no vanilla feature like that, everything else is pretty doable

Hmm okay i guess if it's too hard you can leave that for now, could you make it that this area effect cloud also has a bunch of smoke particles in? to resemble more dust from mining if that's possible


Agent Guidebook Port

This ports the Agent Guidebook into the docsite.
DONE:

Link checks
TOC porting
Document titles
Callout macros
YouTube embeds

@eob LGTM
Two small nits and one comment about a section that may need to be react component, but unsure if you just wanted to leave it as markdown. Other than that looks good!


Add an API to create a blackholed address range within linux RBE tests

This adds the std::string grpc_core::testing::GetBlackHoledIPv6Address() API, which can be used to get a "black holed" address within tests that ran only on linux/RBE (I'm calling this an address for which if a client opens a connection and sends SYN, then there won't be any immediate kernel error, or response packet, i.e. it just hangs).
The idea in this PR is that if a test grpc_cc_test wants to do something that involves a "black holed" address, then it should get the address uri by calling grpc_core::testing::GetBlackHoledIPv6Address(), and then it also needs set rbe_linux_only_uses_blackhole_ipv6_address = True on it's grpc_cc_test target.
Note that because we can only safely use grpc_core::testing::GetBlackHoledIPv6Address() in the linux RBE runtime environment, if rbe_linux_only_uses_blackhole_ipv6_address is set True, then we won't attempt to build or run the test anywhere except the bazel RBE environment (e.g. I'll do a followup internal change to make sure such tests are ignored internally).
One more restriction here is that if a grpc_cc_test sets rbe_linux_only_uses_blackhole_ipv6_address = True, then it also needs to have uses_polling = True (rbe_linux_only_uses_blackhole_ipv6_address relies on use of the run_with_poller.sh shell wrapper).
To run such a test locally e.g. for debugging:

if 100::/64 already acts as a "black hole", then run the test under GRPC_TEST_LINUX_ONLY_BLACKHOLE_ADDRESS=already_exists
if 100::/64 doesn't already act as a "black hole", then run the test as root or
within a docker container that has the NET_ADMIN capability, and set GRPC_TEST_LINUX_ONLY_BLACKHOLE_ADDRESS=can_create.

Based on conversation in https://groups.google.com/a/google.com/g/rbe-users/c/hWO-3O9sHWA

Note that because we can only safely use grpc_core::testing::GetBlackHoledIPv6Address() in the linux RBE runtime environment, if rbe_linux_only_uses_blackhole_ipv6_address is set True, then we won't attempt to build or run the test anywhere except the bazel RBE environment (e.g. I'll do a followup internal change to make sure such tests are ignored internally).

This is going to really limit the usefulness of this mechanism.  One of the main places I'd like to use it is for individual tests inside of files like xds_end2end_test.cc and client_lb_end2end_test.cc.  But I don't want those whole targets to not run internally, or for platforms that don't support Bazel RBE (which I think includes Mac and Windows?).
Is there some way to control this in a more fine-grained way?

But I don't want those whole targets to not run internally, or for platforms that don't support Bazel RBE (which I think includes Mac and Windows?).

I think this would require:
a) porting the black hole mechanism to work on mac and windows tests (if possible, this is likely a lot more work)
b) making certain that 100::/64 is always going to act as a "black hole" on all internal test runners (right now this is observably the case, but I'm not sure if it's going to be stable to rely on that).
While the number of platforms that we can use this on is limited, IMO it's still useful for one-off tests that need it (e.g. test/cpp/client/destroy_grpclb_channel_with_active_connect_stress_test.cc).

Is there some way to control this in a more fine-grained way?

AFAICS enabling this or disabling this at the level of individual grpc_cc_test targets is the finest granularity we can have, because in order for this to work a test needs to modify the network stack of its runtime environment, and we need to know whether or not it's safe to do so ahead of time (based on the planned runtime environment of the test binary).

One of the main places I'd like to use it is for individual tests inside of files like xds_end2end_test.cc and client_lb_end2end_test.cc.

Could the pieces of those tests that want to use "black hole" addresses be extracted into their own grpc_cc_test target (this new target could perhaps still share much of the same cc file as the original, but just be invoked differently via bazel) ?

How about this?

I assume initially this will only be needed for a small number of tests
For those few tests that really need this option, you can setup a custom grpc_sh_test() that sets up the test environment as needed (the env variables etc.) and then run your test.

How about this?

I assume initially this will only be needed for a small number of tests
For those few tests that really need this option, you can setup a custom grpc_sh_test() that sets up the test environment as needed (the env variables etc.) and then run your test.

Thanks for the suggestion, this generally sounds good, I will change this PR to do that.
The only problem is that, as noted above, the docker_run_as_root option is required in order to create a "black hole" address range. So I'd need to figure out how to run only a subset of tests under that, too. Have any ideas?

How about this?

I assume initially this will only be needed for a small number of tests
For those few tests that really need this option, you can setup a custom grpc_sh_test() that sets up the test environment as needed (the env variables etc.) and then run your test.

Thanks for the suggestion, this generally sounds good, I will change this PR to do that.
The only problem is that, as noted above, the docker_run_as_root option is required in order to create a "black hole" address range.
Note this test utility effectively does, within it's container:
$ ip link add dummy0 type dummy
$ ip link set dummy0 up
$ ip route add 100::/64 dev dummy0

... which requires the NET_ADMIN capability (and we need to be root within the container to get this capability).
So I'd need to figure out how to run only a subset of tests under that, too. Have any ideas?

See my other comment for setting exec_properties on per-test-case basis.


DO NOT MERGE: py3.11 workflow update

Issue Number. Is this pull request related to any outstanding issues? If so, list the issue number.
Describe the changes made. A clear and concise description of what the problem is and what you did to fix it. E.g. [...] was happening and I've changed [...] to fix it.
Goals and Outstanding Issues. A clear and concise list of goals (to be) accomplished.

[ ]

Major files changed.

[ ]

Status.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] I have read the CONTRIBUTING document.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Additional context. Add any other context or screenshots about the pull request here.

Working now.


Elements don't stay in new position

Hello, thank you for the awesome module @kamilkp !!
I have an issue, and I don't know if i'm just being stupid or if it is an actual issue:
elements I move by drag and dropping do not stay on the new position, but rather go back  to their previous position... I can confirm using "sv-on-sort" that both the $indexFrom and $indexTo are correct. Here's my code:

{{post.title}}

EDIT: I think this may be due to the filter I'm applying? Been beating my head for a few hours, any help would be appreciated... Here's the custom filter:
.filter('selectedStories', function() {
  return function(stories, activeStories) {
    return stories.filter(function(story) {
      if (activeStories.indexOf(story.$id) != -1) {
          return true;
      }
      return false;
    });
  };
})

And activeStories is just an array where I put the id's of the stories I want to show.
EDIT2: After running various tests it appears the problem is that this doesn't work when the ng-repeat is iterating over a filtered array. Can anyone confirm? Any workarounds?

@CharlieIGG I ran into this issue as well. You are correct that it doesn't work when the ng-repeat is iterating over a filtered array. This is because the model for the sorting and the ng-repeat are different.
A workaround would be to order the array before it is applied to the ng-repeat rather than using an orderBy filter.
Change

To

activeStories being the ordered array

just saw this... Thanks @mcestone4 !


Should be able to use <<: *alias to improve configuration re-use within workflows via argo cli

Pre-requisites

[X] I have double-checked my configuration
~[ ] I can confirm the issues exists when I tested with :latest~ (cli issue)
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what you expected to happen?
When trying to re-use and override configuration with YAML map alias merging, one gets:

INFO[2023-03-21T08:58:25.880Z] No Workflow found in given files

I expect Argo CLI to find workflows with such merges.
It works via kubectl create so server-side is fine.
Version
v3.4.5+1253f44.dirty
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: hello-world-
  labels:
    workflows.argoproj.io/archive-strategy: "false"
  annotations:
    workflows.argoproj.io/description: |
      This is a simple hello world example.
      You can also run it in Python: https://couler-proj.github.io/couler/examples/#hello-world
spec:
  entrypoint: whalesay
  templates:
  - name: template
    container: &container
      image: grycap/cowsay
      command: [cowsay]
      args: ["hello world"]
  - name: whalesay
    container:
      <<: *container
      image: docker/whalesay:latest

### Logs from the workflow controller

```text
N/A, it never gets to the server.

Logs from in your workflow's wait container
N/A, it never gets to the server.

How did you use the CLI? Any steps to reproduce?

Sounds like it didn't pass the validation when submitting through the CLI. Would you like to submit a PR to fix it?

Whilst I'd love to help, I haven't the time personally.


lucide pack

It is an interesting project, will you add more icon packs in the future? for example
https://lucide.dev

I wasn't familiar with Lucide until now. It appears to be a quality icon pack. Adding support for Lucide looks feasible.  The key factor is that there is a GitHub repo with all of the .svg files for the icons available.  Looks like for Lucide that would be here: https://github.com/lucide-icons/lucide.

This is also interesting, it would be great to have them unified.
https://github.com/devicons/devicon

A Lucide version has been released (https://www.nuget.org/packages/Blazicons.Lucide) as well as a Devicon version(https://www.nuget.org/packages/Blazicons.Devicon). Thanks for the suggestions.


Global 'View' and Workspace 'Add': Hg Summary Data

As an ECMPS user, I want to view Hg Linearity and 3-level Summary Data in the Global-View and add new Hg Linearity and 3-level Summary Data in the Workspace so that I can look at real-time data or add test information as needed
Acceptance Criteria: (Global-view)
Given a user has selected Hg Linearity and 3-level Summary from the Test Type Group dropdown and a data record is available
When the data is displayed
Then the user can see data displayed as a separate table
Columns:
Gas Level Code Dropdown
Mean Measured Value
Mean Reference Value
Percent Error
APS Indicator
Given a user is viewing Hg Linearity and 3-level Summary Data
When the data is displayed in a table
Then the default sort order is alphanumeric descending by the contents in the 1st column
And the user will have the option to sort the columns in ascending or descending alphanumeric order

[x] The fields and their order specified

Pagination?

[ ] Yes
[x] No

Filter by keyword?

[ ] Yes
[x] No

Columns are sortable?

[x] Yes
[ ] No

Nested rows, expandable?

[x] Yes
[ ] No

Acceptance Criteria: (Workspace - Add)
Given the user has selected Hg Linearity and 3-level Summary from the Test Type Group dropdown
When the user clicks on 'Add' for Hg Summary Data
Then the system displays a modal
and the user can add new data for:
Gas Level Code (Dropdown - High, Mid, Low)
Mean Measured Value (Text)
Mean Reference Value (Text)
Percent Error (Text)
APS Indicator (Radiobutton)
Given the user has added Hg Linearity and 3-level Summary Data
When the user chooses to save and close
Then the data is saved
And the modal closes
And the user is returned to the Landing screen
And the Hg Linearity and 3-level Summary record is reflected on the UI
Given the user has added a new Hg Summary data record
When the user chooses to Cancel
Then the user is returned to the Landing screen for Hg Linearity and 3-level Summary data
And no updates are saved
Dev Note: This data section is at the second level of nesting (Test Data -> Hg Summary)
Testing
Test Case: TC1178
Tester: @mosesdeeCVP

HG Sum Official Table

HG Sum Workspace Add

Test Passed


Older versions redirect to 404

When choosing an older version from the versions menu, I am redirected to /0.1 which doesn’t exist (leads to 404). The version’s page (which saved in versions/0.1/index.md) is only served through /versions/0.1 and could only be accessed through there.
Is there a way to make it serve older versions without /versions before the version?

Could you show me your configuration and page folder structure?

My page folder is structured like this:
Inside my “docs” directory:

.vitepress
api_reference
user_guide
basic
public
versions

1.3.2

api_reference
user_guide
basic
public
index.md

index.md

As for configuration, I have my config.mts:

Declares “import defineVersionedConfig from ‘vitepress-versioning-plugin’
lang: “en-US”
head (for favicon)
title
description
cleanUrls: true
appearance: ‘force-dark’
versioning.latestVersion: “2.0.0”
themeConfig (defines my side and nav bars)
search.provider: “local”

Also, inside .vitepress I have a sidebars directory, with a versioned directory inside and a file named “1.3.2.json”.
Thanks! :)

Hey same guy here, I am only going to use this account in the future.
I tried to reproduce this bug on another computer, and it did come up again. I wanted to make sure I did it as pure as possible without changing anything I shouldn't (to make sure it wasn't some misconfiguration on my end).
To reproduce I have done these steps:

Installed vitepress (latest - 1.1.3).
Installed vitepress-versioning-plugin (latest).
Ran vitepress init to create a fresh vitepress project.
Replaced defineConfig with defineVersionedConfig.
Added versioning and versioning.latestVersion: "2.0.0" to the config.mts.
Created a folder named "1.0.0" inside the "versions" folder.
Ran vitepress dev
Tried to access version 1.0.0 through the version switcher.

I managed to get the same result as before, and clicking on 1.0.0 inside the version switcher resulted in a 404 error.
To test it in another way and make sure it was a bug, I cloned the plugin repo locally and ran the test-docs on my computer to check this issue (using the viterpess dev command). I received the same result.
Both times choosing a version redirected me to /version (e.g. http://localhost:5173/0.1.0/) which resulted in a 404 page. There is no page called 0.1.0 inside the main directory, so it does make sense.
Trying to access the older version (0.1.0) through a link, I tried using /versions/0.1.0. It did work and I could see what was meant to be shown for version 0.1.0.
Trying to choose a version through the switcher:

Trying to access /versions/0.1.0:

I tried to edit the switcher definition and added versions/ on line 27 of switcher.ts. This expectedly resulted in the same result shown in the second picture, and I think it could be a solution to this problem.
@IMB11 Have you seen this issue happen to anyone else? Or could it still be something with my usage?
If it happens for everyone should I open a PR that fixes just that?

Do you have a GitHub repo I can reproduce this with? Im struggling to manually try and trigger the issue using a blank setup.

Added you to a private repo here. Running vitepress dev in this repo should reproduce what I'm talking about.

I'll look at this throughout the week :)

Hey! Have you looked into this by any chance?

I'll have to look at in sometime in the future, not got alot of time lately

I cant reproduce this, I've been trying for a good hour now, not sure what is happening, it could just be a cache issue on your end?

@Deaadman do you have a repo?

Unfortunately don't have a repo at the moment, but I can push one if you'd like.
However, all I did was create a brand new VitePress 1.3.1 project, then added the versioning plugin straight away. After that I created a new 0.9.0 version, copied the files into a 0.9.0 folder underneath the versions folder that was created and it's a 404 page as it's redirecting me to /0.9.0 and not /versions/0.9.0.

@IMB11 I should've sent you a request to join my private repo [here[(https://github.com/Deaadman/VitePressVersioningTest). I just created another new project on a separate computer and I'm still having the exact same issue.

Just a quick update... I downloaded the code of the Fabric Documention - and after hosting the website and switching version it also gives me a page 404.
This is making me thing there isn't actually an issue, it's just the way hosting it locally is handling the functionality different maybe? That's probably why you haven't been able to notice any issues? Because there aren't any.

After investigation, I found out the reason for this: you are probably using windows on dev.
The function generateVersionRewrites  is based on path.resolve() to get the versions directory wich resolves using backslashes on windows.
Hence the redirection created is from \version\2.01/index.md and the version/ is not replaced as expected later on the function resulting with:
versionRewrites { '\versions\0.2.0/index.md': '\versions\0.2.0/index.md' } => this is unknown to vitepress.
The workaround is to convert the path.resolve() resolved path to use forward slashes instead:
for (const rewriteSource of files.map(
    (filePath) => filePath.replace(versionsDir, "versions").replace(/\\/g, '/')
)) {


Online / Server available

I'd like to use multiple instances because I'm very cynic :)

Am I online
Federation server online
App server online

Can we make cynic with optional parameter for the server ?
Thx !

Sure! Let me just get a better idea of what you want, I imagine something like?
Future<bool> isOnline([String hostOrIp]);

Generally speaking you won't want to ping your own server too much :)

Right this is Cynic not Loic ;)
How I may use  it
Cynic.register({
   'federation':'256.257.258.999',
   'api':'256.257.258.1',
   'oauth':'256.257.258.x'});

Cynic.isOnline('federation').then({}).orElse({});

Cynic.allOnline()

@Solido: Hmm. I could see this being useful for others. How about the following API:
/// Returns a stream of online statuses from [ipsOrHosts].
Stream<bool> allOnline(Iterable<String> ipsOrHosts);

and/or
abstract class Status {
  static Future<bool> allOnline(Iterable<Status> statuses) => ...

  const factory Status.host(String hostName, [String name]);
  const factory Status.http(String url, [String name]);
  const factory Status.ip(String ipAddress, [String name]);

  Future<bool> get isOnline;
}

Example use
allOnline([
  '256.257.258.999',
  '256.257.258.1',
]);

and/or
final servers = const [
  const Status.ip('256.257.258.999', 'Federation'),
  const Status.ip('256.257.258.1', 'API'),
  const Status.ip('256.257.258.2', 'OAuth'),
];

print(await Status.allOnline(servers));

Thinking about a concrete Flutter case, register all micro services and online should responds under a period of time or display a message. Maybe it can help define the features we need ?
// Pure code API
final servers = const [
  const Status.ip('256.257.258.999', 'Federation'),
  const Status.ip('256.257.258.1', 'API'),
  const Status.ip('256.257.258.2', 'OAuth'),
];

Status.allOnline(servers, duration : 3000)).then( [valid infos server/time] => {
// setState() render the home
// eventual perf analytics
}).orElse([invalid server/time] => {
// display error
// crash analytics
});

Implementing an expressive Flutter widget relying on the API.
OnlineStatusWidgetBuilder([servers], {duration:2000}
waiting : LoadingWidget,
offline : WidgetBuilder( [offline servers details] => {
// Build a view with messages and retry
})
online: Widget // It works
)

Thinking about a concrete Flutter case, register all micro services and online should responds under a period of time or display a message. Maybe it can help define the features we need ?
// Pure code API
final servers = const [
  const Status.ip('256.257.258.999', 'Federation'),
  const Status.ip('256.257.258.1', 'API'),
  const Status.ip('256.257.258.2', 'OAuth'),
];

Status.allOnline(servers, duration : 3000)).then( [valid infos server/time] => {
// setState() render the home
// eventual perf analytics
}).orElse([invalid server/time] => {
// display error
// crash analytics
});

Wouldn't this potentially drain the battery? I'm still learning about best Flutter practices.

Implementing an expressive Flutter widget relying on the API.
```dart
OnlineStatusWidgetBuilder([servers], {duration:2000}
waiting : LoadingWidget,
offline : WidgetBuilder( [offline servers details] => {
// Build a view with messages and retry
})
online: Widget // It works
)

I like this idea!
@Solido Do you want to take a shot at sending a PR? Happy to review.

Duration is a timeout ! it's only one call.
I'm still fighting really hard to get Firebase/Google Sign in to works but this is on my planning.

No worries. Let me send you something then, maybe you can review?

Yep ! let's go on this


Tabbing between fields in forms not working

Looks like an issue with the underlying sweet alert library but wanted others to be aware if they were using the angular wrapper.  See this issue: https://github.com/t4t5/sweetalert/issues/391

Bump. Same problem here. Very annoying.


Increase VPA Recommender log level to v=3

How to categorize this PR?

/area auto-scaling
/kind enhancement
What this PR does / why we need it:
Allows us to gather more information about e.g. observed OOMKill events
Release note:

Increased the VPA Recommender log level to v=3.

/lgtm


adds automatic release (closes #47)

Description

Adds Automatic Release GH action
Releases are only created if there are new commits

closes #47

Interfaces in go contain both type and value

Type is null-able(like map, pointer etc) and value is nil
Type itself is nil (and its value is nil)

hence it is best practice to use
hm.diskmap != (disk.DB)(nil)

instead of
hm.diskmap != nil


Layering Add support for layering_check and change default toolchain

Bazel has support for layering_check identification which helps validate that sources are only pulling in header files from their direct dependencies.
This is considered best practice in Bazel, since if you depend on indirect dependencies it's easy to break upstream package consumers unknowingly. At the moment layering_check is only supported by Clang. The change also changes the default CC variable to be Clang as a result.
(ref: https://bazel.build/reference/be/c-cpp)

Changed BUILD files accordingly to support layering_check. The build fails otherwise without the changes once layering_check is enabled.
Additionally ran Buildifier on all build files to make them consistent as a separate commit.

Additional Notes:

We should consider adding a toolchain directly in Bazel to make it hermetic or consider using Nix to bring in workspace tooling.
We should add add buildifier as a github_action lint check.

The format changes are in a separate commit if you want to view the changes without them.

FYI I'm working on adding buildifier here (WIP): https://github.com/openxla/stablehlo/pull/1915

rebased from main which was the earlier build failure.
There were new layering failures.

FYI I'm working on adding buildifier here (WIP): #1915

Nice.


Plugin slows down machine

Hello,
I'm using this plugin for several years now and am pretty satisfied. However, since PhpStorm 2017.2 I have massive performance problems. My machine stops for a second every five seconds where I can't do anything. Scrolling is lagging, no autocompletion etc. When I open the "Open file" dialog it takes seconds till it opens.
First I thought it's because of the Symfony Plugin, but I disabled the plugins one by one and only after disabling this plugin, PhpStorm ran smoothly again. As I said, this problem only exists since the last few updates of PhpStorm, never had problems with it.
Is there a way you can confirm this @hsz ? Because I'd hate to leave it disabled, but it's currently the only way to guarantee a good performance.
I invalidated caches already ofc.

@tzfrs what version of plugin do you have installed?

Oh, sorry @hsz, didn't realize you answered that fast
I currently have .ignore plugin version: 2.0.3.

@tzfrs can you please update to 2.0.4?

When I try to update I'm getting the notice You already have the latest version of plugins installed

https://plugins.jetbrains.com/plugin/download?updateId=37362

@tzfrs  ok, or added new release. Please install it manually

Will do tomorrow and report back.

@hsz: So far no problems!

I can also confirm that 2.0.3 destroys PhpStorm performance. I'm on a Mac, PhpStorm 2017.2, and had to disable this plugin to make my IDE remotely usable. 2.0.3 has the same changelog as 2.0.4 in my IDE though, and I can't update to 2.0.4. For now, I have to keep it disabled.

Strangely, I updated PhpStorm to 2017.2.1 and now I only see .ignore version 1.7.6. It doesn't even tell me that 2.x is an option.

@squatto , I'm on the latest EAP also, and I don't see this problem. 2.04 is visible and still installed after the update.
This is on Win10, but a Mac shouldn't be different, as it's all Java for JetBrains.
You might try removing the plugin, rebooting, and reinstalling it? Or maybe before that, just a Check for Updates?

@narration-sd Even after removing and restarting the app, "Browse Repositories" only shows 1.7.6. I got around it by downloading the 2.0.4 release .zip and manually installing it. Hopefully it catches anything beyond this version though.

I got the same problem with PHPStorm 2017.2.1 and .ignore 2.0.3.
Looks like update to 2.0.4 solved it for me!

@roman-1983 @squatto @tzfrs Thanks for the confirmation!


Demo broken

Not sure if you guys noticed but your demo is broken, I think it's related to character-assets having a new format?

Fixed now


Xcfa partial order

Merge changes from the master branch.
Add an auxiliary transformations to XCFAs (split edges with multiple stmts), add possibility to have a single XCFA split among multiple files (multiple process declarations are seen as one).
Add a way to convert XCFA to CFA (a bit more powerful than the one provided in XCFA class)
Note that due to a a problematic rebase there are unrelated changes here :/

All important changes are present at radl97/theta
Sorry for the too much branches/forks


improve documentation on PsySteps and Derived classes

PsySteps are created in order to be able to get a control flow in an event controlled environment. So when some envent takes place a new stimulus or trial can be scheduled. However, the steps can benefit from some documentation in order on how to use them.

Duplicate of #74