Hot loop when using Recreate update strategy with Go hook

As reported by @cohix, a lambda hook written in Go that generates a JSON response by serializing the Go structs from the Kubernetes API package can trigger a hot loop of child recreation because Metacontroller thinks the hook wants to set metadata.creationTimestamp to null.
This shows up in the Metacontroller logs as something like:
manage_children.go:143] reflect diff: a=observed, b=desired:

object[metadata][creationTimestamp]:
  a: "2018-08-20T21:21:50Z"
  b: <nil>

This happens because Metacontroller's apply semantics currently assume any field present in the hook response is a field the hook author explicitly wants to set. However, metadata.creationTimestamp is always serialized into the hook response regardless of whether the author wants it, because CreationTimestamp in the ObjectMetastruct is a non-pointer struct field, so the omitempty option has no effect:
https://github.com/kubernetes/apimachinery/blob/dcde72c465a0edef321bedc44fe1c16990970efe/pkg/apis/meta/v1/types.go#L175
Incidentally, metav1.Time has a custom JSON marshaler that serializes the zero value of the struct to null instead of "0001-01-01T00:00:00Z" (as you'd expect given it's a non-pointer field), but this doesn't change anything as far as Metacontroller is concerned. The problem is that the field gets serialized at all; we would prefer that it gets omitted.

At a high level, marshaling to JSON from a statically-typed language like Go makes it hard for hook authors to follow the guidance from Metacontroller that they should omit fields they don't care about. You would have to diligently ensure that all fields have proper omitempty semantics for uninitialized struct fields. In Go, that essentially requires using pointers for all struct fields, but if you import the structs from upstream Kubernetes, you don't have control over that.
One option could be to change Metacontroller so it doesn't try to update the field if the desired value matches the last-applied value. I actually thought it already does that because the intention was to match kubectl apply semantics, but then I remembered that Metacontroller is more aggressive about pushing towards desired state on purpose -- controllers generally ought to be more persistent than kubectl. Most controller authors would probably expect that their controller should "reset" the field back to the desired value if someone else changes it. With that said, I don't think we should rule out this option.
Another option is to somehow work around the problem by figuring out that, for some fields, null really means "I don't care" and not "please set this to null". However, that would require specific knowledge of the schema of objects being processed, which Metacontroller so far manages to avoid.

Is there any workaround for this? I’m using the kubernetes go library in my golang hook and seeing this same issue.

To unblock people who prefer to write hooks in Go, I've proposed #94 which enforces the invariant that Metacontroller should never try to update read-only, system-populated metadata fields. That should fix the immediate issue here with creationTimestamp, but it remains to be seen if we'll encounter other problems outside ObjectMeta where the Kubernetes Go API failed to use pointers for omitempty struct fields.

As mentioned above, the fix in #94 wouldn't work if there are other fields outside ObjectMeta that don't get omitted when left on their Go zero values.
For Pod, it seems like we are safe, but @danisla has found a new example in ReplicaSet (status.replicas is intentionally not omitempty), which shows that there will likely be other examples scattered throughout the Go API structs.
Given that, I'm leaning towards the other alternative proposed in the first post of this issue, which is to make Metacontroller's apply semantics match kubectl apply more closely in this scenario:

You apply something like replicas: 0.
Something else (e.g. Horizontal Pod Autoscaler) edits the object to set replicas: 5.
You apply again, but you still say replicas: 0.

In the case of kubectl apply, the HPA "wins" and your second apply leaves replicas at 5. That's because when you apply the same value as last time for a given field, kubectl assumes you mean that you don't care to change that field right now, so it remains at whatever value the live object on the server has.
By contrast, currently in that scenario Metacontroller assumes the controller is trying to maintain the state replicas: 0 even in the face of outside interference. I thought it would be surprising to a controller author if, for example, the user directly alters a field (e.g. with kubectl edit), and the controller doesn't reset it back to the "right" value. After all, the job of a controller is to continually push towards the desired state.
If we instead make Metacontroller match the kubectl apply behavior, it should prevent the whole class of endless updates discussed in this issue, but it might cause surprises in the other direction where people expect updates and they don't happen.
If any users want to weigh in on which behavior would be least surprising, that would help.

I think most of my use cases would prefer to match the behavior of kubectl apply. Can we have both and pick the right behavior in the controller config?

The example is a little weird

Sorry for using a confusing example. I actually did mean spec.replicas in the HPA example, but I was using it as a stand-in for a hypothetical spec field that is not omitempty. Given that we found status.replicas is not omitempty, I'm worried there are also spec fields lurking in the API that are not omitempty.

I tend to think kubectl apply semantics are more useful when a human is on the other side of the client.

Thanks for weighing in. This seems to confirm my suspicion that there are people out there who would reasonably be surprised by Metacontroller giving up so easily on enforcing what you ask it to.
@danisla wrote:

Can we have both and let the author pick the appropriate behavior via the controller config?

We could do that, but I'm worried that it will be difficult to know when you should use that setting, especially if the failure mode for using the wrong setting is endless updates. It would also force you to choose "give up semantics" instead of "fight semantics" just because you wrote your hook in Go. Even if we support both semantics, the language you use really ought to be orthogonal to your choice of apply semantics.
Maybe we can do a grep survey of existing Kubernetes APIs and see if my fear that there are non-omitempty spec fields is founded. If it's only status fields, we can introduce special behavior for that section of the object. Of course, it's always possible that new API fields will be introduced that break the rule. Also, people can easily make that mistake while writing their own Go structs for custom APIs.

So my temporary workaround is to copy the child type structs from the k8s go API to my controller and just omit their Status field so that when it's marshaled to JSON, the status field is omitted. This feels like a hack, but it emphasizes the importance of knowing how your data gets serialized with Go.
Maybe we can communicate some of these golang and k8s API caveats in the metacontroller docs?

Another thing that bit me and caused a hot loop was not having a stable serialization of my parent spec.
My spec contained a field of typemap[string]string, which has no order when being marshaled to JSON. As a result, the metacontroller.k8s.io/last-applied-configuration would change frequently because the order of the map items would get shuffled by the encoder. This was fixed by converting my parent CRD to a list of structs rather than a map. Not sure if there is any way around this, or if metacontroller had some way of creating a more stable encoding of the last-applied-configuration.

Thanks @enisoc, I'll keep debugging now that I know the map order shouldn't affect it.

Hi, I'm running into this hot loop as well could it be because the status of my resources have conditions that include a lastProbeTime? Something like this:
status:
  conditions:
  - lastProbeTime: "2019-05-22T14:15:49Z"
    status: "True"
    type: Foo
  - lastProbeTime: "2019-05-22T14:15:49Z"
    status: "False"
    type: bar

BTW, I'm using https://github.com/tidwall/gjson and https://github.com/tidwall/sjson so the problem is not the same as originally reported.
I have a const with an empty template of the child resource I want to generate and then I use sjson.Set() to populate it.
something like this:
const cnameCRD = `{"apiVersion": "example.com/v1","kind": "Cname","metadata": {"name": "","namespace": ""},"spec": {"record": "","target": ""}}`

// newCname Returns a new CNAME CRD in json format
func newCname(name, cname string) string {
	nameParts := strings.Split(name, ".")

	crd, _ := sjson.Set(cnameCRD, "metadata.name", nameParts[0])
	crd, _ = sjson.Set(crd, "metadata.namespace", nameParts[1])
	crd, _ = sjson.Set(crd, "spec.record", cname)
	crd, _ = sjson.Set(crd, "spec.target", name)

	return crd
}

And this is my response to metacontroller:
{
  "status": {
    "cnameRef": "",
    "hostsStatus": [],
    "conditions": [
      {
        "lastProbeTime": "2019-05-22T14:48:06Z",
        "status": "False",
        "type": "GSLBResolves"
      },
      {
        "lastProbeTime": "2019-05-22T14:48:06Z",
        "status": "False",
        "type": "CNAMEResolves"
      }
    ]
  },
  "children": [
    {
      "apiVersion": "example.com/v1",
      "kind": "Cname",
      "metadata": {
        "name": "service-1",
        "namespace": "new-crd"
      },
      "spec": {
        "record": "new-crd.dev.example.com",
        "target": "service-1.new-crd.dev.example.com"
      }
    }
  ]
}


Non descriptive error when namespace is used with a symbol

Came across this when doing some voodoo to figure out which environment i'm running in. Was pulling the environment from capistrano's rails_env variable which is typically a symbol rather then a string.
Originally was doing something equivalent to namespace :development
This caused the following error Missing setting 'development' in /Users/developer/Code/rails_app/config/settings.yml
Modifying Settings class to namespace :development.to_s resolved the issue.
Seems that this is something that should be done internally by settings logic but I admit its possible that the nature of yaml means you may need to be able to differentiate between strings and symbols. I guess a better error message or better documentation of this scenario would be just as good as once the cause is understood the solution is incredibly simple.

@X0nic -- I was having a similar problem (in a staging environment -- the error did not happen in my development environment) and @njdancer's solution worked. Happy to help you debug this if you'd like.
Here's a gist, but I don't know that it'll be helpful, but here's a gist: https://gist.github.com/robcole/0740565f473d25d52141


Use credential secrets instead of storing user/pass in spec

Using the spec was a quick hack so I didn't have to spend time on the providerconfig->terraform initialization, should be an easy task to convert it to use credential secrets like other providers.

This is a little wonky - I used the basic-auth k8s Secret Type[1] but the structure of the secretRef still requires a Key field to be specified. Need to chat with the team about this -- When dealing with user+pass pairs, it would be nice to use the basic-auth's more readable structure rather than double-encode a json value in a key of the secret or something like that.
[1] https://kubernetes.io/docs/concepts/configuration/secret/#basic-authentication-secret

to minimize difference with other providers I switched to storing only the password in a secret, which maintains the model of a secret ref having a required key field. example:
apiVersion: vsphere.terraform-plugin.crossplane.io/v1alpha1
kind: ProviderConfig
metadata:
  name: vsphere-provider
spec:
  user: user
  password: pass
  allow_unverified_ssl: true
  vsphere_server: "<IP_ADDRESS>:30443"
  credentials:
    source: Secret
    secretRef:
      name: vsphere-pass
      namespace: default
      key: password
---
apiVersion: v1
kind: Secret
metadata:
  name: vsphere-pass
type: Opaque
data:
  password: pass


[WIP] Introduce JSONAPIRequestProcessor

Sharing this work in progress to implement #628 for early feedback and/or awareness.
TODO List:

[ ] Move URL generation methods from JSONAPISource to JSONAPIRequestProcessor
[ ] JSONAPIRequestProcessor method visibility
[ ] JSONAPIRequestProcessor-specific tests
[ ] Consider naming
[ ] Consider direction of dependency between JSONAPiSource <-> JSONAPIRequestProcessor
[ ] Add deprecations
[ ] Document breaking changes
[ ] Should JSONAPIRequestProcessor be broken down

Looking at this, I am thinking maybe JSONAPISource should be NetworkSource this way it could be easier to support multiple different API styles through RequestProcessors. I am not sure Luke if this is your plan?

Interesting idea. I had not considered it. It certainly is true that
JSONAPISource is pretty small after this. There would be implications for
package structure to think about too. @dgeb WDYT?
On Tue, May 7, 2019 at 4:46 PM Paul Chavard<EMAIL_ADDRESS>wrote:

Looking at this, I am thinking maybe JSONAPISource should be NetworkSource
this way it could be easier to support multiple different API styles
through RequestProcessors. I am not sure Luke if this is your plan?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/orbitjs/orbit/pull/630#issuecomment-490249013, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAACYIUUQS5PASOZGHMHPLPUHTD7ANCNFSM4HK5EE7Q
.

@lukemelia @tchak I'd prefer to keep this package JSON:API-specific for now, since there are a lot of JSON:API-specific conventions still baked into the serializer and the request processors. It feels premature to go through the work of creating a general abstraction like NetworkSource (or RestSource for that matter), but let's keep this in mind.

I think this is coming along. A few questions for you at this stage @dgeb:

How do you think we should support customization of QueryOperators and TransformRequests? To wit, should the QueryOperators and TransformRequests dictionaries be importable to end developers? Should we allow override at source layer (currently implemented in this PR), or at requestProcessor layer?

Do we want to tweak our naming? The awkward part IMO is when we pass the JSONAPIRequestProcessor instance to the object returned by getTransformRequestProcessor.

Should URL building methods be moved to the JSONAPISerializer? And more generally, is the scope of JSONAPIRequestProcessor too broad and should it be broken down into other smaller pieces?

Documenting the results of a call @dgeb had re: my questions in the previous comment:

Let's keep the selection and implementation of query operators and transform requests private for this PR and defer extensibility in that are to a future PR.
Naming confusion will be reviewed by @dgeb when he tries out the code in this PR.
Let's extract the URL-building methods into a JSONAPIURLBuilder, which can be customized the same way that JSONAPIRequestBuilder can.

@dgeb I made the changes that we discussed, and then gave the PR a real-world test on our app's needs. I discovered two missing pieces:

A way to access the response document's meta node. (My use case is that some queries respond with content in meta that specifies a server timestamp for the response, which we cache and use in future queries to limit certain types of responses to data that has occurred since the last timestamp.)
An enhancement to how orbit applies the request options provided by customRequestOptions. In master, it uses a simple merge, which limits the ability to add to nodes of the standard request options, such as filter, include and sort. The most recent commit in this PR makes that merge "JSONAPI-aware", so that it merges filters, includes, and sorts nicely.

Let me know your thoughts. I was thinking item 2 above should perhaps be split into its own PR.

@lukemelia thank you! I will review in depth soon.
As to 1, is that now addressed to your satisfaction by processMeta introduced in https://github.com/orbitjs/orbit/pull/630/commits/f0a246e446512d9fafeebf83a0e0097b54f1bddf ?
As to 2, I'll see if I agree with the approach you've taken and then we can decide whether to keep it in this PR or split it off.

@dgeb re: 1, yes what I've included in the PR serves our needs adequately.
My one concern is that I know that meta can exist at different levels of a JSON:API document and I'm wondering if we need to concern ourselves with that and or consider whether the naming of processMeta is appropriate given that.

All feedback applied. Thanks, @dgeb.

Thanks for all your work on this @lukemelia!

🎉  Thanks for your guidance!


Add developer outline

I think this is going to barf, but at least we can see things in GatsbyCloud

Going to start a new pull request


[FEATURE] Allow Bridge Creation without Satellites

Is your feature request related to a problem? Please describe.
Currently the bridge macro requires effectivity satellite table details to be declared. Not all hubs and links come with a satellite node, therefore it would be nice for the macro to work without satellite details.
Describe the solution you'd like
Optional dependency of effectivity satellites in bridge creation.
Describe alternatives you've considered
N/A.
Additional context
This would likely affect the behavior in bridge_shared and potentially bridge.sql.
Docs: tut_bridges
AB#5343

Thanks for this request. This will be a feature implemented in our upcoming bridge re-work. We'll keep you updated!

Hello!
With the release of v0.11.0 today you may have seen we've deprecated the bridge() macro.
Don't panic about this! This is the first step to our planned re-work , which will still include this feature, among others.


[BUG]

setuptools version
setuptools==74.1.1
Python version
Python 3.10
OS
linux
Additional environment information
No response
Description
I face the following issue
canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'
Solved by using older version
setuptools (74.1.1 -> 67.6.1)
Expected behavior
run successfully on latest version
How to Reproduce
run poetry install --all-extras with setuptools dependencies (>=74.1.0)
Output
`canonicalize_version() got an unexpected keyword argument 'strip_trailing_zero'`

See #4483


branding related changes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 75.105%

Files with Coverage Reduction
New Missed Lines
%

InvenTree/plugin/integration.py
1
95.12%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
17166

Relevant Lines:
22856

💛  - Coveralls


add hook to disable scrolling with js

close #1281
close #1201

Think creates very janky behaviour when opening this modal and scrolling. I can scroll a bit but then it brings me back up


Added support of cpuset and memswap_limit options in fig.yml.

I added support for cpuset and memswap_limit options. unfortunately cpuset support was only added on docker-py 0.6, so i updated the setup.py and requirements.txt to use 0.6 (i saw there is already an open PR on this #659 ).

These are both supported now.

@aanand I don't think they are. We can track in https://github.com/docker/compose/issues/754


chore(deps): update common-dev-assets digest to ccd14fe

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
f8b40e2 -> ccd14fe

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

:tada: This PR is included in version 2.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add isDomainName

Resolves #161.
Description

What is the purpose of this pull request?

This pull request:

adds an assertion utility for testing whether a value is a domain name

Related Issues

Does this pull request have any related issues?

This pull request:

resolves #161

Questions

Any questions for reviewers of this pull request?

No.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

Thanks! Added test values.


feat(web): Secret store with only browser local data

Functional version of secrets store with add and delete functionality, not hooked up to back end yet
Also implements a global secrets panel on the customize screen. On this iteration,  this is for development purposes only

bors merge


It is also possible to use pre-set the keys in the keyvault and use just Get permissions from the kubernetes pod

In the article it is stated:
The access policy should grant the identity the following secret permissions: Get,Set, List, and Delete.
It is however, also possible to create the KeyVault keys before launching the pod and allow the pod to only use Get permissions. For production environments it might not be possible to use all Get,Set, List, and Delete permissions as is the case in my current project.
I've set AzureWebJobsSecretStorageType to "keyvault" and AzureWebJobsSecretStorageKeyVaultUri to my vault URI and only allow the workload identity to use Get. In the vault I have preconfigured the following secrets:

host--functionKey--default
host--masterKey--master
host--systemKey--durabletask-095extension (note: the -095 is converted to an underscore by the functions host, it needs exactly the key "durabletask_extension" but KeyVault does not allow the underscore in the secret name)

It took me quite a bit of studying the code of the Azure Functions WebHost (https://github.com/Azure/azure-functions-host/tree/dev/src/WebJobs.Script.WebHost) so I figured it might help some people to add this to the docs.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 18aa54fd-3aa1-37c5-925c-51a0195b1030
Version Independent ID: 60198016-1ea9-e7ae-b00b-2c665d5ad8ca
Content: App settings reference for Azure Functions
Content Source: articles/azure-functions/functions-app-settings.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@gerbendv
Thanks for your feedback! We will investigate and update as appropriate.


Missing opensource license

The nuget package published comes with an MIT License, while the git repository does not.
Is it on purpose or just forgotten?

Forgotten or don't know where to set it, or how... maybe just missing license file, will look into it


Round 2 for Drupal transaction isolation, fixes #4281

The Problem/Issue/Bug:

#4281
Previous totally-valid solution: https://github.com/drud/ddev/pull/4339

How this PR Solves The Problem:
This is an alternate technique for setting Drupal transaction isolation level. I apologize for re-doing it @tyler36.
Manual Testing Instructions:
Install and/or Bring up a variety of Drupal 9.4, 9.5, 10 sites and view admin/reports/status looking for the warning.
Automated Testing Overview:

Related Issue Link(s):
Release/Deployment notes:

strange. i got the aforementioned error. but i'Ve deleted all postgres images yesterday. so there werent any. but a docker images -a returned:
REPOSITORY                        TAG                       IMAGE ID       CREATED        SIZE
postgres                          14-postgres-built         6c2c7b05ebc1   40 hours ago   414MB
postgres                          14                        3c326264b599   4 days ago     357MB

real strange. but then i did a ddev launchand went through the installer. no complaints. will quickly try postgres 15 which i definitely have not installed yet with a drupal 10.1 install. and see if that error comes again

strange. the only postgres version i had installed was 14. now i started a ddev project with 15.
$> ddev start
Starting postgres15...
15: Pulling from library/postgres
dd6189d6fc13: Already exists
e83a243abe4a: Already exists
e1e5d0e9701b: Already exists
b8172b349685: Already exists
83dad09f3014: Already exists
c4849d0ca437: Already exists
7642d443be37: Already exists
a40f15729374: Already exists
d965a7635506: Already exists
aa94e54c6bb6: Already exists
6d955f7fa1ab: Already exists
3cd6711cf4eb: Already exists
2899081d3dc1: Already exists
Digest: sha256:bab8d7be6466e029f7fa1e69ff6aa0082704db330572638fd01f2791824774d8
Status: Downloaded newer image for postgres:15
docker.io/library/postgres:15

now all parts already existed? yesterday when i first tried one part already existed the other had to be downloaded. i wonder why all already exist? is aside the images also some sort of docker cache on my computer??? but everything went fine afterwards. drupal 10.1 with postgres 15 also no problems still.
ok i went ahead and manually checked all docker images available. docker rmi'ed the postgres 14 and 15 and then created another new project with drupal 9 and postgres14 that had the strange error before. now it worked but same like postgres15.
$> ddev start
Starting post...
14: Pulling from library/postgres
dd6189d6fc13: Already exists
e83a243abe4a: Already exists
e1e5d0e9701b: Already exists
b8172b349685: Already exists
83dad09f3014: Already exists
c4849d0ca437: Already exists
7642d443be37: Already exists
a40f15729374: Already exists
0d91bb9f75c8: Already exists
11d50fc375b9: Already exists
58770f84c28e: Already exists
c66c6cdaad21: Already exists
466f8597e006: Already exists
Digest: sha256:135c62a8134dcef829a1e4f5568bfae44bcfa2c75659ff948f43c71964366aa4
Status: Downloaded newer image for postgres:14
docker.io/library/postgres:14

odd that nothing has to be downloaded even though images were deleted. but aside that everything working

is it possible that the already exists statements are due to dockers build cache? did a docker system df -v and foudn several entries in that build cache section i completely forgot.

I like this approach. Although I think it hides the settings deep within DDEV code and not obvious to new Drupal if/where it is set.
I would like to suggest we display a message when we set it. Something like the following:
Starting d9-demo...
....
'pg_trgm' extension enabled.
'TRANSACTION ISOLATION LEVEL' set.
Network ddev-d9-demo_default  Created
Container ddev-d9-demo-web  Started

....
'pg_trgm' extension enabled.
'TRANSACTION ISOLATION LEVEL' set.
Network ddev-d9-demo_default  Created
Container ddev-d9-demo-web  Started
Not sure if this makes it "too noisy" though.

@rpkoller  Error response from daemon: Head "https://registry-1.docker.io/v2/library/postgres/manifests/14": Get "https://auth.docker.io/token?scope=repository%3Alibrary%2Fpostgres%3Apull&service=registry.docker.io": dial tcp: lookup auth.docker.io on <IP_ADDRESS>:53: read udp <IP_ADDRESS>:54863-><IP_ADDRESS>:53: i/o timeout is purely network trouble, possibly on your end or docker's end, but can also be Colima. When I see too many of these I restart Colima. Colima has a lot of DNS trouble; you're using <IP_ADDRESS> but still....
As far as docker layer caching... when you delete an image it doesn't mean the cached layers are deleted. But nothing to worry about.

@tyler36 I agree that a message would makes sense... but it would be every single ddev start in that case. I think too noisy. The fact that we're making it easy for people is normal, I think they'll accept that DDEV does lots of work for them. (I even turned off where used to explain about creating settings files and settings permissions over in https://github.com/drud/ddev/pull/4334 - that had been there forever... but somebody thought it was an error message. And everybody else for years was ignoring it.

@rpkoller Error response from daemon: Head "https://registry-1.docker.io/v2/library/postgres/manifests/14": Get "https://auth.docker.io/token?scope=repository%3Alibrary%2Fpostgres%3Apull&service=registry.docker.io": dial tcp: lookup auth.docker.io on <IP_ADDRESS>:53: read udp <IP_ADDRESS>:54863-><IP_ADDRESS>:53: i/o timeout is purely network trouble, possibly on your end or docker's end, but can also be Colima. When I see too many of these I restart Colima. Colima has a lot of DNS trouble; you're using <IP_ADDRESS> but still....

ahhh ok good. and haven't noticed any DNS trouble yet with colima fortunately. but will keep my eyes open in the future. just happened the first time to me.

As far as docker layer caching... when you delete an image it doesn't mean the cached layers are deleted. But nothing to worry about.

yep i've also just noticed that behavior the first time consciously.
and in regards of @tyler36's point. i agree it would be a good thing to be transparent what is done under the hood but i also agree with @rfay that startups might become more of an information overload. but how about adding those details in the docs? add another paragraph to the drupal section in here perhaps? https://ddev.readthedocs.io/en/stable/users/quickstart/#system-requirements or is there a more specific place where all the measures a configuration entails for a cms?

I agree about another paragraph in the Drupal section of the docs. Great idea. Then we don't have to feel guilty. Drupal folk get away with not knowing much about sysadmin when using DDEV.

Drupal folk get away with not knowing much about sysadmin when using DDEV.

DDEV, it just works tm


Add a __post_init hook, general updating and cleanup

Adds a __post_init hook, like we have in esp-riscv-rt
Updates dependencies to their latest versions

Updated syn from 1.x to 2.x in the proc-macro crate

Bumped version numbers of xtensa-lx-rt-proc-macros and xtensa-lx-rt packages in preparation for new release
Added a rust-toolchain.toml file

Sorry for the other noise, just trying to get the Cargo manifests consistent with the others. Additionally I bumped the MSRV to 1.65 since that's what we're using for the PACs/HALs anyway.

I think we don't use it anyway but in xtensa.in.x we probably want to add
PROVIDE(__post_init = default_post_init);
or maybe we want to get rid of xtensa.in.x completely ... not sure

Okay I've updated the linker script for now, guess we can discuss whether or not to remove the linker script at another time.
Thanks for the review!


How to register enums OR constants

How can we or is it possible to register enums / constants to the GDScript API?
This could be something to add in the future, no?!

In Godot scripting there are no "enums" or "constants". GDScript fakes those by making constants into properties with and invalid setter. enums are just dictionaries (which are also just properties).
So no, there is no good way to do that. Maybe the bindings could fake something, but I'm not sure how that would be done nicely.

"GDScript fakes those by making constants into properties with and invalid setter" @karroffel I thought of that but I can't access it unless I have an instance of the class MyClass.MY_CONSTANT would not work... only MyClass.new().MY_CONSTANT ... no?!


Remove dependency on CUDA / KernelAbstractions in toplevel ClimaComms package

These deps can now live in sub packages that extend the toplevel abstract impl.

Probably would be good to do before registering


pom file error. Jar file when installed as a dropin generates an error.

The project builds, but the jar file that is built, when put into dropins raises an error.

Resolved with #917db64 commit.
Deploys as dropinn


⚠ Fetchers has degraded performance

In 5380860, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 294 ms

Resolved: Fetchers performance has improved in 8116992.


Analytics

Is it possible to somehow add analytics to your webpanel? Like for example, how many people total, how many people added today how many yesterday, how many % have this gpu whats the biggest gpu % and so on?

It's possible sure, like how it's done on the miner page.

Do you mean something like this?

Do you mean something like this?

How to add these features?

Do you mean something like this?

yes i do, you have the source?

also is it possible to add a sort of "group" variable to the web panel? like just put it in the ethminer.exe commandline --cinit-group "Warehouse 1" so its possible to know where it is.

why do u ignore

why do u ignore

Because I've been working on it all day and haven't finished yet.

Because I've been working on it all day and haven't finished yet.

Oh, okay im so sorry for being disrespectful

@Sh4r3catyt @varysuzuki @shainodev Here is the v1.7.1 beta version: UnamWebPanel.zip

also is it possible to add a sort of "group" variable to the web panel? like just put it in the ethminer.exe commandline --cinit-group "Warehouse 1" so its possible to know where it is.

Not fully sure what you mean, but you could also just change the "version" of the miner through the command --cinit-version="3.1.0 Warehouse 1" for example (only added 3.1.0 so that you would also know the version and not only the "group").


[BUG] Semantic Kernel Bot in-a-box document upload is not working

Solution Accelerators
This repository contains multiple solution accelerators. Please tell us which ones are involved in your report. (Replace the space in between square brackets with an x)

[ ] Cognitive Services Landing Zone
[ X] Semantic Kernel Bot
[ ] Azure ML Operationalization
[ ] Edge AI

Describe the bug
After Semantic Kernel Bot in-a-box solution is deployed or in local mode it doesn't allow for uploading of documents to chat against.
Document upload not supported as no Document Intelligence endpoint was provided
Additional context
I am creating a pull request to resolve this issue

Hello again!
After reviewing the content of the Startup.cs file, we found an error in a previous merge that removed this block - which should've been there in the first place.
I've fixed the Startup file in the latest version - would you kindly let us know if you're able to upload documents now?
Thank you!

@MarcoABCardoso yes, the upload works once the startup.cs is updated.

Thank you for confirming! Closing this as resolved.


Unable to compile lcerror.c

gcc -O2 -fPIC -I/home/kyson/workspace/devlop/release/sdk/ar71xx/staging_dir/hostpkg/include -c src/lcerror.c -o src/lcerror.o -I/mnt/sda1/install/lua-5.1.5/src
src/lcerr_easy.h: In function 'lcurl_err_easy_mnemo':
src/lcerror.c:32:22: error: duplicate case value
#define ERR_ENTRY(E) case CURLE_##E: return #E;
^
src/lcerr_easy.h:74:1: note: in expansion of macro 'ERR_ENTRY'
ERR_ENTRY ( SSL_CACERT               )
^
src/lcerror.c:32:22: error: previously used here
#define ERR_ENTRY(E) case CURLE_##E: return #E;
^
src/lcerr_easy.h:65:1: note: in expansion of macro 'ERR_ENTRY'
ERR_ENTRY ( PEER_FAILED_VERIFICATION )
^
Please can someone help?

What version of libcurl you use?
According docs and source code CURE_PEER_FAILED_VERIFICATION and CURLE_SSL_CACERT have to have different values
But as quick fix you can try comment out one of this values in lcerr_easy.h file.

How can I check the version of libcurl?  I’m sure I have libcurl.so.4 if that helps?

You can checkout curl/curl.h to find out what values assigned to these error codes
Also you can checkout  and  curl/curlver.h file to find out libcurl version.

Thank you that helped so much.  I have this one working now.


servers field in @asyncOperation object does not link to the correct server object

Describe the bug
The servers field in the @asyncOperation object does not link to the correct server object.
Dependencies and versions used
springwolf-kafka 1.0.0
Code example
In my application properties, I define 2 servers:
# Springwolf Kafka Configuration
springwolf.docket.servers.kafka.protocol=Kafka [Avro]
springwolf.docket.servers.kafka.host=${kafka.new.bootstrap-server-config}
springwolf.docket.servers.kafka-old.protocol=Kafka [Old]
springwolf.docket.servers.kafka-old.host=${kafka.bootstrap-server-config}

In the producer class, I define the server of the producer:
@AsyncPublisher(
        operation = @AsyncOperation(
            channelName = REWARD_BANNER_REQUESTED_PRIVATE,
            description = "Publish private reward banner requests events",
            payloadType = RewardBannerRequestedPayload.class,
            servers = {"kafka"}
        )
    )

However, in the doc output, the kafka server is not referenced correctly:
"reward.banner.requested.private": {
      "messages": {
        "com.moneylion.rewards.usecase.dto.RewardBannerRequestedPayload": {
          "$ref": "#/components/messages/com.moneylion.rewards.usecase.dto.RewardBannerRequestedPayload"
        },
        "org.apache.kafka.clients.consumer.ConsumerRecord": {
          "$ref": "#/components/messages/org.apache.kafka.clients.consumer.ConsumerRecord"
        }
      },
      "servers": [
        {
          "$ref": "kafka"
        }
      ]
    },

Where, according to https://studio.asyncapi.com/#server-kafka, the correct servers field should be:
"servers": [
        {
          "$ref": "#/servers/kafka"
        }
      ]

Stack trace and error logs
N/A

Thanks for the update @timonback !

Thank you for the report, the issue has been addressed in the new release.
Feel free to reopen this issue if there is still something missing.


Feature request: luci-app-wireguard save peer AllowedIPs configuration

What would you like to see in luci?
When generating a QR code for a peer, there is a field to define the AllowedIPs that the generated configuration/QR code should instruct the client to configure.  This value defaults to <IP_ADDRESS>/0, ::/0 which results in all traffic being routed through the VPN, which may not be what is desired.
But this value can be edited on that page to change the configuration that the QR code describes but that change is only valid while that page is open and needs to be adjusted every time one enters that page to generate a QR.
It would be nice if there was a way to persist this preference in the config in some way so that the generated QR is correct per the admin's desired value for a client's AllowedIPs without having to make that adjustment every time a QR code generation is requested.

This already exists in the edit peer dialogue. They're called.... Allowed IPs, followed by Route Allowed IPs checkbox. Open that dialogue and context changes to the point of view of the remote peer: we have a new Allowed IPs in this qrcode dialogue to ensure the client who will receive this tunnel route all their traffic over it. Suitable for "most situations".
Return to the edit peer dialogue and the context, or point of view, is back to that of the router you're configuring. It doesn't need <IP_ADDRESS> to reach the peer - it likely only needs a single IP.
How can this be improved? (It can, it just requires a bit of thought)

Your description is that of the peer's entry on the OpenWrt server.  The AllowedIPs on the page you are describing turns into the list allowed_ips in /etc/config/network.
As I said previously, I am referring the QR code that is generated when one clicks on Configuration Export on that same page.  It's the Allowed IPs in that page which the user needs to adjust and which adjustments to not persist, so they need [re-]adjusting every time you go into that page.  Those should be persisting somehow/where IMO.


Cannot run certain effects without explicitly annotating expected return type

Expected Behavior
You should be able to run an effect without explicitly annotating the return type
Current Behavior
In some cases, there are compilation errors when a run method is called without explicitly annotating the expected result type
Minimized example
Note: the same problem arises when you do not include Envs[String] in Example.effect, but it is resolved when you get rid of Options
import kyo.*
import kyo.consoles.*
import kyo.envs.*
import kyo.options.*
import kyo.aborts.*

final case class Dep(int: Int)

object Example:
   // Given the following effect:
   val effect = for {
      int1 <- Envs[Dep].get.map(_.int)
      int2 <- Options.get(Some(23))
      int3 <- Aborts[String].get(Right(50))
      _ <- Consoles.println((int1 + int2 + int3).toString)
   } yield ()

   // Compiles
   val withOptionsRun: Option[Unit] > (Consoles & Aborts[String] & Envs[Dep]) =
      Options.run(effect)
   val withEnvsRun: Unit > (Consoles & Aborts[String] & Options) =
      Envs[Dep].run(Dep(900))(effect)
   val withAbortsRun: Either[String, Unit] > (Consoles & Options & Envs[Dep]) =
      Aborts[String].run(effect)

   // Does not compile
   val withOptionsRunInferred = Options.run(effect)
   val withEnvsRunInferred = Envs[Dep].run(Dep(900))(effect)

   // Compiles (???)
   val withAbortsRunInferred = Aborts[String].run(effect)

Error message from withOptionsRunInferred:
Method doesn't accept nested Kyo computations. Detected: 'scala.Unit > kyo.envs.Envs[Dep] & kyo.consoles.Consoles & kyo.options.Options & kyo.aborts.Aborts[scala.Predef.String] > kyo.options.Options'.
Consider using 'flatten' to resolve. Possible pending effects mismatch: Expected 'kyo.options.Options', found 'kyo.envs.Envs[Dep] & kyo.consoles.Consoles & kyo.options.Options & kyo.aborts.Aborts[scala.Predef.String]'.

Error message from withEnvsRunInferred:
Method doesn't accept nested Kyo computations. Detected: 'scala.Unit > kyo.envs.Envs[Dep] & kyo.consoles.Consoles & kyo.options.Options & kyo.aborts.Aborts[scala.Predef.String] > kyo.envs.Envs[Dep]'.
Consider using 'flatten' to resolve. Possible pending effects mismatch: Expected 'kyo.envs.Envs[Dep]', found 'kyo.envs.Envs[Dep] & kyo.consoles.Consoles & kyo.options.Options & kyo.aborts.Aborts[scala.Predef.String]'.

Context (Environment)
Scala 3.3.1
kyo 0.7.0

Thanks for the report! It think it's some limitation or bug in the Scala's type inference. It seems there's something special about Aborts. If I remove it, the code works without type annotations but fails to compile if I put it back. I also included several other effects and tried to move the Aborts call to different positions of the for-comprehension but the code only fails to compile when Aborts is used. Other effects seem unaffected.
 For some reason, Scala isn't able to infer that the effect is part of the pending set once Aborts is introduced. When this kind of mismatch happen, the compiler ends up widening to T > Effects > Any, which the macro detects.
Another interesting piece of information: Aborts and Envs are remarkably similar in structure but the issue only happens with Aborts.

Yeah I was surprised to see the issue arise with aborts and not with envs (I originally assumed it had to do with the type parameter, which I know can complicate type inference). This will complicate usage. Do you think it's worth adding a message to the flatcheck error warning users about the issue?

I couldn't reproduce anymore. I'm not sure what fixed it so please feel free to reopen this issue if you encounter it again.
package kyo

import kyo.*

final case class Dep(int: Int)

object Example:
    // Given the following effect:
    val effect =
        for
            int1 <- Envs[Dep].get.map(_.int)
            int2 <- Options.get(Some(23))
            int3 <- Aborts[String].get(Right(50))
            _    <- Consoles.println((int1 + int2 + int3).toString)
        yield ()

    // Compiles
    val withOptionsRun: Option[Unit] < (IOs & Aborts[String] & Envs[Dep]) =
        Options.run(effect)
    val withEnvsRun: Unit < (IOs & Aborts[String] & Options) =
        Envs[Dep].run(Dep(900))(effect)
    val withAbortsRun: Either[String, Unit] < (IOs & Options & Envs[Dep]) =
        Aborts[String].run(effect)

    // Does not compile
    val withOptionsRunInferred = Options.run(effect)
    val withEnvsRunInferred    = Envs[Dep].run(Dep(900))(effect)

    // Compiles (???)
    val withAbortsRunInferred = Aborts[String].run(effect)
end Example


BUG: shell-safe-rm can't deal with symbolic links on Linux

shell-safe-rm can't deal with symbolic links pointing to directories, for example:
$ export SAFE_RM_DEBUG=1
$ cd /tmp/
$ mkdir test
$ ln -s test test_link
$ rm test_link
[D] file test_link
[D] 1 files or directory to process: test_link
[D] ls_result: test_link
[D] 216: test_link: is a directory
safe-rm: test_link: is a directory
[D] remove returned status: 1
[D] EXIT_CODE 1

The only way to delete a link to a directory is to pass -r parameter, unlike the standard rm will do:
$ rm -r test_link
[D] short option -r
[D] file test_link
[D] recursive    : -r
[D] 1 files or directory to process: test_link
[D] ls_result: test_link
[D] trash test_link
[D] mv test_link to /home/developer/.local/share/Trash/files/test_link-2017-03-31_12:25:11-0
[D] 254: trash returned status 0
[D] remove returned status: 0
[D] EXIT_CODE 0

I think I've resolved this issue, I will submit a PR

landed in 2.0.0


MSTest 2.2.5 does not work with [DataTestMethod] [DynamicData] and a complex object that has private properties set through constructor

Related to https://github.com/microsoft/testfx/issues/844
We also had this issue when upgrading to 2.2.4 and even 2.2.5 did not fix our issue.
The test still fail when the complex object is created through a constructor or static method and sets private properties.
I've created an example: https://github.com/CoeckelberghPJ/TestFxBug

I have the issue too!

Me too. This is my example. It's basically a truth table of an OR operation between Value1 and Value2:
[TestClass]
public class UnitTest2
{
    [TestMethod]
    [DynamicData(nameof(GetTestCases), DynamicDataSourceType.Method, DynamicDataDisplayName = nameof(GetDescription))]
    public void TestMethod1(Context context, bool expected)
    {
        Console.WriteLine($"{context}; Expected: {expected};");
        var result = context.Value1 || context.Value2;

        Assert.AreEqual(expected, result);
    }

    private static IEnumerable<object[]> GetTestCases()
    {
        object[] TestCase(bool value1, bool value2, bool expected)
        {
            var context = new Context();
            context.SetValue1(value1);
            context.SetValue2(value2);
            return new object[] { context, expected };
        }

        yield return TestCase(false, false, false);
        yield return TestCase(false, true, true);
        yield return TestCase(true, false, true);
        yield return TestCase(true, true, true);
    }

    public static string GetDescription(MethodInfo _, object[] objects) => $"{{{objects[0]}}}; Expected: {objects[1]};";

    public class Context
    {
        //public Context(object o = null) { }
        public bool Value1 { get; private set; }
        public bool Value2 { get; private set; }

        public void SetValue1(bool value) => Value1 = value;
        public void SetValue2(bool value) => Value2 = value;

        public override string ToString() => $"Value1: '{Value1}', Value2: '{Value2}'";
    }
}

Outcome:

Interesting about this is that the description and the actual data seem to be out of sync.
Another information that might be of interest:

It works if line //public Context(object o = null) { } gets uncommented
It works if the setters of the properties Value1 and Value2 are changed to public
It fails with vstest.console.exe too:

D:\Projects\ConsoleApp1\TestProject\bin\Debug\net5.0>vstest.console.exe TestProject.dll
Microsoft (R) Test Execution Command Line Tool Version 16.10.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
  Passed {Value1: 'False', Value2: 'False'}; Expected: False; [3 ms]
  Failed {Value1: 'False', Value2: 'True'}; Expected: True; [20 ms]
  Error Message:
   Assert.AreEqual failed. Expected:<True>. Actual:<False>.
  Stack Trace:
     at TestProject.UnitTest2.TestMethod1(Context context, Boolean expected) in D:\Projects\ConsoleApp1\TestProject\UnitTest2.cs:line 19

  Standard Output Messages:
 Value1: 'False', Value2: 'False'; Expected: True;

  Failed {Value1: 'True', Value2: 'False'}; Expected: True; [< 1 ms]
  Error Message:
   Assert.AreEqual failed. Expected:<True>. Actual:<False>.
  Stack Trace:
     at TestProject.UnitTest2.TestMethod1(Context context, Boolean expected) in D:\Projects\ConsoleApp1\TestProject\UnitTest2.cs:line 19

  Standard Output Messages:
 Value1: 'False', Value2: 'False'; Expected: True;

  Failed {Value1: 'True', Value2: 'True'}; Expected: True; [< 1 ms]
  Error Message:
   Assert.AreEqual failed. Expected:<True>. Actual:<False>.
  Stack Trace:
     at TestProject.UnitTest2.TestMethod1(Context context, Boolean expected) in D:\Projects\ConsoleApp1\TestProject\UnitTest2.cs:line 19

  Standard Output Messages:
 Value1: 'False', Value2: 'False'; Expected: True;

Test Run Failed.
Total tests: 4
     Passed: 1
     Failed: 3
 Total time: 0.8083 Seconds

By the way: I opened also an issue for VS, because I first found am example where it worked with vstest.console.exe but failed with VS. But it looks like the bug is here.

Thank you for reporting this issue. It's caused by the changes on how we handle tests with data sources after version 2.2.3. Please update to version 2.2.6 and opt-out out of this behavior as described here.


ZSH completions escape

Completion in ZSH usually escapes spaces and other special characters in file names etc. I think this is the expected behavior.
As I see -Q has been introduced in https://github.com/stopthatcow/click/commit/13b84c5c4982f35988b812484cf9b76c8eba4ae6 which fixed sorting. However this options seems unnecessary and unrelated to sort order.
Also, I haven't found a straightforward way to test this. In case this breaks something else I'd figure out a way to override the default completion function.

I'm unclear why you want to remove it. I had a hard time finding documentation on the -Q option to _describe, but it looks like that's what quotes values, which you said was expected.


Send logs to CommonSecurityLog with the HTTP Data Collector API ?

It's possible to send log data to Azure with the HTTP Data Collector API where Log-Type is the name of log which can be seen later under Custom Logs with _CL suffix.
But how to send log to CommonSecurityLog (seen under SecurityInsights) So it can be used in Sentinel Dashboards (without oms agent) ?

@irom77  - Logs ingested in CEF are shown in CommongSecurityLog. Currently its not possible to use data collector API to send logs to CommonSecurityLog. However, you may still create dashboards with these custom log types. We can also engage with vendor to create a custom connector, datatype and dashboard for their solution in Azure Sentinel.

Fair enough, I am using logstash running on Kubernetes to deliver Custom Logs, described here

Hi! I wanted to know if the same task, i.e. pushing through Data Collector API to CommonSecurityLog, is possible today. Can someone confirm?


Latency is too high

I'm trying to use rdkafka-dotnet as Kafka Producer. Unfortunately it takes ~50ms to send a single small message (~100 bytes). Comparable Producer in Java spends just 2ms. I don't understand what's causing delay.
Global configuration: queue.buffering.max.messages=1,queue.buffering.max.ms=5,message.send.max.retries=3
Topic configuration:
request.required.acks=1
If I'm using request.required.acks=0 latency drops to 35ms but it's still way too high.
Code is fairly straightforward
Stopwatch swx = new Stopwatch();
swx.Start();
Task<DeliveryReport> r = _client.Produce(enc.GetBytes(message), enc.GetBytes(((long)(DateTime.UtcNow - dt1970).TotalMilliseconds).ToString()));
var unused = r.ContinueWith(task =>
{
   long latency = swx.ElapsedMilliseconds;
   TraceLog.Message(TraceLog.LogLevel.INFORM, string.Format("Kafka Response {0} {1} {2}ms", task.Result.Offset, task.Result.Partition, latency));
});

Kafka Consumer shows delay that is very close to latency numbers reported by Producer.
Any suggestions?

try setting socket.blocking.max.ms=1

With or without that setting today it's even stranger: either latency <50ms or ~1000ms or ~1500ms
Doesn't make any sense...

To further track down the source of the latency enable debug=protocol and look for the rtt X.Yms printout of Produce and Fetch requests/response, that is the round trip time to the broker and back, including processing time on the broker.

Thank you for suggestion!
Result I'm getting:
STATUS   [06/01 18:11:36.780] <25> <Message with hash XRk7l9FYe884r sent to <IP_ADDRESS>:9092 for topic SSF>
STATUS   [06/01 18:11:36.781] <52> <Kafka Log SWS#producer-1 7 SEND <IP_ADDRESS>:9092/2: Sent ProduceRequest (v1, 232 bytes, CorrId 8)>
STATUS   [06/01 18:11:36.802] <52> <Kafka Log SWS#producer-1 7 RECV <IP_ADDRESS>:9092/2: Received ProduceResponse (v1, 31 bytes, CorrId 8, rtt 15.00ms)>
STATUS   [06/01 18:11:36.802] <5> <Kafka Response 934793 0 21ms>

What bothers me rtt is always 15.00ms or 16.00ms
How can be the same all the time?
Total time on producer is 21-22ms

I'm seeing something similar in my testing.
For this call, it's taking ~100ms to complete, even with request.required.acks set to 0 on the producer topic.
await topic.Produce(data, key);
If I, instead, stash the returned task in a list, and do a Task.WaitAll at the end of my insertion loop, my throughput goes up by a large amount.
Is the client waiting on something it shouldn't be, when acks are turned off?

If you want throughput then try to have many produce messages in flight simultaneously instead of awaiting them individually. For example with Task.WaitAll or by using .ContinueWith instead of await.
I think most of what you see is probably caused by the client waiting for more produce messages so it can batch them together for efficiency.
When you produce a message it doesn't send it immediately but first waits a short while to see if you produce any more so it can send them all together.
But because you're waiting for the first message to be sent first before producing the second one, the buffering will time out and then send a batch with a single message after some delay.
Something like queue.buffering.max.messages=1,queue.buffering.max.ms=5 will minimize that behavior, see https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md
And then the underlying librdkafka currently has a little bit of latency, which you can minimize with socket.blocking.max.ms=1. I think a future version of librdkafka could possibly reduce this.


better render

@rultor release, tag is 0.15.1

@rultor release, tag is 0.15.1

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.15.1

@yegor256 Done! FYI, the full log is here (took me 9min)


multi language support

Nice idea requiring the language file as JS Object. I should think about adopting that to other projects. :)
Looks nice for me, thanks for doing that!


Donations?

HI,
Where I can donate for your KraxbotOSS?
Please, add to readme.

You can use this link to donate to my Paypal if you want to. I might set up a more permanent link or something similar if more people want to donate.
Thanks for your support! :smile_cat:

OK, thanks)

Used this, sometimes i will drop you some cash. Thanks for your work.


Develop timeline and plan for SBN-PSI migration

💡 Description

As part of larger PDS Cloud migration plan

Tabling until B13.1

https://docs.google.com/presentation/d/1lN_WUwong4n6FkykQr4jAIRAVGaXxJh57aXkliXUf-8/edit#slide=id.g1f59d637613_7_75

Done and presented to SBN-PSI


SimCity3000 (DirectX 3D Renderer issue)

Hi again,
Seems i found another game which got little problems.
EDIT:  It does start with the COM fixed DLL you gave me for "Outlive",
With "passthrough=true", many options like window mode dont get recognized.
With "passthrough=false", the intro wont run correctly but window mode etc are working.
Note : And sorry if i post so many issues with different games. I'm just happy, that i can play so many games again with no problem and even upscaling hehe.

DirectX renderer got many rendering bugs. (Not displaying ingame terrain or overlapping textures, when zooming/rotateting)
The following preset are working for now :
[SC3]
renderer=opengl
passthrough=false

I got the same issues with direct3d, weird... works fine with opengl though
intro needs "minfps=-2" btw

Yeah "minfps=-2" is working for intro.

I do compile the new github version (DebugLog) and tested it again to look, if by any chance some changes you made, does some difference. But no luck. I uploaded the DebugLog, perhaps you find something in it.
cnc-ddraw.zip
.

Are there still any problems left besides the one with the direct3d renderer?

So far not that i saw.

Ah well, will have a look into it at some point but it's not that important right now since opengl works fine. There are a few other games that don't work with direct3d either, some have a similar issue where some things are not being displayed, it's probably the same issue.

fixed with D3DCREATE_FPU_PRESERVE


BUG: VPC CNI Addon prefix delegation not working

Description
In our organization, we are using AWS EKS for the Kubernetes cluster. To enable the CNI, we are using the addon provided by AWS i.e. vpc-cni. In addition to that we are also using secondary CIDR for having a large number of IPs for the pods running inside the cluster. Currently, we are using the steps defined here - https://tf-eks-workshop.workshop.aws/500_eks-terraform-workshop/570_advanced-networking/secondary_cidr/configure-cni.html
With this approach, we need to run some scripts but I want to have a native way of doing it.
I am following the examples defined here - https://github.com/aws-ia/terraform-aws-eks-blueprints/tree/main/examples/vpc-cni-custom-networking but the prefix-delegation is not working as expected.
In the ideal scenario, the VPC CNI should be available with the options configured and then the node group should come up so that we don't have to recreate the node groups but in my case, it is not happening. The prefix delegation is not picking up on the ec2 machines.
Versions

Module version [Required]: ~> 19.0

Terraform version: 1.3.1

Provider version(s):

+ provider registry.terraform.io/hashicorp/aws v4.54.0
+ provider registry.terraform.io/hashicorp/cloudinit v2.2.0
+ provider registry.terraform.io/hashicorp/helm v2.9.0
+ provider registry.terraform.io/hashicorp/kubernetes v2.17.0
+ provider registry.terraform.io/hashicorp/local v2.3.0
+ provider registry.terraform.io/hashicorp/null v3.2.1
+ provider registry.terraform.io/hashicorp/tls v4.0.4
+ provider registry.terraform.io/oboukili/argocd v3.2.1

Reproduction Code [Required]

Steps to reproduce the behavior:
EKS Configuration:
################################################################################
# EKS Module
################################################################################
module "eks" {

  ## Module configuration
  source  = "registry.terraform.io/terraform-aws-modules/eks/aws"
  version = "~> 19.0"

  ## Cluster configuration
  cluster_name    = format("%s-%s", local.name, var.environment)
  cluster_version = local.cluster_version
  create          = true

  ## Security configuration
  create_iam_role               = true
  create_cluster_security_group = true
  create_kms_key                = true
  cluster_encryption_config = {
    provider_key_arn = aws_kms_key.eks.arn
    resources        = ["secrets"]
  }

  cluster_tags = {
    Name = local.name
  }
  tags = var.tags

  ## Networking configuration
  vpc_id                               = module.vpc.vpc_id
  subnet_ids                           = concat(module.vpc.private_subnets, module.vpc.public_subnets)
  cluster_endpoint_private_access      = var.eks_configuration.private_access
  cluster_endpoint_public_access       = var.eks_configuration.public_access
  cluster_endpoint_public_access_cidrs = local.public_access_cidrs
  cluster_service_ipv4_cidr            = "<IP_ADDRESS>/12"

  ## Logging configuration
  cluster_enabled_log_types = ["api", "audit", "authenticator", "controllerManager", "scheduler"]
  #  cloudwatch_log_group_kms_key_id        = aws_kms_key.eks.key_id
  cloudwatch_log_group_retention_in_days = 7

  ## Timeout configuration
  cluster_timeouts = {
    create = "60m"
    delete = "30m"
    update = "60m"
  }

  # AWS auth configmap
  manage_aws_auth_configmap = true
  aws_auth_roles            = local.aws_auth_roles
  aws_auth_users            = local.aws_auth_users
  aws_auth_accounts         = local.aws_auth_accounts

  ## Cluster add-on configuration
  cluster_addons = {
    coredns = {
      most_recent   = true
      addon_version = data.aws_eks_addon_version.coredns.version
    }
    kube-proxy = {
      most_recent   = true
      addon_version = data.aws_eks_addon_version.kube_proxy.version
    }
    vpc-cni = {
      most_recent              = true
      before_compute           = true
      addon_version            = data.aws_eks_addon_version.vpc_cni.version
      service_account_role_arn = aws_iam_role.vpc_cni.arn
      configuration_values = jsonencode({
        env = {
          # Reference docs https://docs.aws.amazon.com/eks/latest/userguide/cni-increase-ip-addresses.html
          AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG = "true"
          WARM_ENI_TARGET                    = "1"
          ENABLE_PREFIX_DELEGATION           = "true"
          ENI_CONFIG_LABEL_DEF               = "topology.kubernetes.io/zone"
        }
      })
    }
    aws-ebs-csi-driver = {
      most_recent              = true
      addon_version            = data.aws_eks_addon_version.aws_esb_csi_driver.version
      service_account_role_arn = aws_iam_role.ebs_driver.arn
    }
  }
  ## Node Group configuration - Defaults
  eks_managed_node_group_defaults = {
    ami_type       = "AL2_x86_64"
    disk_size      = 50
    instance_types = ["m5.large", "m5.xlarge"]
    metadata_options = {
      http_endpoint               = "enabled"
      http_tokens                 = "optional"
      http_put_response_hop_limit = 2
    }
  }

  ## Node Group configuration
  eks_managed_node_groups = local.node_groups_map

  ## Disabling IRSA via module - Managing manually for better control
  enable_irsa = false
}

Node Group Configuration:
{
      name                              = format("%s-%s-%s", local.name, var.environment, node_group["name"])
      use_name_prefix                   = true
      create_launch_template            = true
      subnet_ids                        = concat(module.vpc.private_subnets)
      cluster_primary_security_group_id = module.eks.cluster_primary_security_group_id

      capacity_type = "ON_DEMAND"
      ami_id        = data.aws_ami.eks_default.image_id
      desired_size  = node_group["desired_nodes"]
      max_size      = node_group["max_nodes"]
      min_size      = node_group["min_nodes"]

      enable_bootstrap_user_data = true
      bootstrap_extra_args       = "--container-runtime containerd"
      pre_bootstrap_user_data    = <<-EOT
      #!/bin/bash
      set -ex

      # https://docs.aws.amazon.com/eks/latest/userguide/choosing-instance-type.html#determine-max-pods
      MAX_PODS=$(/etc/eks/max-pods-calculator.sh \
      --instance-type-from-imds \
      --cni-version ${trimprefix(data.aws_eks_addon_version.vpc_cni.version, "v")} \
      --cni-prefix-delegation-enabled \
      --cni-custom-networking-enabled \
      )
      cat <<-EOF > /etc/profile.d/bootstrap.sh
        export CONTAINER_RUNTIME="containerd"
        export USE_MAX_PODS=false
        export KUBELET_EXTRA_ARGS="--max-pods=$${MAX_PODS}"
      EOF
      # Source extra environment variables in bootstrap script
      sed -i '/^set -o errexit/a\\nsource /etc/profile.d/bootstrap.sh' /etc/eks/bootstrap.sh
      sed -i 's/KUBELET_EXTRA_ARGS=$2/KUBELET_EXTRA_ARGS="$2 $KUBELET_EXTRA_ARGS"/' /etc/eks/bootstrap.sh
      EOT

      block_device_mappings = {
        xvda = {
          device_name = "/dev/xvda"
          ebs = {
            volume_size           = coalesce(node_group["disk_size"], 25)
            volume_type           = coalesce(node_group["disk_type"], "gp3")
            iops                  = 3000
            throughput            = 150
            encrypted             = true
            kms_key_id            = aws_kms_key.ebs.arn
            delete_on_termination = true
          }
        }
      }
      force_update_version = true

      instance_types = node_group["instance_type"]

      ebs_optimized           = true
      disable_api_termination = false
      enable_monitoring       = true
      metadata_options = {
        http_endpoint               = "enabled"
        http_tokens                 = "required"
        http_put_response_hop_limit = 2
        instance_metadata_tags      = "disabled"
      }
      create_iam_role = true
      iam_role_additional_policies = {
        ssm_managed_instance = "arn:${data.aws_partition.current.partition}:iam::aws:policy/AmazonSSMManagedInstanceCore"
      }
      iam_role_name            = format("%s-%s", node_group["name"], "iam-role")
      iam_role_use_name_prefix = true
      iam_role_description     = format("%s%s-%s", "IAM role for ", node_group["name"], "nodegroup")
      iam_role_tags = merge(
        {
          Name = format("%s-%s", local.name, "nodegroup-role")
        },
        var.tags
      )

      labels = merge({
        role      = "workers"
        nodegroup = "eks-managed"
        },
      var.tags)
      tags = merge({
        role      = "workers"
        nodegroup = "eks-managed"
        },
      var.tags)
      update_config = {
        max_unavailable_percentage = 20
      }
    }

ENI Configuration:
################################################################################
# VPC-CNI Custom Networking ENIConfig
################################################################################
resource "kubectl_manifest" "eni_config" {
  count = length(aws_subnet.secondary[*])

  yaml_body = yamlencode({
    apiVersion = "crd.k8s.amazonaws.com/v1alpha1"
    kind       = "ENIConfig"
    metadata   = {
      name = aws_subnet.secondary[count.index].availability_zone
    }
    spec = {
      securityGroups = [
        module.eks.node_security_group_id,
      ]
      subnet = aws_subnet.secondary[count.index].id
    }
  })
  depends_on = [
    module.eks
  ]
}

Expected behaviour
The expected behavior is that VPC CNI should pick up the values before the node group is creating ec2 machines and push the cni configuration of prefix delegation to the network configuration of the ec2 machines.

Actual behaviour
The actual behavior is that I need to recreate the ec2 machine for picking up the prefix delegation change which is not good for the production clusters.

Terminal Output Screenshot(s)

Additional context
If you require, I can provide screenshots of the ec2 machines' network configuration.
NOTE: Since we are using EKS for our production clusters, it will be really helpful if someone looks into this on priority and provide the right way of implementing the custom CNI networking for the max_pods.

cc - @bryantbiggs

Guys, Can anyone look into this?

Are you saying that this example does not produce the desired results? https://github.com/aws-ia/terraform-aws-eks-blueprints/tree/main/examples/ipv4-prefix-delegation

Yes right @bryantbiggs , I am able to use the VPC cni addon with secondary CIDR configuration but the prefix delegation was not enabled on the ec2 machines even if the configuration is there.
I don't know about the root cause but you can see that VPC-CNI addon, as well as managed node groups, are being created in parallel which should not happen right?

I have tried the example I linked 3 times and the results are as intended - I suspect the issue is with the configuration you are using; I would start with the example linked and modified to suit your needs

I agree with you that is why I put my whole configuration here, I think the same that it should work.
I even validated all the settings and created a new cluster multiple times but the result was not desired.
I can give it another try now and let you know.

based on your configuration, I think you're trying to do too much. Again, start with the example linked and only modify the settings that you need to set explicitly

Do you think that the order of Environment variables can be an issue? Since now I am creating the cluster and it is showing me desired results, the only change i did is this:
configuration_values = jsonencode({
        env = {
          # Reference https://aws.github.io/aws-eks-best-practices/reliability/docs/networkmanagement/#cni-custom-networking
          AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG = "true"
          ENI_CONFIG_LABEL_DEF               = "topology.kubernetes.io/zone"

          # Reference docs https://docs.aws.amazon.com/eks/latest/userguide/cni-increase-ip-addresses.html
          ENABLE_PREFIX_DELEGATION = "true"
          WARM_PREFIX_TARGET       = "1"
        }
      })

Previously it was:
configuration_values = jsonencode({
        env = {
          # Reference docs https://docs.aws.amazon.com/eks/latest/userguide/cni-increase-ip-addresses.html
          AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG = "true"
          WARM_ENI_TARGET                    = "1"
          ENABLE_PREFIX_DELEGATION           = "true"
          ENI_CONFIG_LABEL_DEF               = "topology.kubernetes.io/zone"
        }
      })

yes, this was changed recently https://github.com/terraform-aws-modules/terraform-aws-eks/pull/2478

@bryantbiggs - This rolled-out change is quite old, we are already using this version. Still, sometimes everything will go as per plan with the right configuration but sometimes it is not working and we need to rotate nodes manually.

@ArunSisodiya , The problem in this code was not due to it's order sequence but the change in parameters , As per to the updated AWS doc (link:- https://docs.aws.amazon.com/eks/latest/userguide/cni-increase-ip-addresses.html ) two parameters have been depreciated i.e. ( AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG = "true" and ENI_CONFIG_LABEL_DEF  = "topology.kubernetes.io/zone" )
Try Instead the below code, as it worked for me with the same expected results
configuration_values = jsonencode({
        env = {
          # Reference docs https://docs.aws.amazon.com/eks/latest/userguide/cni-increase-ip-addresses.html
          ENABLE_PREFIX_DELEGATION           = "true"
          WARM_ENI_TARGET                    = "1"
        }
      })

After this you can easily find out the max number of Pods that can be placed on your eks Nodes with this command.
kubectl describe node ip-192-168-30-193.region-code.compute.internal | grep 'pods\|PrivateIPv4Address'
NOTE: - Replace <IP_ADDRESS> with the IPv4 address in the name of one of your nodes returned in the previous output.


Update assets to 6.2.3

This brings the foundation-rails gem up to date with the recent Foundation for Sites 6.2.3 release.

👍


how to launch CO-Simulation in this Project

I have problem to launch Co-simulation .
Could you teach me. will I have any other configure need to set up?

Can you please elaborate on what problem do you have? Which version of Vivado tools are you using?

If you want to execute co-simulation, you can add a line to the tcl script of the HLS synthesis here, after the csynth_design has been executed. The instruction should be:
cosim_design -argv "$directory_params $test_image 10 $expected_result" -compiler clang
added after line 78 and before the exit. Tested with Vivado HLS 2017.4.


Mongoid select first incorrectly auto corrected to find

Mongoid returns criteria instead of Array.
Rubocop --auto-correct replaces:
Order.all.select { |order| order.closed }.first
by
Order.all.find { |order| order.closed }
but mongoid tries to execute find on criteria so returns nil

This is not the first problem we have seen regarding Mongoid and the Rails cops.
I don't use either, so can you please enlighten me, @TLmaK0: do you have anything like require 'mongoid' in your codebase? If so, where? Or does it only appear in the Gemfile?
The possibility is there that if this cop saw something like require 'mongoid', it could print a warning message (once only). It could even disable itself. This is not a complete solution, because people may also style-check individual files, not just entire codebases. But it could help.
Another option is to disable this cop altogether.

Thx @alexdowad. Every class persisted with Mongoid should have an include Mongoid::Document. Also exists an mongoid.yml y config folder.
Is there a way to disable only this check by config?

Is there a way to disable only this check by config?

Definitely there is.
It looks like the cop at work here is Performance/Detect (you can confirm by running with -D). So in .rubocop.yml, you can put:
Performance/Detect:
  Enabled: false

I think this can be closed.

I think this should be fixed by mongoid, implementing the ActiveRecord behaviour for "find" with a block parameter http://api.rubyonrails.org/classes/ActiveRecord/FinderMethods.html#method-i-find_source. But anyway some kind of warning message should be shown if mongoid appears in Gemfile and Performance/Detect is not disabled.

Or there can simply be a configuration for the ORM used by the project, as I doubt many people are using both. At any rate - as I want to remove the Rails cops from RuboCop fixing this is not high on my list of priorities.

:+1:

as I want to remove the Rails cops from RuboCop fixing this is not high on my list of priorities

Note that this is a Performance cop, not a Rails cop. I also think it should be fixed elsewhere, though.


Error encountered during installation using deprecated legacy Google-hosted repositories

We are trying to use this  " http://apt.kubernetes.io/" to install Kubernetes this URL is redirecting to   https://packages.cloud.google.com/apt which is not working, we are not able to apt-get update and also not able to install Kubernetes , can any one help me to install Kubernetes.
curl https://packages.cloud.google.com/apt

Error 404 (Not Found)!!1

404. That’s an error.
 That’s all we know.
root@testing:/etc/PackageKit# ping https://packages.cloud.google.com/apt
ping: https://packages.cloud.google.com/apt: Name or service not known
root@testing:/etc/PackageKit# curl http://apt.kubernetes.io/

302 Found

302 Found
nginx

@anu356 As mentioned in the deprecation announcement here, the legacy Google-hosted repositories have been deprecated as of end of February 2024. We strongly recommend migrating to the new community-owned repositories. Detailed instructions on how to migrate can be found here.

/kind support

Thanks , we tried to install with ubuntu 20.4 version , k8s 1.28 version and cni 1.2.0  version but we got below error when installing , can we install k8s 1.28 in ubuntu 20.4 ?
The following packages have unmet dependencies:
kubeadm : Depends: kubernetes-cni (>= 1.2.0) but it is not going to be installed
kubelet : Depends: kubernetes-cni (>= 1.2.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

/transfer release


pull-request-template: Add the link on tests documentation?

Motivation for this change
When i recently opened a PR [1], i realized i missed test thanks to this guide.
But reading the arborescence tests tree link from this guide overwhelmed me.
I was able somehow to replicate a test but did not know how to run it.
That's clearly well explained in the doc (which somehow i did not find myself...T.T) [2]
So why not link it from the guide for people willing to dig in?
[1] https://github.com/NixOS/nixpkgs/pull/57036
[2] thanks gchristensen and clever for the help on #nixos
Cheers,

I think there should be only one link - to tests manual. In the tests manual chapters "writing test" and "running tests" should be flipped. So the order is like this:

how to run tests
list of tests (non-exhaustive, just to show what can be tested - simple test, simple test with GRUB/UEFI, graphical subsystem, SQL database, network of machines with frontend and backend, declarative containers)
how to debug tests interactively
and finally, how to write tests

@ardumont what do you think, would that order of sections be helpful? This reordering can be done in https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/development/nixos-tests.xml and https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/development/development.xml

I think there should be only one link - to tests manual.

I thought so as well but i was not so blunt as to propose the removal of the initial one.
Because there might have been reasons for it...
So do i adapt the commit to drop the first link?

In the tests manual chapters "writing test" and "running tests" should be flipped.

Possibly. I read the full chapter prior to act on it.
But indeed, as the writing tests chapter is quite long.
It could possibly inhibit users from reaching how to run tests.
Then again, there is a toc in the manual so i'm not sure if the flipping is that needed.

list of tests (non-exhaustive, just to show what can be tested - simple test, simple test with GRUB/UEFI, graphical subsystem, SQL database, network of machines with frontend and backend, declarative containers)

That's a good idea ;)

I thought so as well but i was not so blunt as to propose the removal of the initial one.

this section is for newcomers, so newcomer's opinion is valuable here!

So do i adapt the commit to drop the first link?

Yup. Manual has that link in the first line anyway

I had forgotten about this, updated!
Cheers,

ping?

Thank your for your pr, a section similar to this Is now in the template

Great, thanks for the heads up.
Cheers,


Funcom - The titles of jobs are the same as on the company's official website

Description: After entering the company Funcom in the search bar and entered to search it, the jobs are displayed with the same title as on the company's official website.
Precondition: The website (https://peviitor.ro/) is up and running

Step 1: Write in the searching bar the name of the company ("Funcom"). Then click enter
Expected result: you can write the name of the company inside the search bar and you can click enter

Step 2: Verify if the jobs of the company are displayed.
Expected result: you can see the company's jobs, each job inside a box

Step 3: Verify the title of the jobs.
Expected result: inside the boxes with the jobs the titles are displayed.

@aplugaru first, you need to fix the number of jobs, clicking the button "Sincronizeaza joburile" from validator


Stop auto-closing when you select an item?

Is there a way to stop it removing the words you have typed in when selecting? See example:

I typed "information", and I wanted to select the item, and then also select another item from the list. But it removes what I typed.  Any suggestions on how to approach this? The example given is simple - but sometimes I will type something and need to select 10-20 items, so I'm trying to save having to type it over and over and over =)
Thanks
Andy

Is there a way to stop it removing the words you have typed in when selecting?
I have the same problem

I'd say use CTRL as a modifier. This is often used for multi-select elements, in this case holding it down could prevent closing the dropdown allowing for multiple select?

Hiii
I think I expressed myself wrong. When I select an element and add the
list, that element leaves the select.
Em ter., 21 de dez. de 2021 às 04:26, Sam @.***>
escreveu:

I'd say use CTRL as a modifier. This is often used for multi-select
elements, in this case holding it down could prevent closing the dropdown
allowing for multiple select?
—
Reply to this email directly, view it on GitHub
https://github.com/Choices-js/Choices/issues/973#issuecomment-998570203,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AS2E2PYU2GXP7C7ESHACGNTUSA22VANCNFSM5HZ2QSIA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

--
Caroline Tavares Picanço
Analista de Tecnologia da Informação
Instituto Federal do Amazonas - Reitoria
(92) 99120-0022
@.***
Skype: Carol Picanço
AVISO LEGAL
Esta mensagem é destinada exclusivamente para a(s) pessoa(s) a quem é
dirigida, podendo conter informação confidencial e/ou legalmente
privilegiada. Se você não for o destinatário desta mensagem, desde já fica
notificado de abster-se a divulgar, copiar, distribuir, examinar ou, de
qualquer forma, utilizar a informação contida nesta mensagem, por ser
ilegal. Caso você tenha recebido esta mensagem por engano, pedimos que nos
retorne este E-Mail, promovendo, desde logo, a eliminação do seu conteúdo
em sua base de dados, registros ou sistema de controle.
DISCLAIMER
This message is exclusively destined to the person(s) to which it is
addressed, and it may contain confidential and/or legally privileged
information. If this message is not addressed to you, you are notified from
now on to do not disclose, copy, distribute, examine or, in any other way,
use the information contained in this message, considering that it is
illegal. In case you received this message due to an error, we beg you to
return this E-Mail, immediately promoting the elimination of its content
from your database, records or control system


Please add another key to the Proxy Config

[Enter feedback here]
Hi,
many customer are using automated proxy.pac files for their proxy configuration and not a fixed IP/FQDN. You might want to add the following key to the Registry:
AutoConfigURL = http://contoso.com/proxy.pac
Best Regards
Dennis

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a711c07e-10b3-baf0-b92c-9dbcf6ab9474
Version Independent ID: 2038cd48-44b1-1ed1-6e50-48290eef5605
Content: Prepare your Environment - Microsoft Teams
Content Source: Teams/rooms/rooms-prep.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@DennisLanger Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Hello @DennisLanger How are you?
I was able to reach the team and asked about this, it was decided to leave the document as is for now, when the AutoConfigURL is officially supported on this scenario I will be glad to update it.
Thanks

@DennisLanger  Thank you for submitting feedback. We understand that this issue has been resolved.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


Couple the new MeshView to Localizoom

replace MeshView connected to Localizoom

Validated 25.05.2023 MeshView webapp is now able to read .LZ files generated by the LZ webapp


Added index.html

Hello SoulWhistle here,
I appreciate your work and merging this pull request with Hacktoberfest accepted label.
Regards

Hi
Could you please hacktoberfest-accepted label on PR.
Thanks for your support.
On Thu, Oct 13, 2022 at 5:59 PM SoulWhistle @.***>
wrote:

Merged #10 https://github.com/SoulWhistle/HACKTOBERFEST-2022/pull/10
into main.
—
Reply to this email directly, view it on GitHub
https://github.com/SoulWhistle/HACKTOBERFEST-2022/pull/10#event-7580813336,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARR52L47AXZ2MFP3AWLNMU3WC76C3ANCNFSM6AAAAAARD4AELA
.
You are receiving this because you authored the thread.Message ID:
@.***>


CLion debugger passes spurious arguments with gdb 10.2

The clion debugger support seems to rely on google-specific gdbserver behaviour.
It redirects stdout and stderr using shell-like syntax (>stdout 2>stderr), but this seems not to be available in mainline gdb (as compared to NDK gdb available here https://android.googlesource.com/toolchain/gdb/)

(for both servers clients were ran with gdb --eval-command='target remote localhost:5006' --eval-command='c')
Due to this all bazel C++ executables being debugged using CLion extension get extra command line arguments. It would be nice to have a work around for this.
Possible solutions with varying levels of adequateness I can think of:

allow to disable the redirection
allow to use custom gdbserver with instructions on how to get the required patch/provide bundled gdbserver that works
use some other mechanism to get the output redirected (is there a viable way?)
get the patch merged into mainline gdb (need to isolate the patch though)

For reference & googleability: the arguments I get are "1>/tmp/gdbserver_wrapper.KxJr27Av/inferior.out" and "2>/tmp/gdbserver_wrapper.KxJr27Av/inferior.err"

It seems that it has nothing to do with google patches, as this works with (mainline) gdb 9.2, but does not work with gdb 10.2

bisecting the gdb yielded this commit:
commit bea571ebd78ee29cb94adf648fbcda1e109e1be6
Author: Michael Weghorn<EMAIL_ADDRESS>Date:   Mon May 25 11:39:43 2020 -0400

    Use construct_inferior_arguments which handles special chars

    Use the construct_inferior_arguments function instead of
    stringify_argv to construct a string from the program
    arguments in those places where that one is then passed
    to fork_inferior (linux-low, lyn-low), since
    construct_inferior_arguments properly takes care of
    special characters, while stringify_argv does not.
    Using construct_inferior_arguments seems "natural", since its
    documentation also mentions that it "does the
    same shell processing as fork_inferior".

    Since construct_inferior_args has been extended to do
    proper quoting for Windows shells in commit
    5d60742e2dd3c9b475dce54b56043a358751bbb8
    ("Fix quoting of special characters for the MinGW build.",
    2012-06-12), use it for the Windows case as well.
    (I could not test that case myself, though.)

    Adapt handling of empty args in function 'handle_v_run'
    in gdbserver/server.cc to just insert an empty string
    for an empty arg, since that one is now properly handled
    in 'construct_inferior_arguments' already (and inserting
    a "''" string in 'handle_v_run' would otherwise
    cause that one to be treated as a string literally
    containing two quote characters, which
    'construct_inferior_args' would preserve by adding
    extra escaping).

    This makes gdbserver properly handle program args containing special
    characters (like spaces), e.g. (example from PR25893)

      $ gdbserver localhost:50505 myprogram "hello world"

    now properly handles "hello world" as a single arg, not two separate
    ones ("hello", "world").

    gdbserver/ChangeLog:

            PR gdbserver/25893
            * linux-low.cc (linux_process_target::create_inferior),
            lynx-low.cc (lynx_process_target::create_inferior),
            win32-low.cc (win32_process_target::create_inferior): Use
            construct_inferior_arguments instead of stringify_argv
            to get string representation which properly escapes
            special characters.
            * server.cc (handle_v_run): Just pass empty program arg
            as such, since any further processing is now handled via
            construct_inferior_arguments.

    Change-Id: Ibf963fcd51415c948840fb463289516b3479b0c3

This changes the way the arguments are handled so it makes sense that it broke the redirection. Will probably go & report it to them...

Reported as https://sourceware.org/bugzilla/show_bug.cgi?id=28392

gdb compiled with this (quite dirty) patch fixes the issue: https://gist.github.com/DCNick3/d12cb304282d226b57af1fc512c0e24f

I just got hit by this. Is there any workaround available? I've seen a patch was submbitted to GDB, but I've seen this behaviour also on my GDB version 11.1. Couldn't this be fixed in the plugin, using another means of redirection?

a temporary workaround I've found, is to go to the gdbserver wrapper used by the plugin (in my case, this was found on ~/.local/share/JetBrains/CLion2021.3/clwb/gdb/gdbserver), and comment out the following two lines
new_args+=("1>${inferior_stdout}")
new_args+=("2>${inferior_stderr}")

as far as I can tell, this means now the inferior output streams go together with gdserver's ones, but that does not seem to be a big problem for me.
I guess another workaround would be to add special treatment of 1>... and 2>... arguments to the application itself, but that feels wrong

Do any of you have updates on more sustainable solutions for this issue?

Hello @DCNick3, Are you still looking support on the issue and workaround mentioned here worked for you ?

I did devise my own workaround (recompiling the gdb reverting the breaking change).

Please reopen if you are looking for support

I believe that closing this issue is not the best way forward. Even though there are several workarounds (patching & building your own gdb/downgrading gdb/editing plugin's gdbserver wrapper) none of them are sustainable and all of them have their downsides.
I believe a better resolution should be pursued, like:

working on fix in gdb and upstreaming it (there was a patch sent to the mailing list https://sourceware.org/pipermail/gdb-patches/2021-October/182723.html, but it doesn't seem to have much activity)
changing the way target's stdout/stderr are handled in the plugin (I think there is no way to redirect them with the new parsing system gdb introduced)

As a proper resolution does not exist yet I believe it would be best to keep this issue open so as to signify that there is no solution yet


New package: MTSG v1.3.3

Registering package: MTSG
Repository: https://github.com/UCD4IDS/MTSG.jl
Created by: @BoundaryValueProblems
Version: v1.3.3
Commit: 24c1ac9d73df4c53c8477c576e3e366beeda6949
Git reference: HEAD
Release notes:

This is our first public release of the MTSG.jl package!

Please close this pull/merge request.

What I meant was to delete this PR. I'll try to register my package again. Thanks!


Automated cherry pick of #7769: fix: network address list respect privilige of user

Cherry pick of #7769 on release/3.3.
#7769: fix: network address list respect privilige of user

/lgtm
/approve


[Snyk] Upgrade: @fortawesome/fontawesome-svg-core, @fortawesome/free-regular-svg-icons, @fortawesome/free-solid-svg-icons

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade multiple dependencies.
👯♂ The following dependencies are linked and will therefore be updated together.

:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

Name
Versions
Released on

@fortawesome/fontawesome-svg-corefrom 6.5.1 to 6.5.2
1 version ahead of your current version
22 days agoon 2024-04-02

@fortawesome/free-regular-svg-iconsfrom 6.5.1 to 6.5.2
1 version ahead of your current version
22 days agoon 2024-04-02

@fortawesome/free-solid-svg-iconsfrom 6.5.1 to 6.5.2
1 version ahead of your current version
22 days agoon 2024-04-02

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

Check out a preview of your pull request here: https://app-servicecanadalabs-dev-pr-preview-1.azurewebsites.net