Add PHPDocs

For every class, method and any property, we should use PHPDocs and also set variable and method types .

With the commit 7863b55 I have set PHPDocs to every property and method that is currently used, and have left out all of the methods not used as they will probably later be removed or edited and PHPDocs for them will be set then like in case of Model & 'QueryBuilder` classes for Outsider as they are currently not done.


Parent cluster high availability problem

For the parent cluster, is it supported to upgrade the child cluster to the parent cluster? If there is a problem with the api-server of the parent cluster, will it affect the normal function of the child cluster?

For the parent cluster, is it supported to upgrade the child cluster to the parent cluster?

A parent cluster can be a child cluster of itself as well. That means we can register the parent cluster to itself as a child cluster.
Theoretically, we can promote a child cluster to be a separate parent cluster.

If there is a problem with the api-server of the parent cluster, will it affect the normal function of the child cluster?

No. All the resources are already deployed to each child cluster, thus the child cluster itself will help maintain the desired statuses of those resources.

Close.
Please feel free to reopen it if necessary.


(update): teleport translation done.

#18  @ShenQingchuan  PTAL~

@syue-dev looks good to me, ACK. 🎉 Thanks.


I am unable to create Set Alarm

When i click **Set Alarm

** button it redirected to http://kibana.xxx.com:5601/app/sentinl#/wizard?_g=() . Its asking for:

Give a proper name for the new watcher

Specify a period of execution (h:m:s)

Enter number of search results there should be to execute this watcher

Add action

Save

I given all required information after that when i try to save Its Saying

Sentinl Watcher Wizard: Error 500 Internal Server Error: An internal server error occurred

Hi @umeshvasam you need to check the Elasticsearch logs, and provide the full Error for troubleshooting. If you have any other plugins installed (Authentication, X-Packs, etc) it should be noted, too.

@umeshvasam what are your Kibana and Elasticsearch versions?

Moving to 6.x and cleaning up issues. Please reopen if this is still useful / required. Thanks!


Register system index descriptors through SystemIndexPlugin.getSystemIndexDescriptors

Issue #, if available:
This PR registers the system indices in this plugin through the SystemIndexPlugin extension point in core. These indices will not be functionally different than they are today, its just a formal registration as a system index.
Related to: https://github.com/opensearch-project/security/issues/4439
CheckList:

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

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

@bowenlan-amzn Can this be merged?

@cwperks I notice there's one test failure
REPRODUCE WITH: ./gradlew ':alerting:integTest' --tests "org.opensearch.alerting.DocumentMonitorRunnerIT.test execute monitor generates alerts and findings with per alert execution for actions" -Dtests.seed=E48D87D2E1142E72 -Dtests.security.manager=false -Dtests.locale=ta-IN -Dtests.timezone=Pacific/Niue -Druntime.java=17

org.opensearch.alerting.DocumentMonitorRunnerIT > test execute monitor generates alerts and findings with per alert execution for actions FAILED
    org.opensearch.client.WarningFailureException: method [POST], host [http://[::1]:43439], URI [/_refresh?expand_wildcards=open%2Chidden], status line [HTTP/1.1 200 OK]
    Warnings: [this request accesses system indices: [.opendistro-alerting-alert-history-2024.07.02-1], but in a future major version, direct access to system indices will be prevented by default, this request accesses system indices: [.opendistro-alerting-alerts], but in a future major version, direct access to system indices will be prevented by default, this request accesses system indices: [.opensearch-notifications-config], but in a future major version, direct access to system indices will be prevented by default]
    {"_shards":{"total":15,"successful":13,"failed":0}}
        at __randomizedtesting.SeedInfo.seed([E48D87D2E1142E72:1A6999FE631E4BFA]:0)
        at app//org.opensearch.client.RestClient.convertResponse(RestClient.java:381)
        at app//org.opensearch.client.RestClient.performRequest(RestClient.java:355)
        at app//org.opensearch.client.RestClient.performRequest(RestClient.java:330)
        at app//org.opensearch.test.rest.OpenSearchRestTestCase.refreshAllIndices(OpenSearchRestTestCase.java:718)
        at app//org.opensearch.alerting.DocumentMonitorRunnerIT.test execute monitor generates alerts and findings with per alert execution for actions(DocumentMonitorRunnerIT.kt:687)

can you fix this? probably a common problem, not sure if the refreshAllIndices method needs to be updated
https://github.com/opensearch-project/OpenSearch/blob/a1faafed3ad88dd8f863e40766b7f035df0ed99b/test/framework/src/main/java/org/opensearch/test/rest/OpenSearchRestTestCase.java#L706-L716

@bowenlan-amzn looking into it. I will get back shortly.

@bowenlan-amzn I get the same test failure when I revert this change. That message is a warning.

I'm seeing a separate error:
» ERROR][o.o.a.t.TransportDocLevelMonitorFanOutAction] [integTest-0] Optional finding callback failed
»  java.lang.IllegalStateException: failed to find action [org.opensearch.action.ActionType@de1e9751] to execute

Looking into a fix

@bowenlan-amzn I opened up a PR in core to address this: https://github.com/opensearch-project/OpenSearch/pull/14635

@cwperks commented on Jul 3, 2024, 7:33 AM PDT:

FYI I see another error as well. Does this need to be addressed?
» ERROR][o.o.a.t.TransportDocLevelMonitorFanOutAction] [integTest-0] Optional finding callback failed
»  java.lang.IllegalStateException: failed to find action [org.opensearch.action.ActionType@de1e9751] to execute
»       at org.opensearch.client.node.NodeClient.transportAction(NodeClient.java:147) ~[opensearch-3.0.0-SNAPSHOT.jar:3.0.0-SNAPSHOT]
»       at org.opensearch.client.node.NodeClient.executeLocally(NodeClient.java:112) ~[opensearch-3.0.0-SNAPSHOT.jar:3.0.0-SNAPSHOT]
»       at org.opensearch.client.node.NodeClient.doExecute(NodeClient.java:99) ~[opensearch-3.0.0-SNAPSHOT.jar:3.0.0-SNAPSHOT]
»       at org.opensearch.client.support.AbstractClient.execute(AbstractClient.java:482) ~[opensearch-3.0.0-SNAPSHOT.jar:3.0.0-SNAPSHOT]
»       at org.opensearch.commons.alerting.AlertingPluginInterface.publishFinding(AlertingPluginInterface.kt:258) ~[common-utils-<IP_ADDRESS>-SNAPSHOT.jar:?]
»       at org.opensearch.alerting.transport.TransportDocLevelMonitorFanOutAction.publishFinding(TransportDocLevelMonitorFanOutAction.kt:562) ~[opensearch-alerting-<IP_ADDRESS>-SNAPSHOT.jar:<IP_ADDRESS>-SNAPSHOT]
»       at org.opensearch.alerting.transport.TransportDocLevelMonitorFanOutAction.createFindings(TransportDocLevelMonitorFanOutAction.kt:525) [opensearch-alerting-<IP_ADDRESS>-SNAPSHOT.jar:<IP_ADDRESS>-SNAPSHOT]
»       at org.opensearch.alerting.transport.TransportDocLevelMonitorFanOutAction.access$createFindings(TransportDocLevelMonitorFanOutAction.kt:133) [opensearch-alerting-<IP_ADDRESS>-SNAPSHOT.jar:<IP_ADDRESS>-SNAPSHOT]
»       at org.opensearch.alerting.transport.TransportDocLevelMonitorFanOutAction$createFindings$1.invokeSuspend(TransportDocLevelMonitorFanOutAction.kt) [opensearch-alerting-<IP_ADDRESS>-SNAPSHOT.jar:<IP_ADDRESS>-SNAPSHOT]
»       at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) [kotlin-stdlib-1.8.21.jar:1.8.21-release-380(1.8.21)]
»       at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:233) [kotlinx-coroutines-core-1.1.1.jar:?]
»       at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:594) [kotlinx-coroutines-core-1.1.1.jar:?]
»       at kotlinx.coroutines.scheduling.CoroutineScheduler.access$runSafely(CoroutineScheduler.kt:60) [kotlinx-coroutines-core-1.1.1.jar:?]
»       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:742) [kotlinx-coroutines-core-1.1.1.jar:?]
» WARN ][o.o.n.i.NotificationConfigIndex] [integTest-0] notifications:getNotificationConfig - jl_ueJABFEYUG2kq6hJI not found; response:{"_index":".opensearch-notifications-config","_id":"jl_ueJABFEYUG2kq6hJI","found":false}

If this is not causing a test to fail, it should be fine for now.


General information about merchandise

Firstly, do this: https://github.com/users/Kaba8081/projects/2/views/1?pane=issue&itemId=87111191

[x] Add additional information about storing, handling, moving certain items.
[x] Add information about reservations.

Updated class Item, Added reservation system

Refactor planned for reservation function


Middleware store dispatch or commit before redirect will not write data on server

Sorry, my English is poor
glitch
When you visit index.vue on server
It has a middleware test.js
store.commit('SET_USER', 'hello');
return redirect('/about');

You will be redirect to about.vue
You will find that authUser is null
You click the back link to repeat the above action on client
You will find that authUser has value

This question is available on Nuxt.js community (#c2568)

Can verify. I just stumbled upon this issue as wel.

Same here, nuxt 1.4.0

Because redirect on server do a server side redirect  so its like a full page  reload...

@aldarund But how can I pass the store when redirect.

@shhdgit afaik you cant. Only solutions is to use persisted vuex state or pass params that u need via url params.

@aldarund Thanks.

@shhdgit you can use Set-Cookie too.


Validator can get into infinite loop with circular structs

Package version eg. v8, v9:
gopkg.in/go-playground/validator.v9
Issue, Question or Enhancement:
If you set up a circular struct with validation tags, validator will loop infinitely
Code sample, to showcase or reproduce:
The following code
package main

import (
	"log"

	"gopkg.in/go-playground/validator.v9"
)

type User struct {
	FirstName      string   `json:"fname"`
	LastName       string   `json:"lname"`
	Age            uint8    `validate:"gte=0,lte=130"`
	Email          string   `validate:"required,email"`
	FavouriteColor string   `validate:"hexcolor|rgb|rgba"`
	Address        *Address `validate:"required"` // a person can have a home and cottage...
}

// Address houses a users address information
type Address struct {
	Street string `validate:"required"`
	City   string `validate:"required"`
	Planet string `validate:"required"`
	Phone  string `validate:"required"`
	User   *User  `validate:"required"`
}

// use a single instance of Validate, it caches struct info
var validate *validator.Validate

func main() {
	validate = validator.New()

	address := &Address{
		Street: "Eavesdown Docks",
		Planet: "Persphone",
		Phone:  "none",
		City:   "Unknown",
	}

	user := &User{
		FirstName:      "",
		LastName:       "",
		Age:            45,
		Email<EMAIL_ADDRESS>		FavouriteColor: "#000",
		Address:        address,
	}
	address.User = user

	err := validate.Struct(user)
	if err != nil {
		log.Println(err)
	}

	log.Println("Finished")
}

will produce the error
runtime: goroutine stack exceeds<PHONE_NUMBER>-byte limit
fatal error: stack overflow

runtime stack:
runtime.throw(0x1670ba, 0xe)
	/usr/local/Cellar/go/1.7.1/libexec/src/runtime/panic.go:566 +0x95
runtime.newstack()
	/usr/local/Cellar/go/1.7.1/libexec/src/runtime/stack.go:1061 +0x416
runtime.morestack()
	/usr/local/Cellar/go/1.7.1/libexec/src/runtime/asm_amd64.s:366 +0x7f
goroutine 1 [running]:
reflect.valueInterface(0x131e00, 0xc420070c30, 0x198, 0x1, 0x0, 0x0)
	/usr/local/Cellar/go/1.7.1/libexec/src/reflect/value.go:910 fp=0xc4402002b0 sp=0xc4402002a8
reflect.Value.Interface(0x131e00, 0xc420070c30, 0x198, 0x198, 0x198)
	/usr/local/Cellar/go/1.7.1/libexec/src/reflect/value.go:907 +0x44 fp=0xc4402002f0 sp=0xc4402002b0
gopkg.in/go-playground/validator%2ev9.hasValue(0x1ff5c0, 0xc42008ea20, 0x198)
	/Users/prximac03/Projects/go/src/gopkg.in/go-playground/validator.v9/baked_in.go:908 +0xf9 fp=0xc440200350 sp=0xc4402002f0
gopkg.in/go-playground/validator%2ev9.(*validate).traverseField(0xc42008ea20, 0x1523a0, 0xc420070c30, 0x199, 0x131e00, 0xc420070c30, 0x198, 0xc423c94000, 0x533321, 0x58c000, ...)
	/Users/prximac03/Projects/go/src/gopkg.in/go-playground/validator.v9/validator.go:406 +0x18b7 fp=0xc440200518 sp=0xc440200350
gopkg.in/go-playground/validator%2ev9.(*validate).validateStruct(0xc42008ea20, 0x1523a0, 0xc420070c30, 0x199, 0x1523a0, 0xc420070c30, 0x199, 0x201be0, 0x1523a0, 0xc423c94000, ...)
	/Users/prximac03/Projects/go/src/gopkg.in/go-playground/validator.v9/validator.go:80 +0x49f fp=0xc4402005d0 sp=0xc440200518
gopkg.in/go-playground/validator%2ev9.(*validate).traverseField(0xc42008ea20, 0x153f00, 0xc420070c80, 0x199, 0x1523a0, 0xc420070c30, 0x199, 0xc423c94000, 0x533321, 0x58c000, ...)
	/Users/prximac03/Projects/go/src/gopkg.in/go-playground/validator.v9/validator.go:194 +0x477d fp=0xc440200798 sp=0xc4402005d0
gopkg.in/go-playground/validator%2ev9.(*validate).validateStruct(0xc42008ea20, 0x153f00, 0xc420070c80, 0x199, 0x153f00, 0xc420070c80, 0x199, 0x201be0, 0x153f00, 0xc423c94000, ...)
	/Users/prximac03/Projects/go/src/gopkg.in/go-playground/validator.v9/validator.go:80 +0x49f fp=0xc440200850 sp=0xc440200798
gopkg.in/go-playground/validator%2ev9.(*validate).traverseField(0xc42008ea20, 0x1523a0, 0xc420070c30, 0x199, 0x153f00, 0xc420070c80, 0x199, 0xc423c94000, 0x533319, 0x58c000, ...)
	/Users/prximac03/Projects/go/src/gopkg.in/go-playground/validator.v9/validator.go:194 +0x477d fp=0xc440200a18 sp=0xc440200850
gopkg.in/go-playground/validator%2ev9.(*validate).validateStruct(0xc42008ea20, 0x1523a0, 0xc420070c30, 0x199, 0x1523a0, 0xc420070c30, 0x199, 0x201be0, 0x1523a0, 0xc423c94000, ...)
	/Users/prximac03/Projects/go/src/gopkg.in/go-playground/validator.v9/validator.go:80 +0x49f fp=0xc440200ad0 sp=0xc440200a18
<and so on>
``

Being able to turn off recursive validation would be deeply appreciated since my structs are extremely circular and not necessarily connected, or at least a sketch of how to implement this so I can do it as a PR :)

Hey @thessem
This is an interesting one, haven't seen it in a while so there are a few options depending on how the references are made, but the best one is:
You could use the structonly or nostructlevel tag on the User field of Address after the required tag. this is a good option if the user on the Address is assigned by the program and not user input, which most circular data would be, see the docs here.
// Address houses a users address information
type Address struct {
	Street string `validate:"required"`
	City   string `validate:"required"`
	Planet string `validate:"required"`
	Phone  string `validate:"required"`
	User   *User  `validate:"required,nostructlevel"`
}

please let me know if this works for you :)

Hey @thessem just checking to see if this worked for you.

Sorry for leaving this open, it does work for me but I didn't like the idea of having to add nostructlevel all throughout my validation flags so I've been trying to find a way which I find more philosophically 'pure', I think might end up with me attempting to add some traversal logic configuration to the validator.
Thanks for the link, I'm closing this now since my use-case is quite different from the purpose of the validator and you've answered my question in a way which work for me! Thanks a lot for your help and your quick turn around on my previous issue :)

No problem @thessem
I too wish there was an easier way, just don't know how to tell validator the user on the address and the address on the user is recursive without a tag or some other equivalent logic.
Another way, which would be more 'pure' would be to do only struct level validation that way you could program the logic to not recurse and still maintain all the benefits of validator.


Falcon40 4/8 chip prefill demo not working

Describe the bug
Demo produces random output when prefill on device is enabled. The PCC that we get when we compare device kv cache and host kv cache is unstable - drops to 0.6 at some point and comes back to 0.95 at the end. Running prefill for the same prompt in test_falcon_end_to_end.py gives stable PCC not dropping below 0.97, so it seems that there is some issue with the demo code.
To Reproduce
Running the following command on main produces bad output:
pytest --disable-warnings -q -s --input-method=cli --cli-input="Tell me a joke."  models/demos/falcon40b/demo/demo.py
Additional context
Program cache and persistent kernel cache are both turned off.

Demo works with max_seq_len 32, 512 and 1024, while it produces bad output for max seq len 128. Moreover, the output from variants with max_seq_len 512 and 1024 produces meaningful output, but it is different from what we get with 32 max_seq_len.
Measuring the PCC between prefill done on host and on the device gives the following results

with the demo written as is - PCC is bad ~0.4
with the update of passing prefill_ids instead of prefill_ids[:, :num_input_tokens] PCC goes up to 0.8-0.9 but is not really stable - this is because to the device we pass full prefill_ids so we have some numbers for tokens between num_input_tokens and 32
with the previous update and passing num_input_tokens=32 instead of the actual num_input_tokens to the model_preprocessing method PCC is stable and around 0.97-0.98

However the demo with max_seq_len 128 still doesn't work even with good PCC - the same PCC we get with max_seq_len=32 and this works in the demo. I will continue to debug from here in the following manner:

Run prefill and save kv cache in a file; reset chip; run demo with kv cache loaded from the file to exclude the possibility that we leave device in a bad state after the prefill.
Try to play with fill_cache ops in case they end up doing some memory corruption when the initialized kv cache size is different.

@TT-BrianLiu @aliuTT @tarafdarTT to help team

Synced with Brian, will try:

watcher
dumping memory layout
different max seq lengths close to problematic 128

Closing this one since the problem resulted in 2 different issues. Opened separate issues:
https://github.com/tenstorrent-metal/tt-metal/issues/6650
https://github.com/tenstorrent-metal/tt-metal/issues/6651


Filesystem access

LHTML documents ought to be able to read/write arbitrary data to their zip location.  I'm thinking of a simple whole-file API like:

writeFile(relpath, data, [mode, encoding])
readFile(relpath, [encoding])

Perhaps we should consider limiting the space an LHTML file can take as a security provision (so a malicious LHTML file doesn't fill up your hard drive).

If we later need to add random file reading/writing, let's address that separately.


Rasberry PI4 test : connection rejected by server

Hi, Thanks for the job done on this. I would like to test this on an rpi4.
I have these certificate error while running
pi@IOTstack:~/node-opcua-logger $ npm start

><EMAIL_ADDRESS>start /home/pi/node-opcua-logger
> node ./src/index.js

[2020-11-20T16:07:01.422] [INFO] main - Starting Influx OPCUA Logger v2.0.0-alpha, brought to you by FACTRY (www.factry.io)
[2020-11-20T16:07:01.427] [INFO] main - Initialising influxClient
[2020-11-20T16:07:01.462] [INFO] influx - localhost:8086 responded in 28ms running 1.8.3
[2020-11-20T16:07:01.463] [INFO] main - Initialising buffer
[2020-11-20T16:07:01.466] [INFO] main - Connecting OPCUA
[2020-11-20T16:07:02.477] [FATAL] main - Error: The connection has been rejected by server,
Please check that client certificate is trusted by server.
Err = (Internal Error)
    at Object.start (/home/pi/node-opcua-logger/src/opcua.js:60:11)
[2020-11-20T16:07:02.481] [INFO] buffer - Persisting membuffer.

I try to connect to this opc server available online opc.tcp://opcuaserver.com:48010. See config.toml attached
I tried with release V2 and master compiled, i have the same error.
Prebuilt binary not working on raspberry 32 bits.
config.toml.log
I connected successfully uaexpert on that opc server, anonymous connection.
Can you give ideas about that problem ?
Thanks in advance

Indeed, the pre built binaries don't work on ARM.
Which node version did you install on the PI?

It is v10.23.0

Update.
There was a problem with openssl. I reinstalled nodejs and logger again.
Working perfectly now.
I am able to connect the online opc server above successfully.
FYI i used the IOTstack from https://sensorsiot.github.io/IOTstack/ which deploy influx and grafana within 10 minutes.
Great job for this project. Thanks to the team.


gUndefinedTableErrorCode` is unused (deadcode

an issue has been detected in source code: pgUndefinedTableErrorCode is unused (deadcode)

Fixed in #303


Bring Age header up to standard

After the changes on Content-Length on #1244, I'm updating the Age header in the same way, removing the partial apply constructor and the anonymous class
This is an API break but given that Age was add very recently I'd expect the impact to be minimal

The criteria used were:

No anonymous classes, instead we make a private class
No partial apply constructors. Instead we have e.g. fromLong which is partial
No require calls on constructors though I guess the general rule is no exceptions in constructors

It should be added to some kind of coding standards, do we have one?

We don't have a coding standards guide, as they've been emerging ad hoc on these various related tickets.  But it would be good to lay this out.


Move application ID to base AndroidTarget

This moves the ApplicationId part of the build config generator to the base AndroidTarget in a similar fashion to: https://github.com/OkBuilds/OkBuck/commit/3e3d818fe6ced9d15ea6962f54b73841fe12c1ca
This will generate the following for a library:
android_build_config(
    ...
	package = 'com.package.lib',
	values = [
         ...
		'String APPLICATION_ID = "com.package.lib"',
         ...
	],
    ...
)

And remain the same for an application:
android_build_config(
    ...
	package = 'com.package.app',
	values = [
         ...
		'String APPLICATION_ID = "com.package.app"',
         ...
	],
    ...
)

Okay, moved it to the top @kageiit. PTAL


Light Response refactoring

Functionally these are equal but it looks that it was coded like so intentionally. @qiangxue do you remember why?

Functionality was introduced at 664d2aa
It seems there is no need for extra check.


slimserver isn't working with tidal plugin

Describe the bug
I try to use slimserver with the tidal plugin.
Slimserver looks normally (e.g the webui works), but it spams the log with
Dez 03 15:08:21 chump slimserver[1226346]: ; fh=Slim::Networking::Async::Socket::HTTPS=GLOB(0x8e7d560)
Dez 03 15:08:21 chump slimserver[1226346]: [23-12-03 15:08:21.5782] Slim::Networking::IO::Select::__ANON__ (130) Error: Select task failed calling Slim::Networking::Async::HTTP::_http_read_body: Can't locate object method "_scan" via package "Audio::Scan" at /nix/store/g35r8mg97wnr6cyi0kkn905zx5qf24ma-perl5.38.0-slimserver-8.3.1/lib/Audio/Scan.pm line 106.
Dez 03 15:08:21 chump slimserver[1226346]: ; fh=Slim::Networking::Async::Socket::HTTPS=GLOB(0x8e7d560)
Dez 03 15:08:21 chump slimserver[1226346]: [23-12-03 15:08:21.5908] Slim::Networking::IO::Select::__ANON__ (130) Error: Select task failed calling Slim::Networking::Async::HTTP::_http_read_body: Can't locate object method "_scan" via package "Audio::Scan" at /nix/store/g35r8mg97wnr6cyi0kkn905zx5qf24ma-perl5.38.0-slimserver-8.3.1/lib/Audio/Scan.pm line 106.
Dez 03 15:08:21 chump slimserver[1226346]: ; fh=Slim::Networking::Async::Socket::HTTPS=GLOB(0x8e7d560)
Dez 03 15:08:21 chump slimserver[1226346]: [23-12-03 15:08:21.6032] Slim::Networking::IO::Select::__ANON__ (130) Error: Select task failed calling Slim::Networking::Async::HTTP::_http_read_body: Can't locate object method "_scan" via package "Audio::Scan" at /nix/store/g35r8mg97wnr6cyi0kkn905zx5qf24ma-perl5.38.0-slimserver-8.3.1/lib/Audio/Scan.pm line 106.
Dez 03 15:08:21 chump slimserver[1226346]: ; fh=Slim::Networking::Async::Socket::HTTPS=GLOB(0x8e7d560)

and squeezelite isn't outputting any audio when i try to play something (without any error logs)
Steps To Reproduce
Steps to reproduce the behavior:

install and run slimserver
configure the tidal plugin
install and run squeezelite
try to play something

Expected behavior
I expect listening to audio but it just keeps silent.
Additional context
I'm not 100% sure if it's related to the tidal plugin. I just don't have a different audio provider to test with.
The logspam only starts as soon as i try to play something. But then it never stops even if i disconnect all players.
Notify maintainers
@adamcstephens @jecaro

Add a :+1: reaction to issues you find important.

I'm on unstable from today.
Radio and local media work fine.

I am also encountering this issue with the qobuz plugin. Also I haven't figured out why, but indexing doesn't work for me, but if i try to play a local file (finding it via the file system option) I also get similar errors complaining about _scan not being found etc.

When I went to spin this up I discovered that library importing was failing with the same error. After some troubleshooting another vendored version of this library was found. Cleaning this up and upgrading AudioScan to the slimserver fork resolved library importing, and I verified Qobuz is also playing.
@ChrisOboe and @antonmosich can you test this PR to see if it fixes your issues? Thanks! https://github.com/NixOS/nixpkgs/pull/274070

@adamcstephens i just tested the pr and can confirm that the tidal works fine now. Thank you very much!


Don't send hostNetwork pods through in snapshots.

Fixes #349

Looks fine.
One related-isa question though:  Why are isCalicoPod, isHostNetworked and hasIPAddress methods on the converter rather than just plain old functions?

One related-isa question though: Why are isCalicoPod, isHostNetworked and hasIPAddress methods on the converter rather than just plain old functions?

Yep, they don't need to be.  Not going to change in this PR though!

@tomdee is there a chance I could get this cherry-picked into v2.1.0?  Not critical, but would be useful for me.


UWG4/AWG4 support?

Great project. I would like to know if you would accept patches to add support for UWG4/AWG4 thermostats.
There is prior art on how to do it, but that integration is much less mature than yours. It's a bit odd because OJ Microline basically operates two completely separate APIs for OWD5 vs UWG4/AWG4, so to implement the changes this library would have to attempt signing in to both APIs and see which one works… definitely odd. (Or ask the user to select up-front which model of thermostat they have, as part of the config process.)
Let me know what you think.

Hi!
Sure that sounds great, adding more supported models will only make this library better! I did not really look into the linked code much, but at a glance it looks like the main difference is the auth parameters? The OWD5 requires a customer ID and API key, seems like the UWG4/AWG4 doesn't. Furthermore the OWD5 requires the API key to be sent each request, where the UWG4/AWG4 doesn't.
I don't really like adding more parameters to the init method, or make certain things optional and "guess" which thermostat the user has.
My preference would be to create an OWD class and UWG (or AWG) class which implements all specific API code/methods currently defined in the Ojmicroline class. And then provide an OWD/UWG object to the OJMicroline class (if that makes any sense).
Then we could use it something like:
owd5 = Owd(
        host="ocd5.azurewebsites.net",
        customer_id=99,
        api_key="<app-api-key>",
        username="<your-username>",
        password="<your-password>",
)

## Or:

uwg4 = Uwg(
        host="uwg4.azurewebsites.net",
        username="<your-username>",
        password="<your-password>",
)

client = OJMicroline(model=owd5)
data = client.get_thermostats()

Next step would be to make it configurable/usable in the home assistant integration

#190 begins the process.


CI for python solutions

Please, create the CI pipeline by using the github actions to verify that scripts can be at least builded.

Created the corresponding branch - 'CI'.
Added the initial python-app.yml file.

i am not interested in this anymore


Azure DevOps Server (on premise) support

Currently AzDoS (2019) support works as far as logging in, but fails at enumerating PRs with
"Fetching pull requests failed: Failed to find api location for area: git id: 225f7195-f9c7-4d14-ab28-a83f7ff77e1f"

@ankitbko any news about plans for this?

Have there been any news about this request?
I am able to login using the PAT but I am getting
"Fetching pull requests failed: A projectname is necessary ..."Although a project name is set


Fix empty m_WidgetRenderers on cloned StencilWidget

Fixes https://github.com/icosa-gallery/open-brush/issues/73
Took me a long time to wrap my head around how selection/deselection actually works.
Turns out, after duplication and deselection, the widget does become deselected, as in it's removed from m_SelectedWidgets in SelectionManager. The reason is it looks selected is we don't clear the SELECTION_ON keyword from the shader attached to the StencilSurface - seems like the renderers aren't cloned correctly when we clone the StencilWidget.
This comment https://github.com/icosa-gallery/open-brush/blob/main/Assets/Scripts/Widgets/GrabWidget.cs#L824 was clutch, a call to the method that copies over the renderers was missing.
In tests, deselecting cloned stencil widgets works as expected with this change. I'd really like someone more familiar with TB to comment as some stuff still escapes me, for example the actual CloneInitialMaterials method
  protected void CloneInitialMaterials(GrabWidget other) {
    m_WidgetRenderers = GetComponentsInChildren<Renderer>();
    m_InitialMaterials = m_WidgetRenderers.ToDictionary(x => x, x => x.sharedMaterials);
    m_NewMaterials = m_WidgetRenderers.ToDictionary(x => x, x => x.materials);
  }

Takes the widget being cloned as argument other, but doesn't actually use that argument? Is this a highly magical C# syntax sugar I'm not privy to?

Is this a highly magical C# syntax sugar I'm not privy to?

I don't think there is a reference. It clones this. Best delete the parameter to avoid misuse/misunderstanding.


Add SUSD Token

Official announcement:
https://www.facebook.com/STAR-Secured-Tangible-Asset-Reserves-107270137533909/
https://www.linkedin.com/company/30877164/
Project team background:
Chew Lih Ren, Chief Executive Officer
Linkedin Profile:
https://www.linkedin.com/in/chew-lih-ren-ab25ab84/
Lynn Heng, Chief Technology Officer
Linkedin Profile:
https://www.linkedin.com/in/lynn-heng
En Shen, Chief Finance Officer
Linkedin Profile:
https://www.linkedin.com/in/en-shen-lew-13512419b/
Media publications:
Facebook : https://www.facebook.com/STAR-Secure-Tangible-Asset-Reserve-107270137533909/?tn-str=k*F
LinkedIn :https://www.linkedin.com/company/starsc/
Telegram: https://t.me/Starsecure
Project basic information:
Star Stable Coins (STAR) endorsed by World Digital Central Bank (WDCB), is a 1-1 asset backed stablecoins that is fully collaterized, legally protected and transparently verified by 3rd party attestations.
Tradeable exchanges: Nil
Recommended Gas Limit: 60,000

https://github.com/consenlabs/token-profile/pull/5586
Logo不符合要求（更换新Logo）

请提交完整的PR，旧的已经关闭。


binc_advertisement_set_rate?

For a peripheral (or central acting as a  peripheral), It looks like default is about 1 second, but I'd like to vary the advertisement rate under different conditions.
Does something like "binc_advertisement_set_rate". Worried it is buried in the DBus configs. Thanks.

Good suggestion. I have implemented support for it in ce8063da3d8dc16840bbba1367e803986db31b08:
Use binc_advertisement_set_interval(advertisement, 500, 500);
Up to version 5.77 this will require experimental features to be enabled in main.conf.


How to do asynchronous communication in lattice mode

Currently one can only do synchronous communication using call function. I was wondering if there is plan to provide asynchronous call feature. The use-case could be chain of actors's call such as A--> B --> C --> D ....--> Z. Actor A will be blocked till actor Z returns in case of a synchronous call.

There's a couple of types of functionality illustrated at the same time with your example. If A is blocked, and its an actor, then this is a synchronous call. Actors are single-threaded and as a result they cannot spawn a child thread or execution worker of any kind and asynchronously wait for work to complete. These synchronous calls also keep the actor's inbound work queue from moving. If A makes an asynchronous cast to B, then A can safely return to idle state and await an incoming message from anywhere, which could be a direct invocation from actor Z, or simply a message published to a topic, etc. But user code will not appear to be synchronous - you won't be able to have code that looks like await call(B)
I do have plans for an asynchronous actor call function, described here in this newly created issue - #72
So, while asynchronous calls are planned, they may not necessarily be what you're looking for in order to support a chain of blocking calls.

I was looking for the async call feature.

Yep, then you'll want to watch #72


Multi-polygon bringing in extra/redundant polygons?

Hi all,
I've been testing out reading in shapefiles with your library, to look at replacing another library that we currently use that doesn't handle text encoding very well (https://github.com/abfo/shapefile).
However, I've noticed that reading in multi-polygon shapefiles with your library, in a few examples, seems(?) to read in unexpected polygons.
I don't think I've described the issue very well, but below I've got 2 screen shots, rendering the shapefile in question, using the Microsoft Bing Map control, which hopefully showcases what I'm describing.
The first image is from the other shapefile library

The 2nd image is from your library, which has some additional polygons being read in and rendered.

I'm not overly familiar with shapefiles, so this may not be an issue with your library, but maybe with the shapefile itself(?), or it could be something that we need to handle ourselves, after we've read in the shapefiles?
I thought I would raise this, in case anyone had some ideas as to what would cause this, and whether it's something that could be fixed up somehow.
The Geometries are read in using: foreach (var feature in Shapefile.ReadAllFeatures(filePath)){ ... }
The Shapefile I used for this example:
Example Shape file.zip
Apologies if this isn't an issue,
Thanks in advance,
Emma

Hi @Em3a-c, more explanation will be needed here. I suppose, you are reading the Shapefile and then you are creating geometries for Bing Maps control, right? Can you provide the code that generates those geometries?
I checked the Shapefile with PostGIS and everything seems to be fine.
var geoms = features.Select(f => $"'{f.Geometry.ToText()}'::geometry \r\n");
var sql = "SELECT " + string.Join("UNION ALL SELECT ", geoms);

Hi @KubaSzostak,
The shapefiles are being read in with:
public IEnumerable<Geometry> GetShapeFileGeometries(string filePath)
{
    var geometries = new List<Geometry>();

    var opts = new ShapefileReaderOptions()
    {
        GeometryBuilderMode = GeometryBuilderMode.IgnoreInvalidShapes
    };

    foreach (var feature in Shapefile.ReadAllFeatures(filePath, opts))
    {
        if (feature.Geometry.IsValid)
        {
            geometries.Add(feature.Geometry);
        }
    }
    return geometries;
}

The geometries are used to create a collection of Microsoft.Maps.MapControl.WPF.MapShapeBase objects. I suspect that the logic here is not correct..
I've not included point/polyline creation, as these 'seem' to render ok.
class MapPolygonShapesFactory
{
    public IEnumerable<MapShapeBase> BuildShapes(IEnumerable<NetTopologySuite.Geometries.Geometry> geometries)
    {
        var mapShapes = new List<Microsoft.Maps.MapControl.WPF.MapShapeBase>();

        foreach (var geometry in geometries)
        {
            NetTopologySuite.Geometries.GeometryFactory factory = geometry.Factory;
            NetTopologySuite.Geometries.Coordinate[] coordinates = geometry.Coordinates;
            NetTopologySuite.Geometries.Point[] points = coordinates.Select(factory.CreatePoint).ToArray();

            if (points.Count() < 1) continue;

            var mapPolygon = new MapPolygon
            {
                Locations = CreateLocationCollection(points),
                Stroke = new SolidColorBrush(Colors.Black),
                Fill = new SolidColorBrush(Colors.Orange),
                StrokeThickness = 2
            };
            mapShapes.Add(mapPolygon);
        }

        return mapShapes.ToArray();
    }

    private LocationCollection CreateLocationCollection(Point[] points)
    {
        var locations = new LocationCollection();
        foreach (var point in points)
        {
            // For the Location construction, pass in point.Y for latitude and point.X for longitude.
            locations.Add(new Microsoft.Maps.MapControl.WPF.Location(point.Y, point.X));
        }
        return locations;
    }
}

This bit is probably not that important, but the collection of Microsoft.Maps.MapControl.WPF.MapShapeBase are then added to a Microsoft.Maps.MapControl.WPF.MapLayer in a viewmodel, i.e
public void AddShapesToMap(IEnumerable<MapShapeBase> shapes)
{
     var mapLayer = new MapLayer();

     foreach(var shape in shapes)
     {
         mapLayer.Children.Add(shape);
     }
     MapLayers.Add(mapLayer);
     MapLayers = new []{mapLayer};  // Only allow one map layer in this code snippet.
}

public MapLayer[] MapLayers{ get; set; }

// The Microsoft.Maps.MapControl.WPF.MapLayer is then bound to the Microsoft.Maps.MapControl.WPF.MapItemsControl in the view (xaml).
<m:Map ...>
<m:MapItemsControl ItemsSource="{Binding Path=MapLayers}"/>
</m:Map>
I suspect the problem is how I'm creating the MapShapeBase objects from the geometry coordinates..
Thanks alot for your help,
Emma

For MultiPolygons and/or Polygons with interior holes your transformation is not correct. You must not create all Coordinates of those geometries to build a MapShape  but use each component by itself:
public IEnumerable<MapShapeBase> BuildShapes(IEnumerable<NetTopologySuite.Geometries.Geometry> geometries)
{
    var mapShapes = new List<Microsoft.Maps.MapControl.WPF.MapShapeBase>();

    foreach (var geometry in geometries)
    {
        for (int i = 0; i < geometry.NumGeometries; i++) {
            var itm = geometry.GetGeometryN(i);
            if (!(itm is Polygon polygon)) continue;
            NetTopologySuite.Geometries.GeometryFactory factory = polygon.Factory;

            // outer shell
            NetTopologySuite.Geometries.Coordinate[] coordinates = polygon.ExteriorRing.Coordinates;
            /* transform steps for outer shell of wpf map polygon*/

            for (int j = 0; j < polygon.NumInteriorRings; j++) {
                coordinates = polygon.GetInteriorRingN(j).Coordinates;
                /* transform steps for inner hole of wpf map polygon*/
            }

            mapShapes.Add(mapPolygon);
        }
    }

    return mapShapes.ToArray();
}

I'll have to do some reading around ExteriorRing & GetInteriorRingN methods, and try to get a working solution. Thanks for your suggestions @FObermaier

Hi @Em3a-c, do you need more support on this issue? If so, provide further details, please.

Hi @KubaSzostak,
I haven't yet managed to get this working, having tried using the suggestion above from @FObermaier,
If no one else can reproduce this issue, then maybe it's worth closing this issue for now, and when I next get a chance, I'll look at this again, and see if I can get a working solution.
Thanks


Feature/yaml selections

resolves #2172
Description
This PR implements the advanced node selection syntax, mostly as described in #2172. I've made some changes to accommodate yaml syntax things, but I tried to keep with the spirit of the thing.
Here's a selectors.yml example file (taken from tests):
selectors:
  - name: views-or-foos-not-bars
    definition:
      union:
        - method: config.materialized
          value: view
        - tag: foo
        - exclude:
          - tag: bar

It defines a selector that is the all models materialized as views or tagged foo, except without any models tagged bar.
I didn't use hologram for parsing here - hologram (well, actually Python's type system) doesn't support recursive type definitions. Hologram also does a poor job of handling ambiguous specifications like this one: it's very hard to get hologram to support both the semi-arbitrary {'method': 'tag', 'value': 'foo'} spec and the fully-arbitrary-but-one-key {'tag': 'foo'} spec.
Selector definitions
There are 3 ways to define a simple selector:
definition:
  tag: foo

This parses to a list entry containing a dict like {'tag': 'foo'}. It's converted, but you can't use modifiers like @ or + here. We could add support for modifiers by examining the keys and values and taking any prefixes/suffixes, or more likely doing ':'.join([key, value]) and passing that in to the string parsing logic. The more I think about this, the more I think it would be good, if only for consistency with the next form.
We could also add support for exclude in this syntax if we wanted, though I think it makes the subtle distinction between tag: foo and tag:foo much more confusing.
definition:
  tag:foo

This parses to a string entry like 'tag:foo', which is then parsed like CLI arguments are. You can use modifiers like @ or + here, though yaml will want you to quote them: (- "@tag:foo")
definition:
  method: tag
  value: foo
  childrens_parents: true

This parses to a dictionary entry like {'method': 'tag', 'value': 'foo', 'childrens_parents': True}. This is what the string form is converted into, and then it goes down the same conversion route.
Combinations
Internally, this code still uses the same basic ideas introduced in previous PRs: You can combine values as unions, differences, and intersections of sets of selector definitions. The union and intersection combinations are themselves selector definitions, and can be used anywhere. Set differences are discussed below, but basically exclude can exist anywhere a selector definition could, or within a simple selector definition (which makes it... not so simple).
Only the third form of simple selector definition can be used with exclude. For example, to do what dbt run --exclude @tag:foo does:
- method: fqn
   value: "*"
   exclude:
   - "@tag:foo"

Of course, you can define a one-element union with exclusions if you prefer that syntax:
- union:
    - "fqn:*"
    - exclude:
      - "@tag:foo"

Set differences
The 'exclude' key is the only way to specify set differences. It accepts a list of definitions that are then unioned together. I could definitely be convinced that that's wrong and the value should instead be just a definition. My reasoning rests on the assertion that (at least in Python!) difference(a, union(b, c, d)) is the same as difference(a, b, c, d), which I feel reasonably confident about.
I think it'd be reasonable to add a difference key that acts as an explicit set difference. It would be its own value, as opposed to exclude, which I think of as modifying its parents: {method: 'fqn', value: '*', exclude: ['@tag:foo']} actually becomes difference("fqn:*", "@tag:foo").
Exclude syntax
The syntax isn't immensely satisfying to me, especially around exclude. Currently, a union with exclusions has exclude: as one of its elements. Does it make more sense for exclude: to live on the same level as union?:
name: my-selector
definition:
  union:
    - tag:foo
    - config.materialized: view
  exclude:
    - tag: bar

I don't feel like this is really better at all (I think the lack of indentation makes it hard to parse mentally at a glance), but I don't have great taste on this kind of thing.
Checklist

[X] I have signed the CLA
[X] I have run this code in development and it appears to resolve the stated issue
[X] This PR includes tests, or tests are not required/relevant for this PR
[X] I have updated the CHANGELOG.md and added information about my change to the "dbt next" section.

Can we make suggestions?
When executing a run using a --select, it would be nice if the logs printed the expanded version of that selector, i.e.
selectors:
  - name: my_selector
    definition:
      union:
        - method: tag
          value: something
          parents: true
        - exclude:
            - method: tag
              value: something_else

Would then print out something like:
dbt run --select my_selector
Running with dbt=0.18.0-rc1
Found 562 models, 578 tests, 8 snapshots, 177 analyses, 323 macros, 4 operations, 40 seed files, 198 sources

15:40:52 | Executing dbt run --models +tag:something --exclude tag:something_else
15:40:52 |
15:40:52 | Running 2 on-run-start hooks
...

@mlavoie-sm360 Suggestions very welcome! There's a separate open issue (https://github.com/fishtown-analytics/dbt/issues/2700) around making YAML selectors user-friendlier, specifically for better logging / errors. Would you mind posting your comment there so we don't lose track of it?


Fix owner list package

There's two fixes to this:

if a package doesn't exist we don't crash, but instead output Error listing owners of package PACKAGE: Entity not found (404) (where PACKAGE is the queried one),
if a package's owner doesn't have his email listed we don't crash[1]

[1] regarding this I don't know if 1. this is an Hex issue, that shouldn't return an empty e-mail field, an httpc issue (because the field is defined as nil) or a rebar3_hex issue, in which case the fix might be acceptable.

Most recent commit might just address both your comments at once. Lemme know.

@paulo-ferraz-oliveira I believe they do. Build is failing for some reason (not circle-ci)

Lemme check this.

Thanks much.


add clearAsyncError feature

Clear async error by field name. Description: https://github.com/erikras/redux-form/issues/2214

https://github.com/erikras/redux-form/issues/2214

Current coverage is 99.82% (diff: 50.00%)

Merging #2213 into master will decrease coverage by 0.17%

@@           master      #2213   diff @@
========================================
  Files          58         58
  Lines        1148       1152     +4
  Methods         0          0
  Messages        0          0
  Branches        0          0
========================================
+ Hits         1148       1150     +2
- Misses          0          2     +2
  Partials        0          0

Powered by Codecov. Last update 37adcbe...bc3c7f7

I don't understand what this means... 😕

npm run test:cov
Open coverage/lcov-report/index.html
Add tests that will run through code in the lines that are not currently covered

Does that help?

@erikras updated!

I would like to use similar for syncErrors, could you add this or shall i do separate pull request?

@Mottoweb I think that you can send it in a separated pull request. 😄

Published in v6.3.1.


update: add accessor for field type in ExtractRequest

Signed-off-by: Jason Dellaluce<EMAIL_ADDRESS>What type of PR is this?
/kind design
/kind feature
Any specific area of the project related to this PR?
/area plugin-sdk
What this PR does / why we need it:
This adds the FieldType() accessor to the sdk.ExtractRequest interface. This is useful in field extraction to implement type-based reasoning and to potentially achieve better performance.
Without this accessor, plugin developers need to maintain knowledge about the type of each supported field across multiple code parts, which leads to a more verbose and dirty codebase.
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jasondellaluce
To complete the pull request process, please assign leogr after the PR has been reviewed.
You can assign the PR to them by writing /assign @leogr in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @jasondellaluce. Thanks for your PR.
I'm waiting for a falcosecurity member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 244c63be198e1a76c2d9951a5af85220eb2deebf


Create guide to document Vault usage with Secrets Manager

Do you know how this will show-up in the Terraform Registry?
Is this the standard location (docs/guides) for` such guides in terraform documentation?

Yes, this is the standard location for Guides, I followed the documentation here: https://developer.hashicorp.com/terraform/registry/providers/docs#format

Closes #270


Release updated conda package for 16.39.0

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

ℹ License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12519948449. Examine the logs at this URL for more detail.

Hi! This is the friendly conda-forge automerge bot!
I considered the following status checks when analyzing this PR:

linter: passed
travis: passed
azure: passed

Thus the PR was passing and merged! Have a great day!


[docs] Removes redundant start command

The Problem/Issue/Bug:
With changes in 1.21.4, the process of installing Craft has been simplified. Most of the significant/required changes have already been applied to the installation instructions—this is just a redundant piece that we'd like to remove, to bring the DDEV quick-start into alignment with the official documentation (see https://github.com/craftcms/docs/pull/455).
How this PR Solves The Problem:
The ddev start command is no longer required, thanks to some improvements to how Composer commands are handled.
Manual Testing Instructions:
—
Automated Testing Overview:
—
Related Issue Link(s):

https://github.com/drud/ddev/issues/4477
https://github.com/craftcms/docs/pull/450
https://github.com/drud/ddev/pull/4340

Release/Deployment notes:
This is a docs-only PR, and does not change DDEV functionality.

Getting stale, happy to continue the conversation here or elsewhere, but closing for now.


Build failed for --flavor=sdl-hercules

On a Raspberry Pi 5, I attempted to build Sdl Hercules Develop branch with the current hercules-helper script.
tn529@ArmDev5:~$ git clone https://github.com/wrljet/hercules-helper.git
Cloning into 'hercules-helper'...
remote: Enumerating objects: 1525, done.
remote: Counting objects: 100% (216/216), done.
remote: Compressing objects: 100% (88/88), done.
remote: Total 1525 (delta 142), reused 191 (delta 124), pack-reused 1309 (from 1)
Receiving objects: 100% (1525/1525), 1.39 MiB | 10.31 MiB/s, done.
Resolving deltas: 100% (1003/1003), done.
tn529@ArmDev5:~$ mkdir dev/helper-develop
tn529@ArmDev5:~$ cd dev/helper-develop/
tn529@ArmDev5:~/dev/helper-develop$ ~/hercules-helper/hercules-buildall.sh --flavor=sdl-hercules
Using logfile: hercules-buildall-2024-09-05.log

but the build failed with:
  CCLD     libhercs.la
/usr/bin/ld: cannot find -lcrypto64: No such file or directory
/usr/bin/ld: cannot find -ldecNumber64: No such file or directory
/usr/bin/ld: cannot find -lSoftFloat64: No such file or directory
/usr/bin/ld: cannot find -ltelnet64: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:2254: libhercs.la] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/devstor/helper-develop/hyperion/build'
make[1]: *** [Makefile:2689: all-recursive] Error 1
make[1]: Leaving directory '/devstor/helper-develop/hyperion/build'
make: *** [Makefile:2007: all] Error 2

real    2m33.409s
user    8m2.444s
sys     0m54.510s
[[ error: ]] Make failed!
finish() called, exit status = 1

Here are the log files:
hercules-buildall-2024-09-05.log
extra-info-2024-09-05.log
build-commands-2024-09-05.log
I suspect that SDL Hercules commits:
https://github.com/SDL-Hercules-390/hyperion/commit/9631b9271321599dbb189eca1c935238637a19c5
https://github.com/SDL-Hercules-390/hyperion/commit/1b955f4b035a0bb71fc712cd7b849d643c2a48e1
are related to the issue.
Thanks,
Jim

Jim,
Yes, the recently-added mistake in SDL Hercules https://github.com/SDL-Hercules-390/hyperion/commit/1b955f4b035a0bb71fc712cd7b849d643c2a48e1 is causing your issue.
I'm working with Fish and Enrico now to get it corrected.  Should be checked in tomorrow I'd guess.
Bill

Should now be fixed in SDL Hercules, by commit https://github.com/SDL-Hercules-390/hyperion/commit/30e4b08907fadc1add72ff3267b4958a01d76d48
Bill

Bill,
On the Raspberry PI 5 (ARMBIAN JAMMY Linux), ~/hercules-helper/hercules-buildall.sh --flavor=sdl-hercules --auto still fails:
 ~/hercules-helper/hercules-buildall.sh --flavor=sdl-hercules --auto
Using logfile: hercules-buildall-2024-09-09.log
Creating build cmds file: /home/tn529/dev/helper-develop/build-commands-2024-09-09.log
Creating extra diagnostic info file: /home/tn529/dev/helper-develop/extra-info-2024-09-09.log
Script version: /home/tn529/hercules-helper/hercules-buildall.sh: v0.9.14-115-gfc94cfb

Config file: /home/tn529/hercules-helper/sdl-hyperion.conf

with
CCLD     libhercs.la
/usr/bin/ld: cannot find -lcrypto64: No such file or directory
/usr/bin/ld: cannot find -ldecNumber64: No such file or directory
/usr/bin/ld: cannot find -lSoftFloat64: No such file or directory
/usr/bin/ld: cannot find -ltelnet64: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:2254: libhercs.la] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/devstor/helper-develop/hyperion/build'
make[1]: *** [Makefile:2689: all-recursive] Error 1
make[1]: Leaving directory '/devstor/helper-develop/hyperion/build'
make: *** [Makefile:2007: all] Error 2

real    2m33.728s
user    8m6.126s
sys     0m53.514s
[[ error: ]] Make failed!
finish() called, exit status = 1

Here are the logs:
hercules-buildall-2024-09-09.log
extra-info-2024-09-09.log
build-commands-2024-09-09.log
Also I'm attaching ./hyperion/build/Makefile and 'make diagnostic'
Makefile.txt
make.diagnostic.txt
to help analyzing the problem.
$LDFLAGS from the 'makefile diagnostics'  looks strange
$LDFLAGS            -Wl,--warn-common -L/home/tn529/dev/helper-develop/extpkgs/lib -L/home/tn529/dev/helper-develop/extpkgs/lib-L/home/tn529/dev/helper-develop/extpkgs/lib -L/home/tn529/dev/helper-develop/extpkgs/lib
Missing a space between 2nd and 3rd -L parameters. In the Makefile, the 2nd parameter has a trailing '$'.
To get a build, I have to update Makefile; add '/aarch64' to a -L parameter and remove the '$'.
Hope this helps,
Jim

Fish must have goofed up the diff.
I'll rerun it here and yell at him.

Jim,
OK, Fish forgot to run autogen.sh before checking all that in.  So the actual configure script is not the new one.
You can add --autogen to the Hercules-Helper command line and it'll do that step before running configure.
I've tested that here on a Pi 4.
Bill

Bill,
With --autogen,  the install completed successfully!
Thank you for all your help and time,
Jim,

You're very welcome!
Bill

Bill,
I'm closing the issue as it has been resolved!
Jim


bot tests: Created tests for Merels

This PR improves test coverage from 0% to 98%.
This PR directly tackles issue #433

Just in case anyone want's to continue to work on this error, the tests which I wrote work locally and provide a line coverage of 98%. Travis CI is failing on merels/libraries/game_data.py and merels/libraries/mechanics.py because these files have circular imports with one another. I tried doing a bit of research and implementing changes to no avail.

@NealMatta: I've run into this before, here's a quick suggested fix (which should work):
I would take a look at the function or block that is causing the error and move the offending import statement there. Usually, circular import errors can be fixed that way, but it is only a quick fix. A better fix would be to remove the circular dependency altogether! :) Thanks!


It's difficult to handle a timeout from rs2::pipeline::wait_for_frames

Required Info

Camera Model
D435

Firmware Version
(issue not related to specific device)

Operating System & Version
MacOS

Platform
Macbook Pro

SDK Version
<IP_ADDRESS> }

Language
C++

Segment
Others

I'm trying to use the rs2::pipeline framework in my app.
It seems like the most suitable way to use it without blocking any UI is to have a dedicated thread that calls the pipeline::wait_for_frames in a loop.
I don't want to use the default timeout of 5 seconds because I don't want the thread to block for that much time. I'd like the app to be able to set a flag which will cause the loop to exit and the thread to terminate cleanly, and waiting 5 seconds for the loop to exit is too much.
So timeouts are pretty frequent, which is fine.
The problem is, when frames are not available within the allowed time, the RealSense2 SDK is throwing a std::runtime_error object with an error message saying the frame didn't arrive in time.
This timeout indication is both awkward to detect and expensive in runtime.
Would it be possible to add a function that looks something like:
bool try_wait_for_frames(int milliseconds)
So that when a timeout occurs a false value would be returned instead of an exception being thrown? Returning false seems to be a very common way for many APIs to indicate the waiting function returned because of a timeout.
While on that note, is there a better way to continuously pull frames without a busy loop? What I'm aiming for is any kind of asynchronous programming model that would utilize completion ports and invoke the user's callback when frames are ready, instead of blocking the thread.
Thanks

Hi @ranrav
Thank you for the feedback, we agree with what you are saying and a fix is already on the way (you can follow #1844 for more information)

[Realsense Customer Engineering Team Comment]
@ranrav,
The feature has been implemented and merged into development branch, please refer to the PR attached :
https://github.com/IntelRealSense/librealsense/pull/2055
Please let me know if this solves your issue, thank you.

Suggested new API is now part of 2.14.0


GPU support

It’s possible to make the webui and the container work with a version of llama that use gpu ?

Here's hoping. Consumers would only be able to use 8/12 GB's of VRAM though.

This would be something to ask the llama.cpp team, until they don't add support for GPU's we can't add it to Serge.

This would be something to ask the llama.cpp team, until they don't add support for GPU's we can't add it to Serge.

It seems it's now officially supported https://github.com/ggerganov/llama.cpp/pull/1827

This would be something to ask the llama.cpp team, until they don't add support for GPU's we can't add it to Serge.

It seems it's now officially supported ggerganov/llama.cpp#1827

That's a draft, it's not merged/released yet

@gaby
I'm not familiar with this project but I saw this issue mentioned in the llama.cpp pull request. llama.cpp already has cuBLAS and CLBlast support in the master branch. The PR mentioned above improves performance for GPUs with CUDA.
Check out the docs where they mention building with LLAMA_OPENBLAS and LLAMA_CUBLAS enabled for more information.

Seems this issue should be open


feat(core): BrowserAnimationsModule better coverage #1377

v13.4.0 has been released and contains a fix for the issue. Feel free to reopen the issue or to submit a new one if you meet any problems.


Convert the procedure into a global functions in codeunit "Purch. Price Calc. Mgt."

Describe the request
Dear team,
Could you please help turning these procedures IsInMinQty, ConvertPriceToVAT, ConvertPriceToUoM, PurchHeaderExchDate, PurchHeaderStartDate to global fucntion?
Additional context
I would like to call these functions outside the codeunit.
Thank you for your considering and effort.
Internal work item: AB#543727

Hello @GiangLNT56
The codeunit 7010 "Purch. Price Calc. Mgt." is deprecated so this kind of changes are not allowed


Fix pause reason for debugger statement

The only way to tell the difference between "debugger" and a step is to keep track of whether the user asked to step.

Tests issues are flakes or Windows problems with the new webpack tests. Unrelated to this PR and fixed in #118


pre-install: General fixes in pre-install scripts

This PR adds general fixes in the pre-install scripts like removing tab spaces where they are not needed as well as improving the definition of the variables.

Thanks @GabyCT, this improves the situation somehow. There is still a room for improvement, though. If you had some time I'd recommended using shellcheck to check the files (not saying it must pass with not failures, but it should help identifying the most obvious ones).
Still as I mentioned, it's definitely better than before so it can be merged as is and perhaps in the future someone can continue.
PS: I'm a big fan of yours style fixes, thank you for them :-)

@ldoktor thanks for all the feedback, I just use it the shellchek tool thanks

@ldoktor changes applied thanks


Workload Identity not working for k8s jobs

Describe the bug
When using azure workload identity, the pods for a k8s Job do not have the required AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILE, AZURE_AUTHORITY_HOST and /var/run/secrets/azure/tokens mount in the pod from a Job spec.
Steps To Reproduce
setup a cluster with workload identity, deploy a k8s Job, look at the environment for the pods.
Expected behavior
Appropriate and valid AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_FEDERATED_TOKEN_FILE, AZURE_AUTHORITY_HOST and /var/run/secrets/azure/tokens mount must be set on the pods controlled by k8s Jobs.
Logs
N/A
Environment

Kubernetes version (use kubectl version): 1.22.15
Cloud provider or hardware configuration: AKS
OS (e.g: cat /etc/os-release): N/A
Kernel (e.g. uname -a): N/A
Install tools: Azure Portal

Have you added the required label for the pod (ref: https://azure.github.io/azure-workload-identity/docs/topics/service-account-labels-and-annotations.html#pod)
Have you annotated the service account used by the pod with the client id?
What version of the webhook are you using?
Please share the job and service account yaml.

I solved the issue by using the correct serviceaccount


Status changes to "Unused" when the Segment details page is refreshed

Version where bug was found:
5.1.5
Describe the bug
The status changes to "Unused" when the Segment details page is refreshed.
To Reproduce
Steps to reproduce the behavior:

Go to the Segment details page of a segment with either "Used" or "Global" status.
Refresh the page.
Observe that the status has changed to "Unused".

Expected behavior
The status should remain unchanged after the page is refreshed.
Screenshots

@danoswaltCL Should we close this if this works fine in the dev branch? I believe you fixed this issue.

I have created a PR for it. Please review it - #1586

seems old, but QA'd again and passed


Adding Watermark Feature: Allow Adding Watermark Widgets to Videos

Changes Made:
Added a new watermark feature that allows users to add watermark widgets to videos.
Extended the existing classes to accommodate watermark rendering and positioning.
How to Use:
simply any one can add a watermark like that:
_chewieController!.watermark = const Center(child: Text("Hello Watermark Widget",style: TextStyle(color: Colors.white),));
Benefits:
Sometimes the requirements of the application require some security for the video and knowing a specific sign indicating the source of the video leak
It is just to increase safety
Thanks for your time and support
Best regards,
Amr Hassan

Thank you for your PR, @amrhassann.
Quick question, is there any reason why you can't use ChewieController.overlay to achieve the same thing?
That's why it's there, so that your watermark can sit between the video and the controls.


Why inline styles are uppercase and other operations are lowercase

Was wondering why the inline commands are on the format UNDERLINE BOLD ITALIC and the blockmode operations are header-one, header-two.
Would be great if we could use them either on a consistent way or case insensitive.

Great question. This is due to refactoring over time, and is not intentional. Personally, I prefer the lowercase values.

@hellendag How about we refactor the codebase to put everything lowercase, but still allow case insensitive to avoid breaking changes ?

we could also somehow mark as deprecated the usage of upper-case commands

@mitermayer That sounds good to me.

having a look on this issue now, the problem that we have is that in order to have backwards support we would need to do a bunch of toLowerCase() in many different places since we don't yet have a centralized reference for inlineStyles matching. I wonder if we want to still proceed with backwards compatibility in this regards or we can just lower case everything else internally. @hellendag

Closing this for now


Release config - Keep best IV and release below params

Expected Behavior
I would like to keep one best pokemon based on their IV unless they have more than 1200CP and 0.9 IV, in that case I want to keep them all.
Actual Behavior
It does work actually but I have some logging errors :
2016-08-07 14:02:26,712 [TransferPokemon] [INFO] [keep_best_release] Keeping best 1 Vaporeon, based on iv
2016-08-07 14:02:27,316 [MoveToFort] [INFO] [moving_to_fort] Moving towards pokestop Carol P. Johnson Memorial - 0.18km
2016-08-07 14:02:34,899 [TransferPokemon] [INFO] [keep_best_release] Keeping best 1 Vaporeon, based on iv
2016-08-07 14:02:35,433 [MoveToFort] [INFO] [moving_to_fort] Moving towards pokestop Carol P. Johnson Memorial - 0.17km
2016-08-07 14:02:43,713 [TransferPokemon] [INFO] [keep_best_release] Keeping best 1 Vaporeon, based on iv
2016-08-07 14:02:44,255 [MoveToFort] [INFO] [moving_to_fort] Moving towards pokestop Carol P. Johnson Memorial - 0.16km
2016-08-07 14:02:52,431 [TransferPokemon] [INFO] [keep_best_release] Keeping best 1 Vaporeon, based on iv
2016-08-07 14:02:53,020 [MoveToFort] [INFO] [moving_to_fort] Moving towards pokestop Carol P. Johnson Memorial - 0.15km
2016-08-07 14:03:00,815 [TransferPokemon] [INFO] [keep_best_release] Keeping best 1 Vaporeon, based on iv
2016-08-07 14:03:01,340 [MoveToFort] [INFO] [moving_to_fort] Moving towards pokestop Carol P. Johnson Memorial - 0.14km
2016-08-07 14:03:09,565 [TransferPokemon] [INFO] [keep_best_release] Keeping best 1 Vaporeon, based on iv
2016-08-07 14:03:10,138 [MoveToFort] [INFO] [moving_to_fort] Moving towards pokestop Carol P. Johnson Memorial - 0.13km
2016-08-07 14:03:17,495 [TransferPokemon] [INFO] [keep_best_release] Keeping best 1 Vaporeon, based on iv

Steps to Reproduce
This is my config, I guess it's not what is expected, but I don't know how to write it then :
"release": {
      "any": {"keep_best_iv": 1, "release_below_iv": 0.9, "release_below_cp": 1200, "logic": "or"}
}

Other Information
OS: Mac OS X
Git Commit: d5bb09fd758e779b8eee859d8374f0d198e58abb
Python Version: 2.7

"release": {
  "any": {"release_below_cp": 1600, "release_below_iv": 0.9, "logic": "and", "keep_best_cp": 1 },
}

Tried it (with the keep_best_iv and 1200 CP), still logging me the "Keeping best 1 Vaporeon, based on iv" every move ...

Fixed in https://github.com/PokemonGoF/PokemonGo-Bot/pull/3223


Problem with Delete/update records at child object

when I try to delete a record i get the message: "
Validation Errors While Saving Record(s)
There were custom validation error(s) encountered while saving the affected record(s). The first validation error encountered was "Apex trigger dlrs_TransactionTrigger caused an unexpected exception, contact your administrator: dlrs_TransactionTrigger: execution of AfterDelete caused by: System.UnexpectedException: field 'Account_ID__c' can not be grouped in a query call: Class.dlrs.LREngine.QueryExecutor.query: line 662, column 1"."
same as when I try to update a record

Hi there. I'm experiencing the same issue as above.  I've checked that my fields are accurate, here are is the error I'm getting.
Error: Invalid Data.
Review all error messages below to correct your data.
Apex trigger dlrs_Unique_Selling_ConversationTrigger caused an unexpected exception, contact your administrator: dlrs_Unique_Selling_ConversationTrigger: execution of AfterInsert caused by: System.SObjectException: Illegal assignment from Integer to String: Class.dlrs.LREngine.rollUp: line 263, column 1
I've checked that my fields are accurate, but I was hoping you could help point me in the right direction.  Thanks.

Sounds like the field you are rolling into is a string field.

Thank you @DanDonin that worked!


Failing unit test (intermittent)

Description
Failing test:
$ bundle exec toys test
Run options: --seed 57303

# Running:

.............................................................................E.................................................................................................................................................................................................................................................

Finished in 14.287830s, 22.3267 runs/s, 152.9274 assertions/s.

  1) Error:
TestBase#test_quotes_crawler:
NoMethodError: undefined method `zip' for nil:NilClass
    test/test_base.rb:15:in `parse'
    lib/wgit/base.rb:24:in `block in run'
    lib/wgit/crawler.rb:200:in `crawl_url'
    lib/wgit/crawler.rb:118:in `crawl_site'
    lib/wgit/dsl.rb:143:in `block in crawl_site'
    lib/wgit/dsl.rb:142:in `each'
    lib/wgit/dsl.rb:142:in `reduce'
    lib/wgit/dsl.rb:142:in `crawl_site'
    lib/wgit/base.rb:24:in `run'
    test/test_base.rb:67:in `test_quotes_crawler'

319 runs, 2185 assertions, 0 failures, 1 errors, 0 skips

Focus on failing tests:
mtest test/test_base.rb:65
[2023-10-06 13:20:11 ERROR]  Minitest failed!

Reproduce
Steps to reproduce the behavior:

Run bundle exec toys test a few times and it will eventually show up (probably 1 in 5 test runs).

Expected Behavior
The test passes every time. All tests passing every time.
Possible Solutions

There could be an issue/bug in the Wgit code which'll need fixed.
Or there could be an issue with the test/README example, which'll need updated in both places (tests and README) if changed.

Tests
What tests would prove this bug is fixed?

TestBase#test_quotes_crawler

Another intermittent failing unit test is this one, doesn't appear connected to the test above:
$ bundle exec toys test
Run options: --seed 29550

# Running:

...............................F..................................................................................................................................................................................................................................................................................................................................

Finished in 14.205508s, 24.9199 runs/s, 169.8637 assertions/s.

  1) Failure:
TestDatabase#test_bulk_upsert__docs [test/test_database.rb:225]:
Expected: 3
  Actual: 4

354 runs, 2413 assertions, 1 failures, 0 errors, 0 skips

Focus on failing tests:
mtest test/test_database.rb:208
[2023-11-10 13:06:31 ERROR]  Minitest failed!

Also needs fixed along with the above test failure.


Fix: No colors when using --watch

fix  #2591

All changed packages have been documented!

You can try these changes at https://cadlplayground.z22.web.core.windows.net/prs/2886/
Check the website changes at https://tspwebsitepr.z22.web.core.windows.net/prs/2886/


Error messages (40)

The following JSON snippet contains a syntax error: A closing curly bracket is missing.
"file_name" : "test",
"[import]" : "./dynamic_imports/${file_name.jsonp"

Result:
Invalid expression found: '... /dynamic_imports/${file_name.jsonp' - The double quotes are missing!
That's wrong. Expected is a syntax error about a missing curly bracket.
Cross check:
"param" : "${dictParam"
Result: Error detected properly
Invalid syntax! One or more than one closed curly bracket is missing in expression '${dictParam'.
But if I add content inside the quotes:
"param" : "./${dictParam"
again the error message is wrong:
Invalid expression found: './${dictParam' - The double quotes are missing!!!

JPP_1156

Error message changed to:
Could not load the import file './dynamic_imports/${AA/imported.AA.jsonp'. The parameter '' is not available!
But every '${' requires a corresponding '}'. This is not detected.

Retest successful. Issue can be closed.


Research Existing Contemporary libraries to get some design insights

Good libraries to look at?
https://github.com/great-expectations/great_expectations/tree/develop/great_expectations


update zh trans for concepts/services-networking/service.md

Update zh docs for release-1.18
See diff between release-1.17 and 1.18:
git diff release-1.17 release-1.18 content/en/docs/concepts/services-networking/service.md

/lgtm
/approve


FFI::NotFoundError (vips 8.3.3)

$ gem which vips
/home/zverok/.rvm/gems/ruby-2.3.3/gems/ruby-vips-2.0.3/lib/vips.rb
$ vips -v
vips-8.3.3-Thu Aug 18 19:23:54 UTC 2016
$ irb -rvips
/home/zverok/.rvm/gems/ruby-2.3.3/gems/ffi-1.9.18/lib/ffi/library.rb:275:in `attach_function':FFI::NotFoundError: Function 'vips_image_get_fields' not found in [libvips.so]

:(

Ooops, OK, that function was added in libvips 8.5.
I'll add a test. Thanks for reporting this dumbness!

:+1:
Playing a lot with ruby graphics (1, 2, 3), I am really tired of RMagick and can't wait for playing with this new shiny thing :)

OK, new version pushed. Thanks again for the report.
I noticed another issue with older libvips: it's not reporting enums as symbols. With libvips 8.5, you see:
>>> image.format
:uchar

But with 8.4 it's coming out as an int. I'll see if I can fix this, but it might be better to update to 8.5 in the meantime if you can .

issue for the enum problem https://github.com/jcupitt/ruby-vips/issues/129

I'll see if I can fix this, but it might be better to update to 8.5 in the meantime if you can.

Latest Ubuntu stable package is 8.3.3, and I at the moment am not ready to compile libvips myself ¯\_(ツ)_/¯

OK, I'll test with 8.3 too.

I've pushed 2.0.5, it should fix the enums. Works with 8.3 - 8.6, it should work with 8.2 as well.

Thanks! Works now!

I like your image processing experiments. libvips can't write gifs, so you'd need to make them as a set of frames and later assemble as video with magick or mencoder (I guess).
You can do the warping with mapim, this has an example:
https://github.com/jcupitt/ruby-vips/blob/master/example/wobble.rb
It makes this:
http://2.bp.blogspot.com/-_ZipOkEp-XM/Vk9W9UaydvI/AAAAAAAAAvY/Hax_kKfIz2g/s1600/x.jpg
Some background:
http://libvips.blogspot.co.uk/2015/11/fancy-transforms.html

(that blog post is in Python, of course, but the Ruby one is almost the same)


question about gaussian smoother

smoother-->regression_basis.gaussian_kernel(line 119),
is it should be "X_base = - np.square(X[:, None] - knots) / (2 * sigma ** 2)" ?

Hi, this behavior is intentional. If u want sigma ** 2 pass sigma ** 2 to GaussianSmoother.
If u support the project don't forget to leave a star ;-)


💚 fix CI

TL;DR
This change is about updating the paths used in the backend-release.yaml workflow file to call reusable workflows for building the backend executable on different platforms.
What changed?
The paths previously pointed to the same directory, but now they point to the parent directory, indicating that the reusable workflows' location might have been changed.
How to test?
Ensure that the CI/CD pipeline runs correctly without errors related to the path changes applied in this PR. Verify that the backend is being built correctly on all specified platforms.
Why make this change?
This change ensures that the project's CI/CD workflow uses the correct paths to reusable workflows. This is imperative for the smooth execution of the CI/CD pipeline tasks and the successful build of the backend executable on different platforms.

#134
#133  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @mingi3314 and the rest of your teammates on  Graphite

Merge activity

May 19, 5:42 AM EDT: @mingi3314 started a stack merge that includes this pull request via Graphite.


add job to build all for specific branches

This PR adds build jobs for the remaining parts of the build matrix for push events to develop
Here is an example of what it would look like: https://github.com/trufflesuite/ganache-core/actions/runs/497178739

@davidmurdoch This is ready for review now

@davidmurdoch This is ready for review now


Override phpcs args

Hi,
Is it possible to override the args settings for phpcs?
from
args = {'--standard=PSR2', '--report=emacs', '-s', '-'},
to
args = {'--standard=PSR12'}

Hey, It's part of my TODO which I plan to tackle today or tomorrow given my free time 🙂
ATM you should be able to override the setting with a phpcs.xml file in your project. Let me know if that works for you. I could do a quick patch to remove --standard is that take priority vs the phpcs.xml file

Cool, I added a phpcs.xml file with rules regarding PSR12 but I cannot see them on the respective files inside nvim. There is no diagnostic showing up.
This is my setup
  on_attach = on_attach
}

local phpcs = require 'diagnosticls-configs.linters.phpcs'
require 'diagnosticls-configs'.setup {
  ['php'] = {
    linter = phpcs,
  },
}
EOF```

I might be missing something.

How does your phpcs.xml file look?
May want to check what the output is in the terminal as well with:
phpcs --report=emacs -s <file>

Either way I'll look into implementing a way to pass custom arguments to the linters/formatters

In addition to that, it's possible to extend the config as well, not sure why it didn't come up on my mind until now. But you could do something like the following to override the args key:
local phpcs = require 'diagnosticls-configs.linters.phpcs'

phpcs = vim.tbl_extend('force', phpcs, {
  args = {'--standard=PSR12', '--report=emacs', '-s', '-'},
})

require 'diagnosticls-configs'.setup {
  ['php'] = {
    linter = phpcs,
  },
}

Nice, that would work!
Although I cannot see the diagnostic inside the file.
Running on terminal,

Then inside nvim I would expect to be like this,

Am I right?

Are you sure it's not working? From the screenshot you provided, looks like you are calling phpcs from ~/.composer directory, is that already in your $PATH? Because it should be, else it will look for phpcs in the vendor/bin/phpcs located in your project directory.

I've tried it in my Laravel project and seems like it works. (The classic "works on my machine")
Here is my phpcs.xml
<?xml version="1.0"?>
<ruleset name="Project Standard">
    <rule ref="PSR12" />

    <file>app</file>
    <file>bootstrap</file>
    <file>config</file>
    <file>database</file>
    <file>resources</file>
    <file>routes</file>
    <file>tests</file>

    <exclude-pattern>bootstrap/cache/*</exclude-pattern>
    <exclude-pattern>bootstrap/autoload.php</exclude-pattern>
    <exclude-pattern>*/migrations/*</exclude-pattern>
    <exclude-pattern>*/seeds/*</exclude-pattern>
    <exclude-pattern>*.blade.php</exclude-pattern>
    <exclude-pattern>*.js</exclude-pattern>

    <arg value="p"/>
</ruleset>

And I have attached without the PSR12 standard so it will be picked up by the phpcs.xml file:
-- init.lua
local phpcs = require('diagnosticls-configs.linters.phpcs')
phpcs = vim.tbl_extend('force', phpcs, {
  args = {'--report=emacs', '-s', '-'}
})

Here is the screenshot with the error:

Hi, you were right I think I didn't have it on my path for some reason. Anyway, it seems to be working now.
You can close this topic, good job!


feat: additional domestic rules

Added new endpoint /domesticrules.
The rules are loaded from the vault.

trust material has been revoked.

Closed because development continues in feat/third-endpoint


light rail?

Hello,
Thank you for you card add-on, it's really nice!
any chance you could add support for light rail by any chance?
TIA

Thanks!
Light rail already working.
insead of putting R1, just put 1
isLocal: false
type: custom:silent-bus
station: 36496
busLines:

1
in the future i will make the card look better for light rail


Add C++ and CLI documentation for prepared statements

Small addition to add examples of prepared syntax in the CLI and C++ API.

Thanks for the PR, looks good to me!


I made simple 2.5D space shooter game using entt

Hey,
I made basic 2.5D space shooter using entt and opengl in 2 weeks as home assignment and I would be very happy if it can be added to "EnTT in Action" wiki section of course if it is good enough.
link: https://github.com/kwarkGorny/3DGame

Great, you've also used the forward headers! Finally someone noticed them.
You deserve a mention. Thanks for sharing. 😉

Updated the wiki.


Testing spring data cosmos test against azure-cosmos current version

Testing spring data cosmos against azure-cosmos current version
Improve closing test clients
Deploy only spring cosmos test resources on spring-data-cosmos live integration tests run

/azp run java - cosmos - ci

API change check
API changes are not detected in this pull request.

/azp run java - cosmos - tests

/check-enforcer override


How it works?

It lacks a technical description of how it works and what it uses to connect two users.

I considered writing a technical explanation, but then I decided not to because I thought no one would care. Now that I know that someone does, I'll write one.


Improve Popover trigger

The Popover trigger prop should be a ReactElement and not a ReactNode. This will improve performance.

This will be addressed in #932


Fix WFCORE-899 Stop-servers incorrectly handles timeout

Linux Build 2443 is now running using a merge of 6ab0f944ebfeeeeb3517b0330e02c22a2a59c7cb

Linux Build 2443 outcome was SUCCESS using a merge of 6ab0f944ebfeeeeb3517b0330e02c22a2a59c7cb
Summary: Tests passed: 3403, ignored: 64 Build time: 00:36:52

WildFly pull requests Build 1867 outcome was SUCCESS using a merge of 6ab0f944ebfeeeeb3517b0330e02c22a2a59c7cb
Summary: Running Build time: 00:00:01


App Variables Tab: Split variables out into their CF defined buckets

Fixes #2708
Also improve output of STRATOS_PROJECT in code block by parsing string as object

LGTM


CUDA initialization: Found no NVIDIA driver on your system

Hi, I am sorry. I write here because of the error I am having may be due to requirements. I am running the whole segmentation and after the trials in coronal, axial, sagittal the process stops and it says it does not recognize the original MRI. The error above that is:
/home/osboxes/anaconda3/lib/python3.8/site-packages/torch/cuda/init.py:52: UserWarning: CUDA initialization: Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from http://www.nvidia.com/Download/index.aspx (Triggered internally at  /pytorch/c10/cuda/CUDAFunctions.cpp:100.)
return torch._C._cuda_getDeviceCount() > 0
Is there a specific NVIDIA I have to download and install? I am running fastsurfer on a linux on a Ubuntu. Thank you so much for any info you can give me!
Originally posted by @SaraRomanella in https://github.com/Deep-MI/FastSurfer/issues/18#issuecomment-735642306

Hey Sara,
in order to run pytorch on your system you would need a working NVIDIA driver on your machine. That is basically the only thing you need to preinstall. CUDA and cuDNN will be installed via the prebuild binaries in both pip or conda. Here, you only need to make sure that the NVIDIA driver on your system supports the selected CUDA version.
You can check which NVIDIA-driver you have installed by running
nvidia-smi

which will give an output similar to this:
Mon Nov 30 10:48:15 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.80.02    Driver Version: 450.80.02                               |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 970     Off  | 00000000:01:00.0  On |                  N/A |
|  0%   44C    P5    18W / 200W |    273MiB /  4039MiB |      1%      Default |
|                               |                      |                  N/A

And here is an overview which drivers support which CUDA version:

CUDA Toolkit
Linux x86_64 Driver Version

CUDA 11.1 (11.1.0)
>= 450.80.02

CUDA 11.0 (11.0.3)
>= 450.36.06

CUDA 10.2 (10.2.89)
>= 440.33

CUDA 10.1 (10.1.105)
>= 418.39

CUDA 10.0 (10.0.130)
>= 410.48

CUDA 9.2 (9.2.88)
>= 396.26

CUDA 9.1 (9.1.85)
>= 390.46

CUDA 9.0 (9.0.76)
>= 384.81

CUDA 8.0 (8.0.61 GA2)
>= 375.26

CUDA 8.0 (8.0.44)
>= 367.48

CUDA 7.5 (7.5.16)
>= 352.31

CUDA 7.0 (7.0.28)
>= 346.46

Now, for FastSurfer we used pytorch v1.2.0 gpu version for CUDA 10.0, which is the default for pip (see instructions for v1.2.0 (Wheel): https://pytorch.org/get-started/previous-versions/#linux-and-windows-9):
# CUDA 10.0
pip install torch==1.2.0 torchvision==0.4.0

# CUDA 9.2
pip install torch==1.2.0+cu92 torchvision==0.4.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html

# CPU only
pip install torch==1.2.0+cpu torchvision==0.4.0+cpu -f https://download.pytorch.org/whl/torch_stable.html

If you are using conda, the process is similar. Here, you just specify the CUDA version via the cudatoolkit part (see instructions for v1.2.0 (conda): https://pytorch.org/get-started/previous-versions/#linux-and-windows-8):
# CUDA 9.2
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=9.2 -c pytorch

# CUDA 10.0
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch

# CPU Only
conda install pytorch==1.2.0 torchvision==0.4.0 cpuonly -c pytorch

In case you need to install the nvidia-driver, there are a number of step-by-step tutorials online (just google install nvidia-driver ubuntu version XYZ).
Hope this helps.
Best,
Leonie

Hi Leonie,
thank you for your reply. I tried all you wrote and realized there was a
hidden issue. Although I am able to install NVIDIA drivers I cannot use my
NVIDIA gpu of my computer because I am running Ubuntu on virtual machine (I
unfortunately have Windows).
Is there anything you think I could do to actually be able to run the whole
FastSurfer without NVIDIA on a virtual machine?
Thank you so much for your help and patience!
Best,
Sara
Sara Romanella
Fellow (Ph.D. in Neuroscience)
Phone nr. +393409831115
Personal Mail<EMAIL_ADDRESS>Il giorno lun 30 nov 2020 alle ore 11:16 LeHenschel <
<EMAIL_ADDRESS>ha scritto:

Hey Sara,
in order to run pytorch on your system you would need a working NVIDIA
driver on your machine. That is basically the only thing you need to
preinstall. CUDA and cuDNN will be installed via the prebuild binaries in
both pip or conda. Here, you only need to make sure that the NVIDIA driver
on your system supports the selected CUDA version.
You can check which NVIDIA-driver you have installed by running
nvidia-smi
which will give an output similar to this:
Mon Nov 30 10:48:15 2020
+-----------------------------------------------------------------------------+| NVIDIA-SMI 450.80.02    Driver Version: 450.80.02                               ||-------------------------------+----------------------+----------------------+| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC || Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. ||                               |                      |               MIG M. ||===============================+======================+======================||   0  GeForce GTX 970     Off  | 00000000:01:00.0  On |                  N/A ||  0%   44C    P5    18W / 200W |    273MiB /  4039MiB |      1%      Default ||                               |                      |                  N/A
And here is an overview which drivers support which CUDA version:
CUDA Toolkit Linux x86_64 Driver Version
CUDA 11.1 (11.1.0) >= 450.80.02
CUDA 11.0 (11.0.3) >= 450.36.06
CUDA 10.2 (10.2.89) >= 440.33
CUDA 10.1 (10.1.105) >= 418.39
CUDA 10.0 (10.0.130) >= 410.48
CUDA 9.2 (9.2.88) >= 396.26
CUDA 9.1 (9.1.85) >= 390.46
CUDA 9.0 (9.0.76) >= 384.81
CUDA 8.0 (8.0.61 GA2) >= 375.26
CUDA 8.0 (8.0.44) >= 367.48
CUDA 7.5 (7.5.16) >= 352.31
CUDA 7.0 (7.0.28) >= 346.46
Now, for FastSurfer we used pytorch v1.2.0 gpu version for CUDA 10.0,
which is the default for pip (see instructions for v1.2.0 (Wheel):
https://pytorch.org/get-started/previous-versions/#linux-and-windows-9):
CUDA 10.0
pip install torch==1.2.0 torchvision==0.4.0
CUDA 9.2
pip install torch==1.2.0+cu92 torchvision==0.4.0+cu92 -f https://download.pytorch.org/whl/torch_stable.html
CPU only
pip install torch==1.2.0+cpu torchvision==0.4.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
If you are using conda, the process is similar. Here, you just specify
the CUDA version via the cudatoolkit part (see instructions for v1.2.0
(conda):
https://pytorch.org/get-started/previous-versions/#linux-and-windows-8):
CUDA 9.2
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=9.2 -c pytorch
CUDA 10.0
conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch
CPU Only
conda install pytorch==1.2.0 torchvision==0.4.0 cpuonly -c pytorch
In case you need to install the nvidia-driver, there are a number of
step-by-step tutorials online (just google install nvidia-driver ubuntu
version XYZ).
Hope this helps.
Best,
Leonie
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Deep-MI/FastSurfer/issues/39#issuecomment-735691972,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOLGU7PGRZVPONEPAJEXLW3SSNWIBANCNFSM4UHJUJ5Q
.

Hey Sara,
I am not an expert on the topic, but based on a quick web search I do not think it is possible to grant GPU access from a windows host to a linux guest (at least not for a standard windows installation). On the supported versions of Microsoft Windows Server (Microsoft Hyper-V Server 2016, Windows Server 2016, Windows Server 2019, Microsoft Hyper-V Server 2019), you can use Discrete Device Assignment (DDA) to enable a VM to access a GPU directly (via passthrough: https://docs.nvidia.com/grid/5.0/grid-vgpu-user-guide/index.html#using-gpu-pass-through-windows-server-hyper-v, https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/deploy/deploying-graphics-devices-using-dda) or use vGPU if you have a graphic card that supports it (a licensed product on supported Tesla GPUs: https://docs.nvidia.com/grid/5.0/grid-vgpu-user-guide/index.html#supported-gpus-grid-vgpu).
Maybe you can think about having a dual install of windows and ubuntu or create a persistent live drive with e.g. a USB stick (https://ubuntuforums.org/showthread.php?t=2230389)?
Best,
Leonie

Hi Leonie,
Thank you for your response. I am going to look into it. Without NVIDIA and CUDA, you don't think I am going to be able to run the entire process of segmentation in FastSurfer? Thank you so much!

Hey Sara,
you can run the CPU-based version of the network, but this is much slower than GPU-based version. If you have a good computing cluster it might still be reasonably fast, however, for any deep-learning network I would always recommend using a GPU (especially if you have one).
Alternatively, you could try an online computing service (like AWS or Google Colab).
Best,
Leonie

``

Hey Sara,
you can run the CPU-based version of the network, but this is much slower than GPU-based version. If you have a good computing cluster it might still be reasonably fast, however, for any deep-learning network I would always recommend using a GPU (especially if you have one).
Alternatively, you could try an online computing service (like AWS or Google Colab).
Also, what version of windows are you using? If you are on Windows 10, I think you might be able to use Docker to run the pipeline with GPU-support. See: https://stackoverflow.com/questions/49589229/is-gpu-pass-through-possible-with-docker-for-windows
Best, Leonie

ahm hey
can u help me....i dont have nvidia...can i run 2ddepthmap without nvidia i mean can i use intel hd 4000 or cpu instead of nvidia?

What is 2d depth map?
Anyway, we have no experience with running fastsurfer on Intel GPUs. You would need to run the CPU version.

What is 2d depth map? Anyway, we have no experience with running fastsurfer on Intel GPUs. You would need to run the CPU version.

actually i was trying to make my ng file to find depth map to make it as 3d so i use google ai with stereo maker but cmd says its need to install nvidia and i have intel hd 4000...can u help me

What is 2d depth map? Anyway, we have no experience with running fastsurfer on Intel GPUs. You would need to run the CPU version.

then how to run in cpu version can u tell me pls

Just to make sure this is clear: FastSurfer is a package for the segmentation and analysis of human brain MRI images. It contains a CNN and a surface processing pipeline. We support running this software here for its intended purpose, where the CNN can run either on a GPU or CPU. The Docker README Example 4 shows how to build a Docker image for the CPU version of the CNN. The docker file basically is a recipe what dependencies are needed if you want to replicate this directly on your computer.
https://github.com/Deep-MI/FastSurfer/blob/master/Docker/README.md#example-4-build-cpu-fastsurfercnn-container-segmentation-only
If you plan to use our FastSurferCNN network architecture for other goals, e.g. to retrain it to some other segmentation task, then this is possible ( we put the train script with our parameters here : https://github.com/Deep-MI/FastSurfer/blob/master/FastSurferCNN/train.py ), but we cannot support you in this. This would therefore require sufficient knowledge on your end. And probably also you would want to use a GPU as training on the CPU will take a long time.

device=torch.device("cuda" if torch.cuda.is_available() else "cpu")

Not sure what you are trying to say. This is the automatic behaviour in our code already:
https://github.com/Deep-MI/FastSurfer/blob/8d6e7ee4ee24dc24754ece97a10b76745315eddb/FastSurferCNN/utils/common.py#L85
and also in the Trainer:
https://github.com/Deep-MI/FastSurfer/blob/8d6e7ee4ee24dc24754ece97a10b76745315eddb/FastSurferCNN/train.py#L52

You can change some codes in model_management.py file, You can find this file by searching it in the folder provided by the system search. When you launcher it, There will be lines telling you which line in this file went wrong, and then you can just delete these lines

What is 2d depth map? Anyway, we have no experience with running fastsurfer on Intel GPUs. You would need to run the CPU version.

then how to run in cpu version can u tell me pls

In the SPM py source code, we can modify the references to CUDA to CPU.

In FastSurfer there is the --device flag which allows you to set the device you want to run the inference on. By default, we use the "auto" option which uses the GPU if one with enough Memory is available. This is also detailed in the README and the help text:

--device: Select device for NN segmentation (auto, cpu, cuda, cuda:<device_num>, mps), where cuda means Nvidia GPU, you can select which one e.g. "cuda:1". Default: "auto", check GPU and then CPU. "mps" is for native MAC installs to use the Apple silicon (M-chip) GPU


Order pins from largest to smallest in generated tsx files

/bounty $5

/attempt #105

from @DhairyaMajmudar 's PR, it seems like this bug doesn't exist


Fix: quick-comment-edit should only shown on editable discussion comments

Related Issues
Closes #5235 if merged.
The Problem
GitHub uses the .lock-toggle-link class on the create issue from discussion button (which is visible to everyone). quick-comment-edit use the same class to check if the user can lock the thread. This results in edit buttons appearing on all comments in all discussions.
The Fix
If a lock button is actually shown, then there is a .octicon-lock SVG inside the div with the .lock-toggle-link class. This PR modifies the selector to reflect this.
Example URLs

https://github.com/PatrickF1/fzf.fish/discussions/190 (not editable) [no comment, not collaborator]
https://github.com/dabbu-knowledge-platform/cli/discussions/4 (all are editable) [one comment, is collaborator]
https://github.com/Sunbird-RC/community/discussions/178 (only my comment is editable) [one comment, not collaborator]

Weird, why would they use that class 😟


GM: disengage on radar fault

GM radar is notorious for getting into some sort of miscalibrated state (a.k,a. "alignment fault"). Without handling the fault, openpilot thinks the path is clear while it should disengage.
Tested there are no false-positives on stop and go and highway driving, on 2017 Volt.
Driving for about half an hour with stock ASCM on highway speeds is known to fix that radar fault. I haven't looked into how ASCM does it or how openpilot can replicate the behavior.

ah... the opendbc changes needs to be done together with these op changes (otherwise radard would crash).
@vntarasov I can put back the opendbc changes as soon as this is ready to go. Can someone test it?

I've been testing it on my 2018 Volt with no issues.

Verified. :shipit:

Also needs https://github.com/commaai/opendbc/pull/116 to be re-added to opendbc repo.