Epinio with s3gw

s3gw is the opensource S3 gateway developed by SUSE derived from Ceph's radosgw.
s3gw is focused on light resource consumption and it is natively thought for the usage on Kubernetes.
Even if it is currently on an early stage of its development, s3gw represents the privileged choice for Epinio.
Currently, Epinio integrates with Minio; there are some choices we must define if we want s3gw to become the Epinio's default storage gateway.

Do we want to keep both Minio and s3gw as choices for the Epinio user?

yes we do

If we are going to keep Minio as a possible choice, should it be the default (no I guess) ?

yes at the beginning

Should we have a grace period where Minio remains the default choice?

yes at the beginning

How do we want to treat existing users?

we don't need to tread them in any way; Epinio uses S3 as an ephemeral storage

Should they be forced to migrate one day?

only if s3gw will become the only choice (not likely to)

Should we provide a tool to migrate user's data? who? s3gw project or Epinio?

not needed, see 4

Should Epinio import s3gw as subchart (as it is doing now for Minio) ?

yes because we want give the option to install s3gw as optional bundle for Epinio

Should s3gw installed as bundle with Epinio use Longhorn?
If the 8 evaluates as NO because eg: we want to keep the dependency chain at the minimum, what are the choices here?
The PVC used by s3gw can be a simple hostpath? would this cause problems if the s3gw pod is rescheduled on a different host?

I think this would be very useful and could be done over time to make it easier.
IMO, the path would be:

Add as secondary option via subchart**
Write tests using this option
Once comfortable, switch default
No need for migration path as all data is ephemeral and will be reconstructed on next push

Will need release notes saying that pushes will fail during upgrade -- but that's likely assumed to be true anyways

** Is there a better way to include as dependency without having to "vender in" with a subchart?

Currently, s3gw from inside the Kubernetes cluster does not provide a TLS termination.
That is (currently) available only through the ingress on the public configured domain for s3gw.
I think this is a strict requirement s3gw must meet before starting integration.

If I understand correctly, epinio uses the s3gw storage as a backup; does it even make sense to host that in the same cluster as epinio itself?
That aside, could epinio not connect to the external endpoint even though it's technically on the same cluster? That'd avoid the need for handling the internal/external cases differently.

If I understand correctly, epinio uses the s3gw storage as a backup; does it even make sense to host that in the same cluster as epinio itself?
That aside, could epinio not connect to the external endpoint even though it's technically on the same cluster? That'd avoid the need for handling the internal/external cases differently.

Even if this could be technically possible, personally I don't like this approach.
An ingress is logically made for external clients and (IMO) should not be used for communications within the cluster.
Let's keep in mind that we are offering the user the choice whether to use an ingress.
An user could legitimately want not to install an ingress but he could require an encrypted connection between epinio and s3gw.

If I understand correctly, epinio uses the s3gw storage as a backup; does it even make sense to host that in the same cluster as epinio itself?

The reason we need this is for developer clusters where HA is not needed and the simplicity of an all-in-one install is important. In production environments, I would expect that we always run storage in separate clusters.

@agracey @l-mb I have added 3 questions: 8 to 10

Should s3gw installed as bundle with Epinio use Longhorn?

No, the deployment target is commonly clusters where you wouldn't want to use the underlying node's storage (AWS, GCP, Azure, etc...)

If the 8 evaluates as NO because eg: we want to keep the dependency chain at the minimum, what are the choices here?

I think we should use the default storage class with the option of overriding it manually. If there is no default, I think helm would fail the install naturally, right?

The PVC used by s3gw can be a simple hostpath? would this cause problems if the s3gw pod is rescheduled on a different host?

Yes, because it wouldn't be able to reschedule. In most instances where hostpath is being used, this is a known trade-off (really only for developer environments...). It might be worth adding a line to the helm notes when hostpath is used about it being unstable in case it gets picked by accident?

No, the deployment target is commonly clusters where you wouldn't want to use the underlying node's storage (AWS, GCP, Azure, etc...)

Are we saying that in such platforms (AWS, GCP, Azure, etc...) there must be a storageclass that will provision storage outside of nodes? (Nearly zero expert here)

I think we should use the default storage class with the option of overriding it manually. If there is no default, I think helm would fail the install naturally, right?

I hope so (we will test this obviously).

Yes, because it wouldn't be able to reschedule. In most instances where hostpath is being used, this is a known trade-off (really only for developer environments...). It might be worth adding a line to the helm notes when hostpath is used about it being unstable in case it gets picked by accident?

This leads possibly to another question: would be possible to define a storageclass that is provisioning simple hostpath volumes?
Supposing this is possible and the user is choosing this; this would be acceptable?
Suppose you are using that scenario and this happens:

epinio push -n myapp
s3gw pod is rescheduled on another node

The Epinio system is still into a consistent state?

s3gw only relies on a persistent storage class (like LH) for redundancy, and using Longhorn for this is the preferred and tested way. In theory, any other storage class that provides the persistent volume claim also would work. The Helm chart already allows this.
In a production setup, s3gw would be deployed independently from epinio (since it's going to be a different cluster for availability reasons), at which point this is transparent to epinio anyway. And handled either via the builtin s3gw LH deployment, or by deploying LH and s3gw in conjunction.
If a localpath provisioner is used, the s3gw pod needs to assigned to that node only and not to any other.

Are we saying that in such platforms (AWS, GCP, Azure, etc...) there must be a storageclass that will provision storage outside of nodes? (Nearly zero expert here)

Yes, for instance in AWS you can set up either EFS or EBS depending on your needs (and budget) but we can assume one exists.

This leads possibly to another question: would be possible to define a storageclass that is provisioning simple hostpath volumes? Supposing this is possible and the user is choosing this; this would be acceptable? Suppose you are using that scenario and this happens:

epinio push -n myapp
s3gw pod is rescheduled on another node

The Epinio system is still into a consistent state?

Likely no... If there are multiple nodes and one fails I don't think s3gw would get rescheduled on another node. This would cause pushes to stop working. IMO, this is not a case to be concerned about as any admin using hostpath should know that.
If I'm wrong about the rescheduling and it does come back up but the storage is empty, Epinio should just refill the cache and continue on. The only "downtime" would be that any pushes in progress could fail if they were in the middle of a transfer.

In a production setup, s3gw would be deployed independently from epinio (since it's going to be a different cluster for availability reasons), at which point this is transparent to epinio anyway. And handled either via the builtin s3gw LH deployment, or by deploying LH and s3gw in conjunction.

Agreed! I expect that very few of Epinio's default config would be used in production.

[ ] #2109


How is similarity calculated

How is similarity calculated？

return (2.0 * intersectionSize) / (first.length + second.length - 2);，，，，Why is this line of code minus 2

Hey @18672786357 It's 6 months old and you might found the answer yourself but I like to post my answer here for the future me 😛
The Sørensen–Dice algorithm is calculate the number of matching items in 2 sets using the formular DSC = 2(𝚇⋂𝚈)/(|𝚇|+|𝚈|) where |𝚇| and |𝚈| are the number of items in each set.
This library convert each strings to multiple bigrams (2 characters substring) and apply the formular above. If you break the string manually you will see that the number of items is the length of string minus 1.
"abide" -> ['ab', 'bc', 'cd', 'de']

We have two strings so |𝚇|+|𝚈| will be (s1.length - 1) + (s2.length - 1). That's where the number 2 come from.

let str = '12345'  // len = 5
let set = {'12', '23', '34', '45'} len =4
// so one string represents the denominator that needs to:
X = len - 1 = str.length - 1

Hey @18672786357 It's 6 months old and you might found the answer yourself but I like to post my answer here for the future me stuck_out_tongue
The Sørensen–Dice algorithm is calculate the number of matching items in 2 sets using the formular DSC = 2(𝚇⋂𝚈)/(|𝚇|+|𝚈|) where |𝚇| and |𝚈| are the number of items in each set.
This library convert each strings to multiple bigrams (2 characters substring) and apply the formular above. If you break the string manually you will see that the number of items is the length of string minus 1.
"abide" -> ['ab', 'bc', 'cd', 'de']

We have two strings so |𝚇|+|𝚈| will be (s1.length - 1) + (s2.length - 1). That's where the number 2 come from.

@dangh the bigrams are applied to the Map structure (firstBigram), not to the variables first and second !
first.substring(i, i + 2); and second.substring(i, i + 2); DO NOT modify the objects (strings), but return new strings (substrings).
It does not make any sense to subtract 2!

@dangh has the right explanation and the link that I used the formula from.
The result is as expected, 'night' and 'nacht' are similar to a degree of 0.25
https://jsbin.com/kidibosato/edit?js,console


Add From<&[T; N]> for Stream<...> impl

Currently, there are From implementations on Stream for a variety of slice types. The one missing is &[T; N]. This is useful due to lack of coercion on generics making a call to .parser(b"") fail, as it's a reference to an array not a slice.
I'd be willing to PR it, if there's interest in it existing.

Good idea! I'll add this for the next release.


Extracting routes

Hi,
Inside the PA FW you can run the command "show routing route" to know routes in all Virtual Routes (static, ospf,bgp,...). So, I'm trying to extract all this rules from the FIrewall configuration and I'm getting this error:

** ERROR ** * Died on user notice or warning!! Error: Use of undefined constant LIBXML_PARSEHUGE - assumed 'LIBXML_PARSEHUGE' on /[MY_OWN_PATH]/pan-configurator-master/lib/device-and-system-classes/class-PANConf.php:122

Any idea about the reason of the error?
Also, I can't find any examples related with routes. And can't figure out how to deal with routes. I guess something like that?
$panc = new PANConf();
$panc->load_from_file ( $origfile );
But I'm not sure how to obtain the Virtual Routers form here (VirtualRouterStore).

Hi,
Can you please share your version of PHP ?  LIBXML_PARSEHUGE  is a constant that should be defined in PHP loaded with module lib-xml

That's my version:
PHP Version => 5.5.28
libxml2 Version => 2.6.26
I can load Panorama config files but not PANOS config files.

There has to be an issue with your PHP install , if you check here, only old version of PHP are getting this error message :
https://3v4l.org/Qsp0l
is it a version bundled with your Mac OS X? Custom install for windows ?

I'm not sure I understand If what I'm getting is correct or an error:
Running:
<?php
var_dump(LIBXML_PARSEHUGE);

Outputs:
string(16) "LIBXML_PARSEHUGE"

I'm on a Red Hat.

a string ? wow ...
dont you have any update available for your RedHat ? LIBXML_PARSEHUGE is supposed to be an int.
before you load my library you can eventually define this constant manually:
define ( 'LIBXML_PARSEHUGE' , 524288 );

also concerning your original request, if you to know the routes installed in the FW at runtim (config hold static routes only) then you need to use API OP type command.
From PanAPIConnector class it looks like:
$connector->sendOpRequest('');

I need to get dynamic routes also (OSPF routes, mainly).
Which is the best way to get static and dynamic routes?
Marcel Sánchez Toledano
2015-12-17 23:58 GMT+01:00 Christophe<EMAIL_ADDRESS>
also concerning your original request, if you to know the routes installed
in the FW at runtim (config hold static routes only) then you need to use
API OP type command.
From PanAPIConnector class it looks like:
$connector->sendOpRequest('');
—
Reply to this email directly or view it on GitHub
https://github.com/PaloAltoNetworks-BD/pan-configurator/issues/8#issuecomment-165608736
.

API is the best way for runtime routes.
PanAPIConnector
$connector->sendOpRequest('');


Slack notification

If:

after 2 minutes there is not new block
Then:
Send notification to Slack

Implementation pull request:
https://github.com/tomochain/tomoscan/pull/420


cmd/go2go: compiler treats returning type with generics incorrectly.

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

$ go version
devel +ad307489d4 Tue Jun 16 05:49:35 2020 +0000.

Does this issue reproduce with the latest release?
No. It's a dev branch.
What operating system and processor architecture are you using (go env)?
I'm using https://go2goplay.golang.org/.
What did you do?

package main

type Result(type T) struct {
	t T
}

func F(type T)(v Result(T)) (Result(T)) {
	return v
}

What did you expect to see?
The code should be compiled
What did you see instead?
type checking failed for main
prog.go2:8:9: cannot use v (variable of type Result(T)) as T value in return statement

The return type of F should be Result(T), but the compiler thinks it's T, treating the definition as func F(type T)(v Result(T)) (Result T).

@griesemer @ianlancetaylor

It'd be easy to be fixed by func F(type T)(v Result(T)) Result(T). I think it needs to make it more clear what's (Result(T)) should be.

This is working as expected. This code will work:
package main

type Result(type T) struct {
	t T
}

func F(type T)(v Result(T)) Result(T) {
	return v
}

Alternatively, you need to write (_ Result(T)) or ((Result(T))). The reason is that (Result(T)) is interpreted as (Result (T)), i.e., the result is named Result and is of parenthesized type (T), for backwards-compatibility.
This is a common mistake people are making, so we are considering changing this. This is also documented in the design draft.

PS: https://go.googlesource.com/proposal/+/refs/heads/master/design/go2draft-type-parameters.md#using-generic-types-as-unnamed-function-parameter-types

@griesemer Thanks for clarifying.

@griesemer - Sorry to comment on a closed issue, but perhaps it might make sense to add a line in https://go.googlesource.com/proposal/+/refs/heads/master/design/go2draft-type-parameters.md#using-generic-types-as-unnamed-function-parameter-types mentioning that we need to write Result(T) as (_ Result(T))/(Result(T))?
When I read that section, it seemed to suggest that the new proposal actually breaks backward compatibility, so there's no need to write code with extra parentheses.

@agnivade I'm not sure quite what you are saying.  It's OK to write func F() Result(T).  The case that doesn't work at the moment is func F() (Result(T)).  If you really want those parens then at the moment you need to write func F() (_ Result(T)) or func F() ((Result(T))).

Ah yea sorry about that. I realize now that I went on a slight tangent. I just wanted some clarification about the syntax added to the doc. In my case, what I needed was  (_ Result(T))/((Result(T))), as you can see here. But I didn't realize that and wrote Result(T). It took me some googling to figure this out because it wasn't very clear from the error message, which was this:
/tmp/go2go-run630056446/cache.go2:43:3: expected operand, found 'return' (and 1 more errors)

This is what I would like to be added in the doc. (Or is it already there somewhere and I have missed it?)

I think that the current parser doesn't yet fully support the syntax described in the design draft.  Let's revisit when that work is done.

FWITW, the required pair of surrounding parentheses gets removed by gofmt, both on the playground and locally at 9fe9a324c4, which is slightly annoying since these are required for successful compilation.
Example (https://go2goplay.golang.org/p/lr-Nvr1ydPA)
package main

func main() {}

type A(type T) interface{}

// (1) try:
// func _(type T)() (A(T), error) { return nil, nil }
//
//  --> error: mixed named and unnamed function parameters

// (2) add parentheses:
// func _(type T)() ((A(T)), error) { return nil, nil }
//
//  --> ok, compiles

// (3) Run gofmt on (2) gets you back to (1)

Something similar (https://go2goplay.golang.org/p/zJ7wmOIPWxK)
package main

func main() {}

type A(type T) interface{}

// func _(type T)()    A(T)    { return nil } // ok
// func _(type T)()   (A(T))   { return nil } // nok: cannot convert nil (untyped nil value) to T
// func _(type T)()  ((A(T)))  { return nil } // ok
// func _(type T)() (((A(T)))) { return nil } // ok

// func _(type T)()   (A(T), error)  { return nil, nil } // mixed named and unnamed function parameters
// func _(type T)()  ((A(T)), error) { return nil, nil } // ok

// func _(type T)()   (a A(T), err error)  { return nil, nil } // ok
// func _(type T)()  (a (A(T)), err error) { return nil, nil } // ok

PS: Sorry to comment on a closed issue, but I also don't think this is worth opening a new one, just let me know if I should do it anyway.


PHP Code Sniffer

The aim of this workflow is to lint the project code and flag any code that doesn't adhere to the project standards (phpcs.xml.dist).
Workflow must:

Be project agnostic and take all standards, paths, and config from the projects Composer config file
Install PHP Code Sniffer from the tools/phpcs directory using Composer
Comand run composer script composer run-script test-phpcs
Have a sematic version set in the file header coments

Examples:
https://github.com/vatu-team/thebraintumourcharity/blob/main/.github/workflows/static-analysis.yml#L19-L73
https://github.com/vatu-team/demo.vatu.dev/blob/main/.github/workflows/static-analysis.yml#L17-L69

https://github.com/vatu-team/demo.vatu.dev/blob/main/.github/workflows/static-analysis.yml#L56-L57
Runs composer run test-phpcs from instructions in a remote file.
Next step is to convert the full workflow.

Added a reusable workflow for PHP CodeSniffer.
Example use: https://github.com/vatu-team/test-workflows/blob/b7769d2a9a98034661fa5366a15a81f60be5abda/.github/workflows/static-analysis.yml#L23-L29
Notes:

Workflow needs to live inside .github/workflows to be called by another workflow. Hopefully we can move this outside the directory in the future.


Docker releases appear out of sync with the code releases?

Issue description
The tags used for docker releases appear out of sync with the code releases?
0.12 was released a month ago according to docker, and it is not clear how they relate to the code releases?
Is there a docker release for 0.12.0-beta2, or I presume those other docker tags should be ignored?
To Reproduce
The docker releases I am referring to are these -> https://hub.docker.com/r/headscale/headscale/tags
Thanks for any clarification 👍🏻

Also, is it just me or did the latest tag just get deleted? This has been working for months and now im getting:
failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to create LLB definition: docker.io/headscale/headscale:latest: not found

I would like to test Openid. So version  0.12 with docker would be nice

The docker release job is failing: https://github.com/juanfont/headscale/runs/4631424805?check_suite_focus=true
Could you have a look @ohdearaugustin ?

I'm taking a look at it. It seems the PR with the changes to use a cache was not tested. For now it seems like the setup of the buildx environment was forgotten. I'm just testing out a fixed version and a PR will follow as soon as it works.

When will we see a new docker release?

We are missing ARM builds in the setup, I imagine that we will release a new version containing just docker builds as 0.12.2 when #259 is finished.

The arm builds work with the #258, they are just slow. As qemu cross-compliation is not ideal.

Are amd64 builds available to get updated, while the arm builds are being worked on further?

Same question here. Would like to test the amd64 build soon

@juanfont Can you try a -beta release to see if it works now and then release 0.12.2 to get things out?

No release yet?

Seems 0,12,2 beta 1 is out on dockerhub, thanks.
'latest' doesn't appear to work for me, it didn't update to beta 1 until I used the specific beta tag.
If it's fine for others, I'll close this issue.

It would bi nice to add alpine based image (with appropriate tag on the Docker Hub). It will be much more convenient  to manage container on the Synology Web UI for example.

Why would alpine make it more manageable on synology?

Also, it takes less space and is more secure.

I can spawn separate shell with ash and run commands from the Web UI.

Also, it takes less space and is more secure.

We use distroless images, they are small and probably even more secure.

I can spawn the separate shell with ash and run commands from the Web UI.

PRs are welcome, we dont plan to support alpine.


[bug]: "Use all" is not taking all metadata into consideration/some are missing

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
12GB
What version did you experience this issue on?
3.0.1post3 & 3.0.2a
What happened?
I tested 3.0.1post3 and 3.0.2a and just would like to report the following observations regarding metadata and "Use all":
3.0.1post3 and 3.0.2a:

Both versions do not work properly with "Use all". It seems to only retrieve certain metadata and not everything that would be available to "Use". Missing components are "LORAs and VAEs".
The following components are not saved in the metadata, thus can't be applied when using "Use all": "Dynamic Prompts and Noise". Since they can change a picture dramatically, it would be nice to get this setting too.

Here is my argument why that would be important:
Since it's not hard to have 1000+ pictures in your Galary, it's nearly impossible to remember all the settings used to generated them. I often scroll back to my previous pictures and maybe decide to pick up from there. Being able to trust "Use all" to generate me the same picture (in an optimal case) would be really helpful. It is possible to look into the metadata to get the information about "LORAs and VAEs" but even that step involves some searching and knowledge (reading metadata) that I would love to trust "Use all" for.
3.0.2a

It currently does not set the model to the used model when "Use all" or "Use model" is selected. It just keeps whatever model is currently selected in the UI.

I hope this Bug report is useful. If there are any further questions or testing needed on my side, I would be glad to assist.
Screenshots
No response
Additional context
No response
Contact Details
No response

Metadata isn't written correctly to image in the first place. Perhaps I should open an issue for that. Here are two issues with metadata written to images:

Sometimes positive prompt appears in positive style: instead of in prompt:
Combinatorial combinations specific to an image are not written, just the whole recipe for all the images, so you can't tell which is which.
On the other hand, the data in the database itself looks fine. If program is getting it from db, then carry on.

I also noticed this issue. Also, I don't see any metadata in my downloaded images.

We'd be happy for a contribution for this.
To help you get started, the functions to recall parameters are in invokeai/frontend/web/src/features/parameters/hooks/useRecallParameters.ts.
To recall things like LoRAs, we need to first verify that the models exist. The logic would flow like this:

Use the RTK Query cache to check if the models are available on the server
If they are, use one of the existing zod schemas to validate the LoRA or main model or whatever it is you want to recall
If taht validation passes, dispatch the redux action to update it

Note that the current logic does not validate the model against the query cache! This should be fixed at the same time as recalling LoRAs etc.
You'd need to use the hooks exported from invokeai/frontend/web/src/services/api/endpoints/models.ts to get the available models, and confirm that the model to be recalled is in that list.
See invokeai/frontend/web/src/features/parameters/components/Parameters/MainModel/ParamMainModelSelect.tsx for an example of how to use the hooks. A more refined way to use the hooks is to use selectFromResult, which you can see in action here: invokeai/frontend/web/src/features/ui/components/tabs/ModelManager/subpanels/ModelManagerPanel/ModelList.tsx
If you are familiar with react/frontend dev and would like to take this on, I'm happy to help out. Ping me here or on discord (same username).


We need a way to configure clock rates

In the first iteration it would be sufficient to just configure all clocks and freeze them

The simplest to start with would be a "boot-default" configuration without actually changing any clock settings. This way drivers can get the clock rates and as soon as we actually make it possible to change clock rates things should "just work"

I wonder which clocks need to be contained in the clock config struct?
I can think of these:

CPU CLK
APB_CLK
Option: XTAL_CLK
Option: FOSC_CLK
Option: RTC8M
Option: APLL_CLOCK
Option: REF_TICK
Option: PLL_160M
Option: PLL_240M
Option: PLL_CLK
Option: PLL_D2_CLK

Probably there are more.
The "Option" prefixed ones are not available for all targets. Should they be wrapped by an Option in the struct or just not be contained if not available for the target?

Option: XTAL_CLK

Is this really an option? I thought all esp's had some form of crystal clock? It's also the default clock source for a lot of peripherals (at least on the c3, when I skimmed the TRM).
I haven't looked through all the chip trms but this looks like a solid base (maybe we can do some smart grepping of the SVDs to find all clock sources?). It should be easy to determine what clocks are available to the driver and pick the best one. It might get interesting for peripherals like LEDC, where the input clock puts a limitation of certain output frequencies... but we'll worry about that later :laughing:.

Option: XTAL_CLK

Is this really an option? I thought all esp's had some form of crystal clock? It's also the default clock source for a lot of peripherals (at least on the c3, when I skimmed the TRM).

Ah true - I just looked at the "Peripheral Clock Usage" table and e.g. S2 doesn't list it as a direct clock source for peripherals but  it's an indirect clock source ... 🕵♂ good point - we should include it

First part (basically introducing ClockConfig with boot-defaults) has been done in #77
Next task is adding support for actually changing the clock rates

CPU clock settings for ESP32 and ESP32-C3 are implemented in #110
Will continue with ESP32-S2 and ESP32-S3 then ... after that I would consider this to be done


Greenkeeper/sinon 4.3.0

Coverage remained the same at 72.945% when pulling 4e6871c46550efd3d0ab7b6b6e99da4247d2187f on greenkeeper/sinon-4.3.0 into 41714d16c3c8bbb5f724d04407ce74898d7d224b on master.


Disable workfile autoload in Launcher

Feature
It would be nice to have ability to disable automatic loading of workfile on deman in Launcher. For some specific task, there could be very big scene file as a last workfile that you don't want to load in some particular case. This could be possibly implemented as right+click context menu with checkbox.
[cuID:PYPE-1276]

You mean it should be per task or per application? And should it be persistent? And should it be per user or system wide?

Yes, as I imagine it, you would right click on app icon in launcher and in context menu, you'll have item like "[X] Autoload latest workfile"...

I actually ran into this quite a lot last and this week. You have it globally on because it makes sense for most contexts, but sometime there is a massive scene that's crashing for instance and you ned to override this option ad hoc.
I'm not sure we need it persistent but it would be nice.

There are a couple of options being discussed right now:

add checkbox to bottom section of Launcher (under application, next to the "rewind" icon) with "Do not open last workfile"

disadvantage is that some icons might not be a app launcher icons and some host cannot be opened without workfile

add option "Do not open last workfile" to context menu visible on app icons

disadvantages are same as above, might be too cluttered on multiple installed versions of host app

add context menu to the column with tasks (right column in Launcher) with some icon highlighting that "Do not open last workfile" option was selected

Majority of opinions lean to choice be persistent, differences are if it should be per Task or per Host app.
(Issue with persistence is where to store it - Local Settings (LS app doesnt count with this right now) - somewhere on machine (keyring - only applicable on Tray apps where keyring is required).

I believe it has to be Task based. Ideally Task/Application group based. Because typical usage of this feature is like this:
I have a Task, lets call it Layout. I am creating layout is Maya, loading tons of stuff to scene, so much so opening this scene in Maya takes literally minutes. So I don't want to automatically load latest workfile whenever I launch Maya on this task, becase I occasionally want to open older version of the scene and with this will make me waiting for minutes until latest scene is loaded just for me to close it right away and load whatever I want.
But this doesn't apply to all Tasks, not even all layout tasks, just the one I want. This also doesn't apply to Maya on the project.
So I think this means selecting particular task and be able to right+click on application group to see checkbox "disable auto wokrfile loading". When this is checked, icon on application group should change (have some small badge on it perhaps?) so artist knows something is different. This settings should then be saved locally on artist computer and it should completely ignore whatever is set in studio wide settings.
That's my idea. Right+click context menu in this case is ok by me and it can be even added to tooltip description on application group mouseover.

I've disabled auto load on open here so I'm not sure I'm the best candidate to provide decent input for users who like to approach it with that setting enabled by default.
Also, these are just some thoughts - sorry if it's a messy comment.

add checkbox to bottom section of Launcher (under application, next to the "rewind" icon) with "Do not open last workfile"

I personally like that. Something that is a visual indicator that I could instantly see whether it's currently enabled - for me. I feel this really is a personal setting you might want to toggle. And yes, you might not want it for a specific shot just because it's a heavy or slow loading asset or for a specific task.

Then I think it would be good to have an option where specific tasks (or task types, etc.) - whatever filter makes sense - can be set up "force autoload to be disabled" or at least recommend it in some other way. It could even be that for those files where you have that setting enabled you get a very tiny little extra dropdown/menu indicating whether you'd want to load the latest workfile.
So you click Maya -> "Yes". But having that happen only sometimes I think will be root of confusion. Which makes me bring it back to - shouldn't this just be a User setting in general? :) Something that yes, can be toggled inside the Launcher?
Maybe having three settings for auto load:

Yes
Always ask (the little menu I described as extra click)
Disabled

And these could then be toggled in the bottom bar next to the history icon.

I would maybe instead have it as a launch option, so each application version has two variants:

Maya 2019
Maya 2019 (blank)

This would translate well to for example Ftrack launching.


Failed opening required "contants/abilities.php"

https://hrpg.lscult.com/admin/view/data/load/abilities/toLevel/30/userLevel/90  < here is the error.

https://github.com/nenuadrian/Secret-Republic-Hacking-Browser-Game-V3/commit/98773970327080eaf5144bb9411d291fd4338b16


Update swa.go

update SWA CLI to latest version as many bugs were fixed

/check-enforcer evaluate

@ellismg @rajeshkamal5050 , do we  want this for this week's release?

@ellismg @rajeshkamal5050 , do we want this for this week's release?

Seems a big bump. We can take it in for next release.


Create a MNIST duplicate with part of it corrupted

A way to do that could be to shuffle randomly the labels of a part of the dataset.

@RomainGoussault you solved that with your corrupt_labels() function in node.py right? I let you close the issue.

@Thomas-Galtier wrote it :)


Strategy ensemble

In chapter "6.3 Results - strategy ensemble performances" there are several figures with the top100, top 20, top10 and top5 strategies presented. On top of that, there is a strategy ensemble included in these figures, but it is not mentioned, how this ensemble has been computed. Since this yellow ensemble line is always around the middle of all violet strategy lines, we expect the ensemble to be the mean/median position sizes of all strategy outputs. Could you tell us, how this strategy ensemble has been computed?

If we have N strategies then each of the them is given 1/N of the assets to manage. Effectively you get the mean. Check: Changing strategies on the fly in chapter 8 for a possible modification.

Thanks for the clarification :)


Custom mapping relationships

:dancer: I guess we could change the name to add unity between Sync and PropertyMapper, the name of the key is sync.remote.key now, however, for the user, it would be easier if the keys are the same: mapper.remote.key.
Also, it's only done for One to Many relations at the moment, let me know! :smile:

Nice! :smile: now, what do you think about changing the name from: sync.remote.key to mapper.remote.key?

I wonder if hyper.remote.key would be better, it would make it consistent at least

Right, but then I would change it too in PropertyMapper


Post idea: don't choose to chain your ecosystem to a point in time. Update your framework.

https://github.com/VerifyTests/Verify/issues/784#issuecomment-1427051407

Closing; I don't think this is worth writing about. Would have been a mini blog post but feels like clutter in the issues list. Following my gut.


Rekognition not returning label instances

I am successfully processing images using your plugin, and appreciate it!   I am running into an issue where the response coming back from Rekognition does not include the Label->Instances Array.   The photo I sent for processing includes 3 cars.
Here is the message I get back from AWS ----
{"_msgid":"c8d786cc224722aa","payload":{"Labels":[{"Name":"Car","Confidence":99.86408233642578},{"Name":"Automobile","Confidence":99.86408233642578},{"Name":"Vehicle","Confidence":99.86408233642578},{"Name":"Transportation","Confidence":99.86408233642578},{"Name":"Tire","Confidence":95.65074920654297},{"Name":"Alloy Wheel","Confidence":94.08968353271484},{"Name":"Wheel","Confidence":94.08968353271484},{"Name":"Spoke","Confidence":94.08968353271484},{"Name":"Machine","Confidence":94.08968353271484},{"Name":"Sports Car","Confidence":91.68609619140625},{"Name":"Car Wheel","Confidence":87.5404281616211},{"Name":"Car Dealership","Confidence":70.07891845703125},{"Name":"Car Show","Confidence":64.47376251220703},{"Name":"Hot Rod","Confidence":61.91443634033203},{"Name":"Coupe","Confidence":61.532676696777344},{"Name":"Convertible","Confidence":56.90849685668945}]},"statusCode":200,"headers":{"content-type":"image/jpeg","content-length":"153809","x-frame-options":"SAMEORIGIN","connection":"close","date":"Sun, 11 Sep 2022 18:21:31 GMT","x-node-red-request-node":"3b8188a6"},"responseUrl":"http://<IP_ADDRESS>:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2","redirectList":[],"retry":0,"_event":"node:a242ad21ac2a969d","Image":{"Bytes":[removed to save space]}}
If you look at the responses from the Rekognition demo here: https://us-east-1.console.aws.amazon.com/rekognition/home?region=us-east-1#/label-detection you'll see that each label should have instances and bounding boxes returned...
"Labels": [
        {
            "Name": "Car",
            "Confidence": 99.8634262084961,
            "Instances": [
                {
                    "BoundingBox": {
                        "Width": 0.27277201414108276,
                        "Height": 0.8030486106872559,
                        "Left": 0.0016274770023301244,
                        "Top": 0.18348804116249084
                    },
                    "Confidence": 99.8634262084961
                },

All suggestions welcome!

Any suggestions for how to fix this?

Hmm, not sure.   This module is a direct wrapper of the AWS api, so anything it returns should come up.
If could be that aws isn't providing bounding boxes, it doesn't always,  see https://stackoverflow.com/questions/70951377/how-to-return-image-with-bounding-box-using-aws-rekognition
I'm trying to update the aws api version used at the moment, but I'm on holidays and have no wifi and very low signal, so may need to wait until I get home.     That may help as well.  [You could try this yourself by installing this package from github and forcing it to upgrade

Thank you @Daniel-t  -- The strange thing is that the sample response I provided above was from the Rekognition web site using exactly the same photo that I sent via NodeRed.   I'll keep digging and ensure I'm not sending anything weird to AWS that's causing it to exclude the bounding boxes.


Show version in channel not name

Description
Changes proposed in this pull request:

...
...
...

Related issue(s)

/retest


Archive this repo?

This doesn't appear to be actively maintained. Is it used? Happy to leave it if it's useful, but would prefer to archive it if it's not being used.

AFAIK this was supposed to be a spin-off of https://github.com/nodejs/node/tree/master/tools/doc.
Personally I'm +1 for archiving.


Add monitoring flag for Digital Ocean droplets

Digital Ocean now has the functionality for more extensive monitoring of droplets, which includes the ability to set alerts for droplets. These new features only work if a monitoring script is run on the droplet upon startup, fortunately the Digital Ocean API allows for a flag to be passed through (similar to how private networking is switched on) that pre-installs the monitoring script allowing the more in-depth monitoring. I have simply added this flag to docker-machine.
Testing:

Manually tested the updated help text

Using:
./docker-machine create --driver digitalocean --help

Output:
...
   --digitalocean-ipv6								enable ipv6 for droplet [$DIGITALOCEAN_IPV6]
   --digitalocean-monitoring							enable monitoring for droplet [$DIGITALOCEAN_MONITORING]
   --digitalocean-private-networking						enable private networking for droplet [$DIGITALOCEAN_PRIVATE_NETWORKING]
...

Manually created a droplet using the flag and verified the monitoring script was detected in the Digital Ocean UI

Using (in ./bin/):
./docker-machine create --driver digitalocean --digitalocean-access-token xxxxx --digitalocean-private-networking=true --digitalocean-monitoring=true docker-sandbox

Fixes: #4227
Signed-off-by: Steven Cooney<EMAIL_ADDRESS>

LGTM


Request to Include requirements.txt for the Project

Hello Somesh Raj,
I trust this message finds you well. I am reaching out regarding the improvement of the project on the My-Personal-Assistant--David repository.
In order to streamline the project and ensure smooth collaboration, I kindly request that we include a requirements.txt file. This file will capture and list all the dependencies necessary for the project, making it easier for collaborators and contributors to set up their development environments.
Thank you for your cooperation.
Best Regards,
Nitkarsh Chourasia
https://www.github.com/NitkarshChourasia

yeah sure i will

requirements.txt


iptables: port fw handle wildcard address correctly

When using <IP_ADDRESS> or :: as host ip in the port spec we currently generate incorrect rules. A wildcard address means that we should forward traffic for all ips, e.g. that same that we do when no host ip is set. Instead we used it literally which caused the rule only to match traffic with a destination of <IP_ADDRESS> or :: and this is not possible.
Also fixes a problem where an invalid host ip was treated as match all. The correct behavior is of course to throw an error. This was not a big deal because podman already validates the ip so you could only trigger it by manually calling netavark.
And lastly I fixed some typos in the test names as I found them confusing. They do not actually test a range.
Fixes #636

@mheon @baude @flouthoc PTAL

LGTM.

/lgtm


QA the upgrade test site

The test site is now live at https://lametro-upgrade.datamade.us. Now it's time to QA.
General prompts:

Does existing data appear as expected? Are agendas, packets, and audio links available and correct?
Does new data appear in a timely manner, as expected?
We had to refactor some functionality in the upgrade. Are the following issues addressed on the test site?

#508
#509

Do maps appear as expected on board member pages? #361.
Do board reports, events, and people have the same identifiers on the test site as they do on the live site?

More to come.

Other issues impacted by or contingent to the upgrade:

#481 List the Chair and Vice Chair first on the list of Board of Directors, followed by other members in alphabetical order.
"We're adding a centralized way to order board members in the upgrade"

#462 Metro has defined report types as smartlogic tags, so that a report can be classified as multiple types.
"We'd want to wait on implementation until the changes to topics in our end are made in the upgrade."

#463 Investigate enriched faceting from Smartlogic tags.
"The way topics are represented in our data is changing in the upgrade, so we will probably want to wait on implementation here until those changes come in."


Expose API methods for getting ABI(s).

Allow consumers of the eosjs2 API to retrieve ABIs and Ricardian contracts.

Please stop adding random {}. It makes the diffs more work to read.

@tbfleming: Thanks for your feedback.
I wouldn't exactly characterize these as "random". Using blocks in conditionals, loops, etc.--even for one-liners--is common practice in JavaScript and has merit. I was simply implementing this common practice in the new code I'm contributing and in any methods I was modifying in the course thereof.
That said, I see that you omitted these on purpose, and as you've used that pattern so far, I'll modify (for the sake of consistency) this commit to omit those blocks.
My key takeaway from this conversation is that it's time for a proper linting process in this project, enforced by build checks. If we had something like ESLint in place, we wouldn't even be having this conversation. We'll be contributing something to that effect soon.
I'll let you know once I've modified the commit. Thanks!

@tbfleming: Modifications made. Would appreciate your review.

Thanks, @tbfleming!


Soduku (Game)

Make a new folder in games directory (If not already present).
Use any language/framework of your choice to make the game.
Add Screenshot and Readme
Readme can include

Title
What the Project Does.
How to use.
How to install or requirements
Screenshots

Please assign it to me under GSSOC'22

Assigned @khandagalechetna

Hey @TusharAMD, We can close this as I have already added all the files in the folder named Games.

Done


Akash example

Adding an Akash example. If the example is too simple, I can add a few more entities and a bit more complexity.

@youssefea  made some changes here,

It's best to provide the foreign key from the child entity for one to many relationships, e.g. I've added delegator: Delegator! and GraphQL will automatically add the navigation for Delegator.DelegatorRewards: DelegatorReward[]
Try the assert function instead of if statements, does the same thing
You should add the .gitignore file and the .github directory, once you're on a Mac these should be more visible if you enable hidden files and folders
We don't commit the types directory
To make things prettier, consider adding the Prettier autoformatter for VSCode and enable it in your settings to auto format on file save

@youssefea made some changes here,

It's best to provide the foreign key from the child entity for one to many relationships, e.g. I've added delegator: Delegator! and GraphQL will automatically add the navigation for Delegator.DelegatorRewards: DelegatorReward[]
Try the assert function instead of if statements, does the same thing
You should add the .gitignore file and the .github directory, once you're on a Mac these should be more visible if you enable hidden files and folders
We don't commit the types directory
To make things prettier, consider adding the Prettier autoformatter for VSCode and enable it in your settings to auto format on file save

Thank you ! This helpful !


ORM specify configuration and API key outside the code

Hi,
I have a simple ORM Model and of course I dont want to place any API keys inside the code, and I want to make those settings configurable anyways (as I have special testing and live databases on airtable).
class AirtableEvent(airtable.Model):
    title = airtable.fields.TextField("Titel")
    description = airtable.fields.TextField("Beschreibung")
    start = airtable.fields.DatetimeField("Start")
    end = airtable.fields.DatetimeField("Ende")
    url = airtable.fields.TextField("Url")
    address = airtable.fields.TextField("Adresse")
    location = airtable.fields.TextField("Ort")
    status = airtable.fields.TextField("Status")
    recurring = airtable.fields.CheckboxField("Wiederkehrend")
    source = airtable.fields.TextField("Quelle")
    google_calendar_meta = airtable.fields.TextField("Google Calendar Meta")
    google_uid_meta = airtable.fields.TextField("Google Uid Meta")
    google_sequence_meta = airtable.fields.IntegerField("Google Sequence Meta")
    trash = airtable.fields.CheckboxField("Papierkorb")

    class Meta:
        # This must be loaded from the configuration
        base_id = None
        table_name = None
        api_key = None

    @classmethod
    def load_json_config(cls, api_key, config):
        cls.Meta.base_id=config["base_id"]
        cls.Meta.table_name=config["table_id"]
        cls.Meta.api_key=api_key

Now if you use the class as it is right now, it will fail with ValueError: Meta.base_id must be defined in model
I can surpress this by setting it to a non-empty string and set those metadata afterwards. But how can we do this in a more proper way? I am searching for a good solution, do you have any idea?

My workaround has been to create a base class built on Model that loads the base_id and api_key from environment variables and is then inherited by all my data models. It's kind of wonky to have to set a placeholder string for the table_name like you say, but it works.
It would be nice to have a smoother way to set config variables.

@NicoHood I think your solution seems ok.
If we think is is an important problem we could do something like this:
    class Meta:
        ...
        disable_validation = True  # disable checking of values

Then in Model we check for this before calling _validate_class()

Another idea would be to pass the meta data at model creation. I mean, why not? But this would require us to also pass it for the all() function etc.
I dont think that defining the ids like this is a good idea anyways, I would remove or at least deprecate it. In the end nobody wants to hardcode stuff, so this is no long-term solution I think.

The reason fields are nested inside Meta is because I don't want to pollute the model namespace with "meta" /non-model attributes.
I think every field in the model should be properties of the "model/table", and everything else goes in meta.
I see this as a common pattern in many ORMs I have used it and I like it (django, flask-marshmellow, factory boy, etc)
Your use case is interesting and should be supported but not at cost of making simpler usage more complicated.
I think there are better ways to solve this.
One that comes to mind is to just override "Meta" with a custom class that can load values dynamically.
It would have to think more about this but my bandwidth for this project is currently pretty low

Yeah, we can use the config I made and move everything there as well. Was thinking about that too, but unsure first.
Maybe more in this direction:
@dataclass
class ContactConfig:
    first_name_field_id: str
    last_name_field_id: str

    # https://florimond.dev/en/posts/2018/10/reconciling-dataclasses-and-properties-in-python/
    base_id: str
    _base_id: str = field(init=False, repr=False)
    table_id: str
    _table_id: str = field(init=False, repr=False)
    api_key: str
    _api_key: str = field(init=False, repr=False)

    @property
    def api_key(self) -> str:
        return __self._api_key

    @api_key.setter
    def api_key(self, api_key: str):
        self._api_key = api_key

    @property
    def table_id(self) -> str:
        return __self._table_id

    @table_id.setter
    def table_id(self, table_id: str):
        self._table_id = table_id

    @property
    def base_id(self) -> str:
        return __self._base_id

    @base_id.setter
    def base_id(self, base_id: str):
        self._base_id = base_id

    @classmethod
    def from_json_config(cls, config):
        return cls(
            base_id=config["base_id"],
            table_id=config["table_id"]
            # Other cases left out to just demonstrate the idea
        )

    def get_field_id(self, field: fields.Field) -> str:
        # TODO I am not sure if you can reference fields of another class like that
        match responseNumber:
            case Contact.first_name:
                return __self.config.first_name_field_id
            case Contact.last_name:
                return __self.config.last_name_field_id
            # Other cases left out to just demonstrate the idea
            case _:
                raise ValueError("Unknown field id")

class Contact(Model):
    first_name = fields.TextField()
    last_name = fields.TextField()
    email = fields.EmailField()
    is_registered = fields.CheckboxField()
    partner = fields.LinkField(Contact, lazy=False)

    __config: ContactConfig

    def __init__(self, config, *args, **kwargs):
        self.__config = config
        super(Contact, self).__init__(*args, **kwargs)

So coming back here a few days later I still have no idea how we should dynamically pass the api key. I find it very hard to google for good resources. There are some existing ORM solutions, but they all fit just for SQL, but we need to build our own. And those are massivly complex (at least at my current know-how level) to understand.
@gtalarico You have more experience in that. If it is only the api key which we need to pass in, what would be the best way to do that? I think if I understand that mechanism I can extend it for the base id etc.

Weighing in a bit late, but I think one option is for Meta attributes to be typed Union[str, Callable[[], str]] and to either use the value as-is or call the callable the first time (or every time?) we need to get the value. That way implementers can do whatever they need to do, pull from os.environ, etc.
+1 to keeping this in Meta and not polluting the namespace of the actual Model subclass.


Ref problem

Fixes #1220

Awesome; looks good from here, modulo formatting stuff!!

Some digging into the example. When running:
fud e examples/sync/sync-if.futil -s verilog.cycle_limit 500 -s futil.flags ' -p no-opt' --through icarus-verilog -s verilog.data examples/sync/sync-if.futil.data --to vcd -v > out.vcd

The example fails with an OOB. It seems that the first address sent to the memory is 1 which is incorrect.

The sync code seems correct to me: the first synchronization happens before any of the memory are access which means the index should be zero. @paili0628 any thoughts?

Also, running the design with --to dat indicates that it runs for 495 cycles (500 - 5 cycles for reset) which means it is never terminating:
% fud e examples/sync/sync-if.futil -s verilog.cycle_limit 500 -s futil.flags ' -p no-opt' --through icarus-verilog -s verilog.data examples/sync/sync-if.futil.data --to dat
{
  "cycles": 495,

(Oops comments about the bug are for #1251)

Alright the debug refcell feature of rust failed to provide useful information. I have pushed the broken code. @rachitnigam can you take a look?

@paili0628 I fixed the problem by running the VSCode debugger and tracking where the borrow error was coming. The problem was the cell.borrow_mut() which was being kept alive because the ports_inline iterator was not collected. I fixed the problem but there seems to be some other bug in the code.


Cannot run it locally

Expected Behavior
Modify source code to propose new version
Actual Behavior
><EMAIL_ADDRESS>storybook /Users/sabativi/playground/react-multi-select
> start-storybook -p 6006

info @storybook/react v3.4.11
info
info => Loading custom .babelrc
info => Loading custom addons config.
info => Loading custom webpack config (full-control mode).
/Users/sabativi/playground/react-multi-select/node_modules/webpack/lib/DefinePlugin.js:97
                compiler.hooks.compilation.tap(
                               ^

TypeError: Cannot read property 'compilation' of undefined
    at DefinePlugin.apply (/Users/sabativi/playground/react-multi-select/node_modules/webpack/lib/DefinePlugin.js:97:18)
    at Compiler.apply (/Users/sabativi/playground/react-multi-select/node_modules/tapable/lib/Tapable.js:375:16)
    at webpack (/Users/sabativi/playground/react-multi-select/node_modules/@storybook/core/node_modules/webpack/lib/webpack.js:33:19)
    at exports.default (/Users/sabativi/playground/react-multi-select/node_modules/@storybook/core/dist/server/middleware.js:29:40)
    at buildDev (/Users/sabativi/playground/react-multi-select/node_modules/@storybook/core/dist/server/build-dev.js:163:36)
    at Object.<anonymous> (/Users/sabativi/playground/react-multi-select/node_modules/@storybook/react/dist/server/index.js:23:22)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
    at Module.require (internal/modules/cjs/loader.js:636:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (/Users/sabativi/playground/react-multi-select/node_modules/@storybook/react/bin/index.js:3:1)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>storybook: `start-storybook -p 6006`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>storybook script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/sabativi/.npm/_logs/2018-12-17T08_21_52_461Z-debug.log

Steps to Reproduce the Problem

git clone
npm install
npm run storybook

Specifications

Version: node 10.14.1
Platform: MacOS 10.13

@sabativi react-multi-select uses yarn.lock which means you need to use yarn to ensure that you are using the correct dependencies.
Could you please try installing the dependencies with yarn?
I will look into adding a package.lock to the project to support both.

@sabativi - Has the problem worked out for you? can I close this issue?

Yes


How to rotate Octahdrals locally along with unit cell axis

I am curious about crystal field effects on a given atom by analysing $m_l$ projected DOS, the individual d-orbitals are given with respect to the Cartesian coordinates (not the lattice constants). So if you have, say an octahedrally coordinated transition metal, we may need to rotate the cell such that the octahedron is oriented along the Cartesian axes. Example, the structure looks like,   . so the $d$ orbitals are not aligned with the Cartesian axis. Therefore, we need to construct a 3x3 rotational matrix that transforms to my desired frame. As I perform DFT calcuation in VASP in POSCAR format, so I am looking how to generate the transformation matrix using SUMO (for d orbitals, a 5x5 matrix) from POSCAR or any format of structural information file. Thank you in advance.

Could this be achieved by using ASE to rotate the initial geometry and write a POSCAR before calculation?
https://wiki.fysik.dtu.dk/ase/ase/atoms.html#ase.Atoms.rotate

Could this be achieved by using ASE to rotate the initial geometry and write a POSCAR before calculation?
https://wiki.fysik.dtu.dk/ase/ase/atoms.html#ase.Atoms.rotate
Should I rotate locally? Is using ASE will helpful for Octahedrals?

I've written a tool specifically for this in materials-toolbox.  See here: https://github.com/utf/materials-toolbox/blob/master/matools/reorient.py
You give the script a POSCAR, a central atom, and two more atoms that you want to align along the x and y directions and it will rotate the structure in cartesian coordinates for you.

I've written a tool specifically for this in materials-toolbox. See here: https://github.com/utf/materials-toolbox/blob/master/matools/reorient.py
You give the script a POSCAR, a central atom, and two more atoms that you want to align along the x and z directions and it will rotate the structure in cartesian coordinates for you.

My POSCAR contains 66 atoms. Did you mean that I have rotate locally each octahedrals aligned with Cartesian axis by selecting atom from POSCAR?

Are all octahedra aligned along the same direction? If not, you will have to generate N rotated structures where N is the number of orientations of octahedra.

Are all octahedra aligned along the same direction? If not, you will have to generate N rotated structures where N is the number of orientations of octahedra.

No, you see the structure,

the top layer and bottom layer octahdrals are in same alignment but centre transition metals containg layer is in different alignment. Kindly suggest how to resolve this problem the whole POSCAR file of this partcular structure to get correct $d_{xy}$, $d_{yz}, d_{xz}, d_{x^2-y^2} , d_{z^2}$ resolved DOS ?

If you want to do it with Sumo you will need to perform a separate calculation for each orientation, with a different group of octahedra aligned along Cartesiasn axes. You can use @utf 's tool to create those structures.
Perhaps there is a more computationally efficient way of doing this by extracting the atom and angle-resolved DOS and transforming the data from a single calculation, but it is not implemented in Sumo.

If you want to do it with Sumo you will need to perform a separate calculation for each orientation, with a different group of octahedra aligned along Cartesiasn axes. You can use @utf 's tool to create those structures.
Perhaps there is a more computationally efficient way of doing this by extracting the atom and angle-resolved DOS and transforming the data from a single calculation, but it is not implemented in Sumo.

Thank you @ajjackson. Can you kindly mention what is that more computationally efficient way?

I said "perhaps" because I haven't spent time to work out if it is actually possible 😅. (But I think this is what you were asking for when you mentioned a 5x5 matrix?)

I said "perhaps" because I haven't spent time to work out if it is actually possible 😅. (But I think this is what you were asking for when you mentioned a 5x5 matrix?)
You're looking to do a change-of-basis from Cartesian-aligned d-orbitals to some another basis (of d-orbitals in different alignment). There are Chemical Physics experts who do this sort of thing all day long, but it is a little out of my comfort zone. I would suggest to ask somebody who is expert in local-basis methods.

Yes exactly, that's what I am looking for and that process will be robust.  Thank you for your help and suggestion. You see here, I did DFT calculation with the given structure above, so as a consequence I get this kind of PDOS, where I couldn't distinguish which orbitals contributing where, I got mixed states, which is not correct,

@ajjackson @utf Yo Adam and Alex, I got this working with LORBIT=12 (matter of fact, 13 and 14 also works) in this repo.
I think this might be a good sell-point as:

No other post-processing code (that I know of) offers this feature.
Don't need to recalculate everything if you only want to get projected dos (bands) with a new rotated frame.
This might enable an automatic search for the best local rotation frame [work-in-progress].

I'm not sure what you guys think of adding this feature to sumo? If you like it, I'll submit a pull request later.

Wow, that looks like just the thing! Perhaps the user input could work a bit like Alex's tool: provide a few atom indices to determine the orientation. It would be wise for users to have a look at the wavefunction like you did in the example, but we can't really enforce that...

Yeah, that was just a proof of concept. The actual implementation will probably include user-defined azimuth, polar angles atom indices, s-p-d info, etc...
The wavefunction plot was done with https://github.com/QijingZheng/VaspBandUnfolding/blob/master/vaspwfc.py but I think once the automatic rotation is done, it will no longer be needed. (Plus for typical use cases like perovskites or other systems with octahedrons, the axes they want to rotate to are pretty apparent 😇)

Hi @Chengcheng-Xiao, this would be a fantastic feature! We would be very happy to accept a PR.


Training gets stuck after few steps

Training get stuck randomly after few step and never resumes.
Anyone else with this issue?

Make sure the video memory is enough


Modernize Error type

Closes #72

Forgot to add a comment on the review itself:
Looks good! :muscle:
I added a few polishing comments


How to implement metrics with a signature other than fn(y_true, y_pred)?

To add a loss and metrics to a model, I can add them to model.compile(loss=..., metrics=...), provided that they have the signature fn(y_true, y_pred), see the docs. If I have a loss with a different signature, e.g. because it also depends on some intermediate states of the model, then I can instead add it using add_loss in the model's call method. The same is no longer true for metrics, because the corresponding method add_metric became deprecated in Keras 3.
How am I supposed to implement metrics that do not follow the signature fn(y_true, y_pred), but require values from hidden layers inside the model?

To add some background here: I am implementing a variational autoencoder with total_loss=reconstruction_loss+kl_loss and I want both reconstruction_loss and kl_loss to be logged separately during training. In Keras 2, I could do this as follows
class VariationalAutoEncoder(keras.Model):
    def __init__(self, encoder, decoder, gamma=0.999, **kwargs):
        super().__init__(**kwargs)
        self.encoder = encoder
        self.decoder = decoder
        self.gamma = gamma

    def call(self, inputs):
        mean, log_var, z = self.encoder(inputs)
        reconstructed = self.decoder(z)

        reconstruction_loss = keras.losses.MeanSquaredError()(input, reconstructed)
        kullback_leibler_loss = -0.5*tf.reduce_mean(log_var-tf.square(mean)-tf.exp(log_var)+1)
        self.add_loss(self.gamma*reconstruction_loss+(1-self.gamma)*kullback_leibler_loss)

        # Additionally add losses as metrics to track them separately
        self.add_metric(reconstruction_loss, name='reconstruction_loss')
        self.add_metric(kullback_leibler_loss, name='kl_loss')

        return reconstructed

This no longer works in Keras 3 because add_metric is deprecated.

This can be done using the new structured loss feature:
import os

os.environ["KERAS_BACKEND"] = "tensorflow"

import numpy as np

import keras
from keras import layers
from keras import ops

class Sampling(layers.Layer):
    """Uses (z_mean, z_log_var) to sample z, the vector encoding a digit."""

    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.seed_generator = keras.random.SeedGenerator(1337)

    def call(self, inputs):
        z_mean, z_log_var = inputs
        batch = ops.shape(z_mean)[0]
        dim = ops.shape(z_mean)[1]
        epsilon = keras.random.normal(
            shape=(batch, dim), seed=self.seed_generator
        )
        return z_mean + ops.exp(0.5 * z_log_var) * epsilon

latent_dim = 2

encoder_inputs = keras.Input(shape=(28, 28, 1))
x = layers.Conv2D(32, 3, activation="relu", strides=2, padding="same")(encoder_inputs)
x = layers.Conv2D(64, 3, activation="relu", strides=2, padding="same")(x)
x = layers.Flatten()(x)
x = layers.Dense(16, activation="relu")(x)
z_mean = layers.Dense(latent_dim, name="z_mean")(x)
z_log_var = layers.Dense(latent_dim, name="z_log_var")(x)
z = Sampling()([z_mean, z_log_var])
encoder = keras.Model(
    encoder_inputs,
    {"z_mean": z_mean, "z_log_var": z_log_var, "z": z},
    name="encoder",
)
encoder.summary()

latent_inputs = keras.Input(shape=(latent_dim,))
x = layers.Dense(7 * 7 * 64, activation="relu")(latent_inputs)
x = layers.Reshape((7, 7, 64))(x)
x = layers.Conv2DTranspose(64, 3, activation="relu", strides=2, padding="same")(x)
x = layers.Conv2DTranspose(32, 3, activation="relu", strides=2, padding="same")(x)
decoder_outputs = layers.Conv2DTranspose(1, 3, activation="sigmoid", padding="same")(x)
decoder = keras.Model(latent_inputs, decoder_outputs, name="decoder")
decoder.summary()

vae = keras.Model(
    encoder.input,
    {"encoder": encoder.output, "decoder": decoder(encoder.output["z"])},
    name="vae",
)

def encoder_loss_fn(y_true, y_pred):
  z_mean, z_log_var, z = y_pred["z_mean"], y_pred["z_log_var"], y_pred["z"]
  kl_loss = -0.5 * (1 + z_log_var - ops.square(z_mean) - ops.exp(z_log_var))
  kl_loss = ops.mean(ops.sum(kl_loss, axis=1))
  return kl_loss

gamma = 0.5
vae.compile(
    optimizer="adam",
    loss={"encoder": encoder_loss_fn, "decoder": "binary_crossentropy"},
    loss_weights={"encoder": 1 - gamma, "decoder": gamma},
)

(x_train, _), (x_test, _) = keras.datasets.mnist.load_data()

mnist_digits = np.concatenate([x_train, x_test], axis=0)
mnist_digits = np.expand_dims(mnist_digits, -1).astype("float32") / 255

labels = {
    "encoder": keras.tree.map_structure(
        # dummy data, not used in the loss
        lambda _: np.ones((mnist_digits.shape[0], latent_dim)), encoder.output
    ),
    "decoder": mnist_digits,
}

vae.fit(x=mnist_digits, y=labels, epochs=30, batch_size=128)

Epoch 1/30
547/547 ━━━━━━━━━━━━━━━━━━━━ 16s 27ms/step - decoder_loss: 0.1729 - encoder_loss: 2.5852e-05 - loss: 0.1729

Merged a solution 2 days before I posted this issue, this must be this predictive maintenance I heard so much from ;-) Thank you for the quick response!


Check out possibilities of Allegro API.

Check if api is suitable for identifying book promotions.
Api must:

[ ] distinguish bookstores
[ ] identify promotions
[ ] identify book genre, author, price

Find first product by name in API


Modify event auth rules not to rely on depth

Signed-off-by: Marcus Medom Ryding<EMAIL_ADDRESS>

As per comments on #1061


Houdini: Collect currentFile context data separate from workfile instance

Changelog Description
Fix publishing without an active workfile instance due to missing currentFile data.
Now collect currentFile into context in houdini through context plugin no matter the active instances.
Additional info
Resolves #4860
Testing notes:

Start Houdini
Create a review instance and/or pointcache instance
Publish should work fine
Disable workfile instance
Publish should still work fine

The code looks good. There's bug fix for extract_review.py needed in order to test this PR but the fix is not related to this PR. See #4888
Overall, the publish can work with or without the workfile instance.


A4T info to update

Issue in ./help/getting-started/aa-vs-cja/cja-aa.md
I think with recent CJA release, the A4T info should be reviewed entirely.
-Eric

https://experienceleague.adobe.com/en/docs/analytics-platform/using/compare-aa-cja/cja-aa-comparison/cja-aa#new-support
Thanks!


Planning an API?

This is phenomenal, thank you for building it. 🙏
I noticed in the todos you've got "Distributed server backend" — are you planning to create an API for this?

Yes! Ideally, I'd like to be able to run a server that can track databases by user. So there could be Android/iPhone clients etc. without having to run giant PyTorch models on the device.
I don't really know how to to do this yet though, so any thoughts would be welcome. Have you got the repo working locally?


JavaScript Minifier is broken

When inputting JavaScript code into the minifier, it can overflow and interfere with the page.
To Reproduce
Steps to reproduce the behavior:

Go to the JS minifier
Copy the source code for jQuery into the "input" box (https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.js)
Click the minfiy button
See the overflow

Expected behavior
The JS stayed in the textarea for the minfied text.
Screenshots

Did you create minifier yourself?

Use htmlentities() or htmlspecialchars() function

Did you create minifier yourself?

Huh. I so thought that was part of this, guess not.

Nope


Wildcard matching option for query string parameters

This is a wildcard matching change so that /path/:to/:foo?* is an acceptable url from the UrlMatcherFactory. If given this will match all query string parameters and pass that down to the state. This will also by default cause a reload. You can set the option in your state for reloadWild: false to disable the auto reload based on changes here.
Please feel free to comment about what else you might like to see here as this meets my needs but I'm not sure it meets all needs that I've seen moving back and forth on this issues list. I'd be happy to update this for those needs or give someone else collaborator access to this branch if needed.

Arbitrary query parameters is a big deal in our app which utilizes backend search faceting. It's not feasible to register the parameters on the frontend since they can change at runtime. Is there any movement on this or a workaround?

Hi, i also needed this changes for my requirement of having dynamic query parameters being passed in the url. Is this going to be merged into master? When will i get this in the release?

Please implement this. It would be very useful to my project. For now my only option is hardcoding field names which are defined in the backend.

When will be this ready?

@nathanredblur No one is working on it right now.

I wound up patching our local version. With the patch you can use
QUERYPARAMS in a state definition e.g.
$stateProvider.state('mystate', { url: '/app/something/:query?QUERYPARAMS',
... });
This will set the QUERYPARAMS parameter to the JSON encoded query
parameters. Any other defined parameters are also set.
You can also do a
$state.go('mystate', {query: 'something', QUERYPARAMS:
JSON.stringify(myQueryParamsHash)});
to trigger a state change.
It's a kludge, but it works for our needs.
Patch is attached. I'm not sure how well github handles attachments, so if
you don't get it, let me know. The patch applies cleanly to 0.2.14 and
0.2.15.
On Tue, Sep 15, 2015 at 12:59 PM, Nate Abele<EMAIL_ADDRESS>wrote:

@nathanredblur https://github.com/nathanredblur No one is working on it
right now.
—
Reply to this email directly or view it on GitHub
https://github.com/angular-ui/ui-router/pull/115#issuecomment-140462542.

@frogomatic I donk think the patch is available from the attachment. Please could you make it available another way? Do you have a fork?

Yes, I have a fork: https://github.com/frogomatic/ui-router
The 'master' branch contains the QUERYPARAMS workaround. I applied the
patch to angular-ui-router.js, and manually to the source files, but not to
the minified js file.
There's also a 1119-workaround branch which contains a partial workaround
for the double-encoding of slashes in state parameters (issues 1119 / 1645)
On Thu, Sep 17, 2015 at 5:55 PM, Rob Walker<EMAIL_ADDRESS>wrote:

@frogomatic https://github.com/frogomatic I donk think the patch is
available from the attachment. Please could you make it available another
way? Do you have a fork?
—
Reply to this email directly or view it on GitHub
https://github.com/angular-ui/ui-router/pull/115#issuecomment-141240605.

how about add $stateSearch & $stateHash instead of change $stateParams

For my case, I can get param list in state's resolve, then I can update current state's searchParams dynamic. then trigger $urlRoute.sync() again. and now my state will get correct $stateParams .
As I see, this state.updateSearchParam need to update state.url, state.OwnParams & state.Params.
currently UrlMatcher dose not support update. and the contact not work for this case.

I know I've let this languish as the core team seemed a little against my initial attempt. If they have a suggestion for pushing this forward such as pulling in the changes from @kindy I'd be happy to help move this issue along. Any thoughts from the core team?

I think we're OK with the wildcard query parameter as a general idea.   However, internal parameter handling has had a major overhaul in 1.0, and will continue to change until 1.0 final is reached.  This PR will not be compatible with that branch, and parameters in that branch are a bit of a moving target at this time.
Before we'll accept a wildcard PR, we need to address the original caveat raised by ksperling back in 2013.  In order to determine which states in the toPath (if any) we should "keep" or we should "reload", we must associate the raw parameters with the states they belong to, and then compare the values.
We need to ensure that the wildcard query param does not interfere with mapping params to path parameters, and does not interfere with mapping query parameters to parent states, as well as to potential substates.
This may be challenging, because the parameters which are associated with a state are statically computed as discrete Param objects.
Here are some relevant lines:
https://github.com/angular-ui/ui-router/blob/f8e5f671eda0114becf5e618ceb4350ac01ab926/src/path/node.ts#L23-L26
https://github.com/angular-ui/ui-router/blob/f8e5f671eda0114becf5e618ceb4350ac01ab926/src/path/node.ts#L40-L41

Any update on this? I have a search system that accepts arbitrary "tag names" as params so I cant specify all params upfront in the urls.

BTW if you want to access query params you can still inject $location and grab them through $location.search().

@peterjhart, Yes, but the problem is if you don't specify param names in url - the state is not being reloaded. And if memory serves me right, also ui-sref will ignore additional params when generating urls.

@ergo ohisee. D'oh.


api: add support for filtering by software_name and engine_name

This is a requirement to: https://github.com/ooni/explorer/issues/343

In the meantime, these notebooks can be used for this purpose:
https://jupyter.ooni.org/notebooks/notebooks/easy_charts.ipynb
the usage is documented at https://jupyter.ooni.org/notebooks/notebooks/easyutils.ipynb


Replace sudo with doas and slim down image

sudo is deprecated in Alpine
using doas instead https://docs.alpinelinux.org/user-handbook/0.1a/Working/post-install.html#_granting_your_user_administrative_access
no need to package so many layers to the image

@davidferlay makes sense to explore ONBUILD option https://docs.docker.com/engine/reference/builder/#onbuild


Use border box sizing for MockPasswordTextBox

Change-Id: Ib9f8c477ceac7b673ea87b115e8e068305c72000

This PR fixes a small visual glitch in the designer view where the MockPasswordTextBox is larger than its selection rectangle.


[Communication] - Identity - Auth with Token Credential

Create a Authentication Policy using a token credential

\azp pipeline net - communication - tests


getOriginalRepositoryPath() in staticFileServer/ResourcePathHandler broken in xcode

This line: let currentFilePath = #file in getOriginalRepositoryPath() assumes that the value will be:
        // <original repository directory>/Sources/Kitura/staticFileServer/ResourcePathHandler.swift
        // the original repository directory is four path components up

However, with Swift 3.1, when Kitura is a dependency, the value is actually something like:
<original repository directory>/.build/checkouts/Kitura.git-6522211175291160341/Sources/Kitura/staticFileServer/ResourcePathHandler.swift

When running tests in Kitura itself, the value is still what it used to be, and so Kitura tests run fine.
However, this breaks several Kitura-Sample tests (where Kitura is a dependency) when running inside xcode 8.3 or using xcodebuild test
The same tests pass when using swift test with swift 3.1 because they use the current working directory to get the path to the file.
This can also break applications using Kitura StaticFileServer when running the application from xcode.

Put this in Slack, but should put it here, too.  Note that Apple considers the location where dependencies are checked out an "implementation detail" and reserves the right to change it on a whim.

Fortunately while we are tied somewhat to the location of the Kitura repository, we are not in any way tied to the name of the directory.
This "dependency" is actually in two places. The commit above fixes both f them for now.....


Delete garbage file temp.txt from the root of the source tree

Looks like this was introduced erroneously as part of 22b7ad54b0cff6ad6c95f5590d8560ecac7d3a04

@GrantMeStrength looks like you accidentally committed this file, can I get a review?

@drewbatgit can you take a look at this one too?


Stop prompting to update to alternative version

Issue Type: Feature Request
There appears to be a different install option for VSCode that you insist on constantlly produce annoying popup messages.
Please just stop!!!!
One message is probable one too many and the rest are just extremly annoying. If I cared I can see it in the release notices
VS Code version: Code 1.26.0 (4e9361845dc28659923a300945f84731393e210d, 2018-08-13T16:29:31.933Z)
OS version: Windows_NT x64 10.0.17713

I agree, this is quite irritating because it's not a simple process. I would understand for a trivial upgrade, but this installer immediately tells you not to install it (as you already have vscode installed).

You can click the ⚙ gear icon and then Don't Show Again. I've pushed a change which will make that option more visible.


Base table or view not found: 1146 Table 'homestead.mshop_locale_site' doesn't exist"

Super excited to use your shop, but ran into an issue. I went through the installation process, set up the .env file, then checked the serve, it showed http://<IP_ADDRESS>:8000 as expected. However upon opening this on the browser I got the following error:

Haven't figured out how to get around this. Any help you can give would be great, thanks!

hello im just trying out aimeos and im still having the same issue in the sceenshot

@aimeos
ive migrated the database and only the user tables and the passwords reset  tables are there
The database credentials

The error on browser

The installation

This repository is for the Aimeos shop application. If you install the Aimeos package for Laravel in your existing application, you have to use the step by step guide it its repository:
https://github.com/aimeos/aimeos-laravel#table-of-content
Your problem: You haven't run php artisan aimeos:setup --option=setup/default/demo:1 like stated in the readme file

thanks , it works now
i dont think i saw this command "php artisan aimeos:setup --option=setup/default/demo:1" in the readme tho


Updating validator error messages.

Fix #39
This PR is based on closed PR #41
This will handle errors and making sure the program is not showing ugly python stack trace when encountering errors when converting form.

Codecov Report

Merging #382 into master will decrease coverage by 0.1%.
The diff coverage is 56.25%.

@@            Coverage Diff             @@
##           master     #382      +/-   ##
==========================================
- Coverage   82.31%   82.21%   -0.11%
==========================================
  Files          23       23
  Lines        3246     3255       +9
  Branches      758      760       +2
==========================================
+ Hits         2672     2676       +4
- Misses        435      440       +5
  Partials      139      139

Impacted Files
Coverage Δ

pyxform/validators/odk_validate/__init__.py
75.47% <ø> (ø)
:arrow_up:

pyxform/xls2xform.py
70.12% <53.84%> (-4.16%)
:arrow_down:

pyxform/validators/error_cleaner.py
83.33% <66.66%> (+0.83%)
:arrow_up:

Continue to review full report at Codecov.

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

@lognaturel + @ukanga,
I think codecov is calculating the diff hit on the part where I change the spacing of the code on xls2xform too. I dunno how to increase the code coverage because that part is counted as removal.
ಠ_ಠ

@ukanga added the else block in the try-catch block.

Codecov wanting me to write more tests I guess.

This looks good to me. I don't really care about the Codecov complaint and would be comfortable merging without addressing it. In fact, I might even go so far as to suggest removing the "old style" tests but I don't feel strongly about it.
I think all that's needed here is a last pass by @ukanga to see whether he likes how his feedback was incorporated.


eos.getAccount() not behaving as expected

When I run
eos.getAccount("dylan1").then(function(res){     console.log(res) });
It returns this:
{ account_name: 'dylan1',   permissions:     [ { perm_name: 'active', parent: 'owner', required_auth: [Object] },      { perm_name: 'owner', parent: '', required_auth: [Object] } ] }
Expected should be:
{   "account_name": "name",   "eos_balance": "uint64",   "staked_balance": "uint64",   "unstaking_balance": "uint64",   "last_unstaking_time": "time",   "permissions": "vector<permission>",   "producer": "optional<producer_info>" }
As you can see, "eos_balance": "uint64",   "staked_balance": "uint64",   "unstaking_balance": "uint64",   "last_unstaking_time": "time", are all missing...

Eosjs is just pass-through for nodeos .. It is defainately your nodeos version.  How are you connecting to the backend?

Hmmm, I seem to have gotten it fixed thanks to some help in the Eos Developer chat by using getTableRows(). Apparently the data is no longer accessible with getAccount().

@Dylan-Phoon Could you tell which API can get those info for now?

@Dylan-Phoon, please share your solution


Crouton VPN

Please paste the output of the following command here: [Not Applicable]

name: xenial
encrypted: no
crouton: version 1-20200724165050~master:08dac970
release: xenial
architecture: amd64
xmethod: xorg
targets: xfce
host: version 13816.55.0 (Official Build) stable-channel setzer
kernel: Linux localhost 4.19.176-11262-ge5fd762f9648 #1 SMP PREEMPT Mon Apr 19 20:11:30 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux
freon: yes
Please describe your issue:
I've been trying a few types of vpn's with crouton including windscribe and proton vpn but can never get one set up on the crouton environment. I'm just looking for a free vpn that works with crouton. I would even be okay with a vpn working through crouton from chrome.
If known, describe the steps to reproduce the issue:
Try to set up a vpn from crouton

Do you have any debugging info or output that we could use to solve the issue?
You could get some, normally, by running the apps from the terminal.
You can also take a look at #2916.

Since crouton chroots uses the Chrome OS network and processes you can set up a VPN in Chrome OS and all crouton traffic will go through it. I use a PIA (Private Internet Access) VPN and it works great but there are many others.

Bevor running OpenVPN
In Chrome OS:

Strg+Alt+t

shell
sudo stop shill
sudo start shill BLACKLISTED_DEVICES=tun0

Source: https://www.google.de/url?sa=t&source=web&cd=&ved=2ahUKEwit6b2z7PXzAhXO57sIHZmjBI8QFnoECAsQAQ&url=https%3A%2F%2Fgithub.com%2Fdnschneid%2Fcrouton%2Fissues%2F2916&usg=AOvVaw021Y5LNNIKebUyLt24piHp


feat: add types #1

#2

#3

Updated for v2

@beautyfree Thanks for this and apologies for the delay! Looks like there's some conflicts. Would you be able to resolve them and double-check? Otherwise, I'll try to recreate this later today 🙂

@evan-gray what conflicts do you mean? 🙂


GTA VC - Bus drop off the same ped

The bus drop off the same 3 peds, Mtaljkstar already fixed it

Mtaljkstar already fixed it

In SCM or the game code?

The fix is really just a txt file I dropped in mod loader
I don't know where this need to be added, but here it is
167,	coach, 		coach, 		car, 	COACH, 		COACH, 			coach,	normal,	 	10,	7,	0,		255, 1

Ah, that's for default.ide, and thus it's a content issue, not code.

Even though this fix is in data, I'll keep this open as some code issue may be in play too.


ISF value in enacted pop-up "pill" shows only final ISF

Describe the bug
In the pop-up pill ISF value shows final ISF two times, "ISF: 2.2 > 2.2"
To Reproduce
Steps to reproduce the behavior:

Enable an Override with adjustment to ISF
Click on loop symbol to bring up the pill..'
See error

Expected behavior
correct should be in my example "ISF:3.0 > 2.2"
Screenshots

Trio version, branch and git reference (see Trio Settings)
v0.1.0

I think this is feature and not bug. The ISF value is adjusted according to the override, but dynamic ISF or autosens is still able to adjust ISF on top of this, which would show up as the ISF value at the right hand side of the arrow.
I think this issue can be closed as not  being a bug?

This is strange, can you see a change made by dynamic ISF on the pill? I have set autosens min and max to 1 and still after 3 loops shows auto sense ratio 0.7? When enabling dynamics ISF and using sigmoid and my test phone has bg delta high so dynamics adjustment should be high but no change in the pill? My TRIO version are not latest so will update tonight and do same test again.

@MRMProd could you please provide a more verbose list of steps of what exactly you are doing and what outcome you see but that isn’t along the lines of what you would expect to be true.
I must admit I am having a bit of trouble to follow what you are trying to see with which settings under which context where - log and or loop status hud 🤔

If enabling dynamic ISF and/or dynamic CR nothing shows in the pill?

 the scheduled ISF are 3

Here are an old 2.3.3 with Dynamic ISF and CR enabled

Have there been >1 loop cycles between you enabling it and looking at the hud? Sorry for asking seemingly weird question, just trying to get all details of what you do and what the expected outcome is.

@MRMProd Your 2.3.3 screenshot shows that DynamicISF is being used with Sigmoid off (all the purple blocks) and that Autosens has been calculated by DynamicISF to be 0.7.
Your Trio screenshot however, does not show DynamicISF being used at all, and Autosens is set to 1, therefore both X and Y in X->Y are the same.
Like @dnzxy mentioned, the HUD only changes after a loop cycle is ran, so toggling on Dynamic ISF (and CR) won't affect the HUD until the next loop cycle runs.
But also, has Trio been running for 21+ hours with a real pump and cgm attached to it? Because DynamicISF requires a minimum of 21 hours of insulin data to run.

Little confused with "EnableDynamicISF" called "useNewFormula" now

I agree that name is dumb, but that's what it was called in 2.3.3, and looks like it's still called that in the latest iAPS 4.2.0

Everything seems to work now, you can close this "bug". Most of the issue was 21+ hours making the display not showing correctly. One thing I can add to enhancement is changing the name in the pill from Autosense Ratio xx to Dynamic Ratio when dynamic is used. This is confusing for new users when they think it is auto sense but in reality is dynamic ratio (when dynamic is used). I did get Jon to change that in the new version just to clarify for new users. Sorry for taking up time from you guys but is was really strange before 21 hrs + used.


Certificate renewal instruction updated using dns chalange approach.

Certificate renewal instruction updated using dns chalange approach.

@TomasTomecek How exactly you want to perserve old approach? If we will keep it in "main" documentation it will make it long and maybe messy. Maybe link to older commit?

@TomasTomecek How exactly you want to perserve old approach? If we will keep it in "main" documentation it will make it long and maybe messy. Maybe link to older commit?

That's a fair point. Link to the commit sounds good to me (or moving it to a separate file).

@TomasTomecek How exactly you want to perserve old approach? If we will keep it in "main" documentation it will make it long and maybe messy. Maybe link to older commit?

That's a fair point. Link to the commit sounds good to me (or moving it to a separate file).

added link as there should be low probability that it will be required as this approach is simpler


Update documentation

README.md is out of date:

include missing commands

[ ] !removeaction
[ ] !help
[ ] !display

include missing event triggers

[ ] mentions

CONTRIBUTING.md is out of date:

[ ] New branches should be created from develop
[ ] Ready to review branches should be up to date with develop
[ ] Remove label part step

Hello, I would love to work on this documentation.

go for it @Annysah! happy hacktoberfest!
Let me know if you have any questions!

Am I to include the missing commands and the missing event triggers to the owner-only command

great question @Annysah! I updated the issue description, but at a high level, only the !removeaction command is owner only in this list.
The missing event trigger isn't a command, but a 'hook,' which I also added to the text.
Does that clarify enough?

Yes, one more question what about the !help and !display where will they belong?

:facepalm: I really thought this was a better formed issue than it was, sorry for all of this not being more obvious @Annysah!
I guess there isn't a section for that yet! Why don't we make a new section above 'Owner-only commands'? Maybe something like
#### Commands
Accessible by any user on any server where Steven is present
[ `!help` and `!display` command info ]

the wording there doesn't need to be exact, so feel free to change it if you think something else makes sense!

also, in case you're not able to run the bot on your own to see what the commands to, here are some screenshots of the !help and !display commands in action.
you can probably guess what !removeaction does, based on the !addaction information :)

hey @Annysah, slightly unrelated to this issue, but there have been some changes to the hacktoberfest ruleset, specifically surrounding what repositories are 'valid' entries for the event. I have updated this repo to be compliant (so any PR you make here will count towards contributions towards the event), but wanted to let you know that the rules had changed just in case you hadn't seen


(doc) Update ioredis README.md

With the PR want to extend the documentation's examples with an flush one.  Because of misunderstanding of the reset method we faced a small issue on prod, so with the PR I want to help others to prevent the same situation.

@mirus-ua thanks for your work :)


Feature request: Add chart with total stars collected (from all participants)

Thank you for this awesome extension!
One interesting chart would be to see how the total amount of stars grew that all people collected on the board.

Thanks for your kind words, and the suggestion!
Can you elaborate what you mean by "from all participants", and how it relates to this existing graph?

Are you suggesting some kind of "cumulative total" single line with the data from that graph? If so, out of curiosity: what would that graph 'represent'? Or if it's something else, please let me know what you'd like to see/do with the graph.
Happy puzzling!

Yes, a cumulative total. Essentially, the idea is to display something like: on this leaderboard, all members together have collected a total of 123 stars so far. Additionally, it would be great to have this represented as a graph to visualize how the total changes over time. It might seem like a small thing, but for our company leaderboard, it could be a fascinating way to track overall activity. Plus, it would allow us to compare this year’s activity with that of the previous year.