APIv2: reflect/protoreflect: decide descriptor immutability approach

The descriptor API is intended to be immutable for all intents and purposes. For that reason, it heavily uses opaque types that only has accessor methods prevent users from possibly mutating the underlying values.
However, the API leaks in its immutability abstraction in the following areas:

Descriptor.Options and MessageDescriptor.ExtensionRangeOptions return a pointer to the options message (e.g., *descriptorpb.FileOptions).
FieldDescriptor.Default returns a reference to the default []byte for bytes field.
SourceLocation.Path and SourceLocation.LeadingDetachingComments return a []int32 and []string.

In the above situations, it simply documents that the user must not mutate the returned value. This issue is to decide whether to keep that behavior. Whatever we do, I'd prefer if we were consistent in how immutability is handled in all the above situations.
Option 1: Documented "immutability"
We could stay with what we have today and simply document that the user must not mutate the returned values.
Properties:

:heavy_check_mark: This is simple.
:heavy_check_mark: This is performant since we don't need to copy the values.
:heavy_multiplication_x: Accidental mutations can have obscure effects on remote parts of the program, which can be very hard to debug.

Options 2: Opaque read-only types
We could define more opaque types that are read-only abstractions for the above:

For options, we could return a protoreflect.Message that is wrapped to be read-only. If a user wants a concrete options message (e.g., *descriptorpb.FileOptions they will have to clone the message.
For default bytes, we could just use a Go string to represent both the protobuf string and bytes types in our reflection API.
For source locations, we make the SourcePath an opaque type with a Len and Get method. We do something similar to represent a []string.

Properties:

:heavy_check_mark: This is often performant since we normally don't need to copy the values. However, it does not fix all cases.
:heavy_multiplication_x: It's complicated and cumbersome
:heavy_check_mark: It provides water-tight immutability.

Options 3: Copy mutable values
We could just copy all values that are mutable so that user mutations do not affect the original backing store.
Properties:

:heavy_check_mark: This is simple.
:heavy_multiplication_x: This is not performant.
:heavy_check_mark: It provides water-tight immutability.

Vote using emojis on the following comments.
\cc @neild @cybrcodr @jhump @puellanivis @pedgeio

Vote for Option 1: Documented "immutability"

Vote for Option 2: Opaque read-only types

Vote for Option 3: Copy mutable values

Vote for Option 1 for Descriptor.Options
Vote for Option 2 for FieldDescriptor.Default
Vote for either Option 2 or 3 for SourceLocation.LeadingDetachedComments (I'm on the fence)
Vote to delete SourceLocation.Path

Reasoning:

I think Descriptor.Options returning the underlying proto.Message is understood in general to be something you shouldn't mutate, maybe I use Protobuf APIs too much.
I think FieldDescriptor.Default will be used infrequently enough that it's ok to make it a little more complicated to use.
I don't know about SourceLocation.LeadingDetachedComments, maybe same as FieldDescriptor.Default in that I think it'll be used infrequently enough that maybe it's worth just wrapping.
I don't think SourceLocation.Path serves much of a purpose, or perhaps if it does and someone wants it in the future, you can re-add it.

I don't think SourceLocation.Path serves much of a purpose, or perhaps if it does and someone wants it in the future, you can re-add it.

It's necessary to round trip descriptorpb.FileDescriptor <-> protoreflect.FileDescriptor since you need to obtain the path somehow when converting.

Ah, that is true, and annoying, missed that.
Re: https://go-review.googlesource.com/c/protobuf/+/183157/1/reflect/protoreflect/source.go#15 I think we could all be happy with option 2 since it'll result in an interface in effect to match the rest of the API

I vote for option 1. The loss of performance and convenience in the other options is too high.
We can hope for futures ways of improving the safety of option 1. Perhaps someday we add read-only messages (which would make many people happy), which would address Descriptor.Options. Perhaps someday Go gets read-only slices, which would address FieldDescriptor.Default.

I vote for option 1. The loss of performance and convenience in the other options is too high.
We can hope for futures ways of improving the safety of option 1. Perhaps someday we add read-only messages (which would make many people happy), which would address Descriptor.Options. Perhaps someday Go gets read-only slices, which would address FieldDescriptor.Default.

I think for Descriptor.Options this makes sense for sure - really option 1 is fine for anything, I don't think many of these things are going to be used much and if you're using them, you should know what you are doing. However, I still vote option 2 for SourceLocation just because it makes it an interface which satisfies my concerns about an empty SourceLocation being returned :-)

Everyone makes good arguments here, in general I like Option 1. We can only hold put up fences so much, until we start making people’s lives miserable in an effort to “protect” them from themselves.

My preference is also option 1. The performance hit of option 3 seems way too high (just a feel, no measurements).
Option 2 is also appealing though. I agree about having consistency throughout the APIs, whichever pattern is chosen. To some degree, that may be an argument for option 2, since it basically extends existing patterns to more places in the model.

Marking as closed. We're going with option 1.


get_devices doesn't work for de server

Hi,
get_devices doesn't work any more for de servers. Could you please fix this, see here:
https://github.com/al-one/hass-xiaomi-miot/commit/e0d8d6bc53b1fec07c8e4da51497583ee9b0dd04#diff-6b1581eb1057820910622bad460b6bc37b06927e039292a08d4cff837c87f6d8
The request needs to be rc4 encrypted as far as I can see.

I'll try to implement this asap. See: https://github.com/Squachen/micloud/issues/4#issuecomment-1004237727


Slow parsing?

First of all, great work!
But I tested the load-from-string example and the timing is just bad for production. It takes ~70ms to create the component from a simple string. I don't assume the problem is the content, since there is nothing great to parse.
So is it the invocation of the parser itself? Doing unnecessary steps or are the functions so big it takes so much time to load it? Can this be optimized?
const options = {
    moduleCache: {
        vue: Vue,
    },
    getFile() {
        return `<template>nothing</template>`
    },
    addStyle() { }
}

let begin = (new Date).getTime()
loadModule("foo.vue", options).then(() => {
    const elapsed = (new Date).getTime() - begin
    console.log("component created after " + elapsed + " ms")
})

Hi webloft,
try to enable "compiledCache" :
const options = {
      ...
      compiledCache: {
        get: key => window.localStorage.getItem(key),
        set: (key, value) => window.localStorage.setItem(key, value),
      },
      ...
    }

see also https://github.com/FranckFreiburger/vue3-sfc-loader/discussions/175


WebUI civitai tab is gone?

i updated to the newest automatic1111 webui (5 days ago). but now the civitai tab is missing, did something change?
Strange also just noticed the buttons seem to be gone on the images (the lightbulb and links to the model

me too

me too

me 3

me 4 👀

same here

same

me 5

me 6

same here

me8

me

me

me +1

me + 2

+1

cant find it

i updated to the newest automatic1111 webui (5 days ago). but now the civitai tab is missing, did something change? Strange also just noticed the buttons seem to be gone on the images (the lightbulb and links to the model

I found a fix. When I installed CivitAI helper it seemed to break it after the next restart.
1st - Disable both extensions
2nd login to the enviorment personally im on docker so I use docker exec -it XXXXXXXX /bin/bash
3rd navigate to the extensions and sd_civitai_extension folder.
4th run "pip install -r requirements.txt"
Then I renabled the sd_civitai_extension and viola it worked.


Messagesoverlay - Fix low memory handling when overlay already visible

The lock handler had kept a reference to the first created overlay buffer, which caused the first message to be shown again on unlock (and used memory). Additionally the switch from normal to low memory mode did not work correctly because the buffer was not recreated with 1 bit depth.

Thanks!


Data for this panel isn't available anymore. Please reload the page and retry.

I'm using wagtail 2.8, debug-toolbar 2.2.
It was working well at the beginning, but after adding several apps into my project, I accidentally put
path('__debug__/', include(debug_toolbar.urls)), below url(r'', include(wagtail_urls)), and thus I got 404 errors.
I fixed the problem but the toolbar is not working anymore and I got Data for this panel isn't available anymore. Please reload the page and retry. for every panel.
Setting RESULTS_CACHE_SIZE = 100 didn't help.

Are the requests to the toolbar (/__debug__/*) have a store id included in them?

Do the requests to the toolbar (/__debug__/*) have a store id included in them?

[25/Mar/2020 04:48:35] "GET /static/debug_toolbar/css/print.css HTTP/1.1" 304 0 [25/Mar/2020 04:48:35] "GET /static/debug_toolbar/img/djdt_vertical.png HTTP/1.1" 304 0 [25/Mar/2020 04:49:10] "GET /static/debug_toolbar/img/indicator.png HTTP/1.1" 304 0 [25/Mar/2020 04:49:10] "GET /static/debug_toolbar/img/close.png HTTP/1.1" 304 0 [25/Mar/2020 04:49:10] "GET /__debug__/render_panel/?store_id=0d3e852087a24206aa9a7d5f2b52e957&panel_id=SettingsPanel HTTP/1.1" 200 90 [25/Mar/2020 04:49:13] "GET /__debug__/render_panel/?store_id=0d3e852087a24206aa9a7d5f2b52e957&panel_id=RequestPanel HTTP/1.1" 200 90 [25/Mar/2020 04:49:14] "GET /__debug__/render_panel/?store_id=0d3e852087a24206aa9a7d5f2b52e957&panel_id=SQLPanel HTTP/1.1" 200 90 [25/Mar/2020 04:49:15] "GET /__debug__/render_panel/?store_id=0d3e852087a24206aa9a7d5f2b52e957&panel_id=StaticFilesPanel HTTP/1.1" 200 90 [25/Mar/2020 04:49:16] "GET /__debug__/render_panel/?store_id=0d3e852087a24206aa9a7d5f2b52e957&panel_id=TemplatesPanel HTTP/1.1" 200 90 [25/Mar/2020 04:49:17] "GET /__debug__/render_panel/?store_id=0d3e852087a24206aa9a7d5f2b52e957&panel_id=CachePanel HTTP/1.1" 200 90 [25/Mar/2020 04:49:18] "GET /__debug__/render_panel/?store_id=0d3e852087a24206aa9a7d5f2b52e957&panel_id=SignalsPanel HTTP/1.1" 200 90
This is what shows in my terminal.

Do the requests to the toolbar (/__debug__/*) have a store id included in them?

I'm not sure if my templates are problematic. I started a new project today and after using a free website templates' css and js, this problem just happened again.
The one I'm using:
https://themes.3rdwavemedia.com/bootstrap-templates/startup/appkit-landing-free-bootstrap-theme-for-developers-and-startups/

Are you running this on a server (something not local)? If so, did you restart the web server between changes?

Are you running this on a server (something not local)? If so, did you restart the web server between changes?

I'm only running locally so far. I did try to restart the server, force reload the page and using incognito mode(chrome).

Can you verify that the store id doesn't change from the initial response to the browser, so when the toolbar's javascript makes requests for additional content? The easiest way to do that is to open up a browser's dev tools, go to the network panel, and inspect the initial GET/POST's response, find the div with the id djDebug and look for data-store-id.

@tim-schilling I have this problem as well (Django app is hosted on AWS Lambda via Serverless Framework, with static assets in S3). I can confirm that the store ID is the same in the djDebug div and the (e.g.) /__debug__/render_panel/?store_id=<id>&panel_id=SQLPanel request. The problem occurs on every panel and on every request when viewing the Django REST Framework browsable API, but it does not occur (or occur nearly as often, at least) when browsing the Django admin UI.
....which makes me wonder if the app order is the problem... but I just checked, and debug_toolbar is later in the list than both django.contrib.admin and rest_framework.

Further confirmed that this problem doesn't occur with manage.py runserver.

@brettdh A few questions:

Is it possible to expose the values within the store? toolbar._store
Does this problem exist before the history panel was introduced (v3.1 I think).
You may also try increasing the RESULTS_CACHE_SIZE config setting.

I suspect the issue is that toolbar._store is exceeding the RESULTS_CACHE_SIZE because the toolbar renders on almost every request. If the server is also processing static files and the toolbar is instrumenting them, that could get eaten up quickly.
If that does appear to be the issue, we could introduce a configuration option that would allow users to specify regular expressions or define a filtering function that would limit which requests are instrumented.

@tim-schilling

Where would I put the code to dump toolbar._store? Is that server-side or client-side?
I'm using 3.1.1 and I don't see a history panel...
I did try increasing RESULTS_CACHE_SIZE to 100 as in https://github.com/jazzband/django-debug-toolbar/issues/750#issuecomment-158389082, but this did not resolve the issue.

@brettdh It's on the server side. You'd have to fork the toolbar and use that in your project. Alternatively, you can try downgrading to v2.2. Turns out the History Panel was introduced in v3. You might have the panels setting DEBUG_TOOLBAR_PANELS set to exclude it. The history panel itself is unrelated to the issue, but the other changes to support it when it was released may be the cause.

IIRC this was happening before I upgraded to 3.1.1 (from 2.1), but I can try again.

@brettdh @ZhengYuen A thing to keep in mind about the toolbar is it stores the requests in memory. If the toolbar's ajax request hits a process that does not have the toolbar's store in memory, it will not be able to fetch the details. I was able to confirm this on a heroku app by scaling down the web dyno, then scaling it back up.
Lambda in particular seems like a bad situation to try to use the debug toolbar since it's meant to be stateless.

@tim-schilling again, though, it works just fine for the django admin UI; it fails in the DRF browsable API only.
I understand why you say Lambda seems like a particularly adversarial environment for the toolbar; I guess I'm more confused about why the ajax request so reliably hits the same lambda when visiting one set of URLs and so reliably fails to find the data when visiting a different set of URLs.
As a separate workaround, would it be feasible (behind a config option) to have the toolbar middleware ship all the state with the originating request, thereby eliminating the ajax requests entirely and ensuring the state is available?

again, though, it works just fine for the django admin UI; it fails in the DRF browsable API only.

That's going to require some investigation, but if increasing the results cache doesn't alleviate the issue, I have to believe it's because the hash doesn't exist.

As a separate workaround, would it be feasible (behind a config option) to have the toolbar middleware ship all the state with the originating request, thereby eliminating the ajax requests entirely and ensuring the state is available?

I think that would be a pretty dramatic change from how things work today. It might be more feasible to allow the toolbar's store to be managed by something more persistent.

Ah, so perhaps write it to the database (only when showing the toolbar) and perhaps age them out after some time. That makes sense to me. I can look into making a PR if I have some time. Either way, though, would you like a separate issue to track that feature request?

That would be great.

@brettdh Regarding the difference between the admin and the browseable API, is it possible that you're hitting the browseable API unauthenticated or it's not sending the cookie along that would trigger the sticky session / session affinity with the ALB?

@tim-schilling I have this problem as well (Django app is hosted on AWS Lambda via Serverless Framework, with static assets in S3). I can confirm that the store ID is the same in the djDebug div and the (e.g.) /__debug__/render_panel/?store_id=<id>&panel_id=SQLPanel request. The problem occurs on every panel and on every request when viewing the Django REST Framework browsable API, but it does not occur (or occur nearly as often, at least) when browsing the Django admin UI.
....which makes me wonder if the app order is the problem... but I just checked, and debug_toolbar is later in the list than both django.contrib.admin and rest_framework.

My pages use a lot of static files, is the toolbar being rendered everytime a static file is requested? Maybe thats why the data is no longer available (even with 'RESULTS_CACHE_SIZE': 100).


0.4.0

0.4.0? :thinking:

Just wanted to test something out.
On Fri, Jun 25, 2021 at 10:38 AM niranda perera @.***>
wrote:

0.4.0? 🤔
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/cylondata/cylon/pull/449#issuecomment-868546868, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKRLAU54P5M5SZX65ZUKILTUSIFXANCNFSM47J75V2Q
.

--
Supun Kamburugamuve, PhD
Digital Science Center, Indiana University
Member, Apache Software Foundation; http://www.apache.org
E-mail: @.*** @.***>rg;  Mobile: +1<PHONE_NUMBER>


Why my updateSheet method not works?

Describe the bug
A clear and concise description of what the bug is.
TypeError: Cannot assign to read only property 'data' of object '#'
I get this errror when i use update sheet method.
i tried to use immer to maintain object deep, but i got a same error.
why my error begin and how cam i resolve it?
<Workbook
  data={scheduleData?.data as any}
  ref={ref}
  onChange={(data) => {
    if (ref.current) {
      const updatedData = produce(
        scheduleData.data,
        (draft) => {
          data.forEach((newSheet, index) => {
            draft[index] = {
              ...draft[index], // 기존 데이터 유지
              ...newSheet, // 새로운 데이터로 업데이트
            };
          });
        }
      );

      ref.current.updateSheet(updatedData); // 업데이트 호출
    }
  }}
  lang={lng}
  config={{
    cellTextOverflow: "visible",
    cellAutoWrap: true,
    readOnly: true,
  }}
/>

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

can you please describe what is he goal here? might be another way of doing it.


Error trying to search

I tried to search twice first using a name in the nav bar and received the error message below. Then I tried to click "search" to get to the advanced search page to search that way and also received the same error message.

restarted elastic search so it should work now

This relates to issue #154 and we need to find a new solution soon. This bug is fixed and closing issue.


generate csp nonce on every request

What problem does this feature solve?
In a CSP environment, there are cases where you need to use a CSP nonce to load your scripts.
One example in the vue ecosystem is vuetify.
At the moment you can’t use nuxt and vuetify with CSP enabled without a static nonce (which is insecure).
What does the proposed changes look like?
When CSP is enabled and we are in universal mode, a 128 bit random nonce should be generated on every request. This nonce should be added to the CSP header and should be consumable from plugins and pages for script loading.

This feature request is available on Nuxt community (#c10138)

Was anyone able to get this to work? I'm trying this as well but I couldn't find a way to add/merge the CSP header. I have CSP configured in Nuxt's render config and it's overriding the headers I set in the serverMiddleware. Here's my setup.
In serverMiddleware:

Generate nonce
2. Set Content-Security-Header header
Attach nonce to the request object

In store:

In nuxtServerInit, get nonce from request object and store in state

In components/plugins:

Attach nonce to inline scripts

Is there a way to merge the header from the serverMiddleware with the CSP generated by Nuxt? The only work-around I can think of is moving all CSP headers to the serverMiddleware.

@armorkram I just wrote a module which achieves that.
import { randomBytes } from 'crypto'

export default function cspModule() {
  // Set nuxt CSP options.
  this.options.render.csp = {
    reportOnly: true,
    hashAlgorithm: 'sha256',
  }

  this.nuxt.hook('render:routeContext', (nuxtContext) => {
    // Generate a random nonce every request.
    const nonce = randomBytes(32).toString('base64')
    // Inject nonce into vuex state before state is serialized into window.__NUXT__.
    nuxtContext.state.nonce = nonce
  })

  this.nuxt.hook(
    'render:route',
    (url, { cspScriptSrcHashes }, { nuxt: nuxtContext }) => {
      // Extract nonce generated in render:routeContext.
      const nonce = nuxtContext.state.nonce
      // Add nonce to scpScriptSrcHashes. Nuxt will populate all entries in this array
      // to the csp header and meta tags as part of the script-src csp policy.
      cspScriptSrcHashes.push(`'nonce-${nonce}'`)
    }
  )
}

@P4sca1 Thank you for this! It works quite well. Having it work only for script-src shouldn't be an issue for most cases, as you've mentioned.
The only thing that needs to be pointed out is that setting that Nuxt CSP options here will override the CSP render options in nuxt.config, since a new object is assigned to this.options.render.csp. Other policies will essentially be removed. Merging the CSP options or individually setting the properties would be necessary to avoid this.

Yeah that's absolutely correct. I do not set the options in nuxt.config.js and prefer to have them in the module so that my nuxt.config.js gets a little bit more readable.


Tslint rules

I think we should think about agreeing on some typescript code guides, because there are many different approaches and currently unresolved questions.
For example, should we use null or undefined? Microsoft says we should use undefined and not null Coding-guideline.

As a personal preference I suggest using null. But the problem with null is that for almost every type you will need to declare let foo: Foo | null, which is overhead.
Is there any way for tsc to ignore this check and assume any complex-type can also be null?

Why null is bad.
I still think that we should talk about using null and I don't think everyone thinks null is a good practice.

@bonzzy I would say that your link is completely unrelated to the topic, since same type of error is going to be thrown for undefined.
The underlaying problem is that in both cases you have uncontrolled access to something. You should always have accesses control to your stuff, either through constructor, default values or checking through set method and this is the main cause for all x is not a property|function of null|undefined errors.
I like the idea of null cause you can strictly check that value (it is a single object in memory and unique by reference) instead of not defining something. As @krukru said, defining nullable classes as let foo : Foo | null is a overhead and, from my point of view, unnecessary overhead if you are writing proper code as I mentioned earlier.

@jewbre I wasn't aware of offline talk so that is why I raised issue 14 days ago, so if everyone agrees to use null than ok 👍
We all have to be on the same page, because if null is not defined as a returning type maybe someone won't expect it when calling a method or checking some parameter and typescript won't remind you!
Example of possible error:
function getPerson(): Person {
    if (someLogic === false) {
        return null;
    }
    let person: Person = new Person();
    return person;
}

let person: Person = getPerson();
/**
 * If getPerson() returns null this will throw error and without looking into this method nobody will know if method can return null or not
 */
person.someMethod();

Why maybe it is better to use Foo | null :
function getPerson(): Person | null {
    if (someLogic === false) {
        return null;
    }
    let person: Person = new Person();
    return person;
}

/**
 *  Typescript will warn me that getPerson could return null and won't let me define person type as Person only
 */
let person: Person = getPerson();

Some say it is overhead some it is necessary.
But again if everyone agrees that objects can be null also, than ok, but we all have to be on the same page and know that.

As I said, nullable classes are pretty much standard in all major languages and it is a general practice to use return null for case you described. Adding that overhead does not solve your problem, just makes you write (or autocomplete) extra stuff. The responsibility for your own code and potential bugs is your own.
I personally always try check returning data to comply to this rule: don't trust anything outside your own scope, and I define scope at the lowest possible level (most often, the class I am writing). So everything from outside scope is getting checked.
Since we merged PR already, I would say that that closes #6.

Not trusting anything outside your own scope doesn't mean that you can't write code someone could trust. 👍

For me it is a personal preference of failing gracefully over failing uncontrollably. It is ok to trust someone blindly, but that just means that your code is easily breakable by even minor change. I can count how many times I burnt myself with blind trust in my own code, my own classes, not to
mention other peoples. That is why I am pushing stability responsibility to the lowest possible level.
And in the end, if you are writing stable code, it is going to be trusted by other. But does that mean they should blindly put their whole trust in your code? Definitely not.
Not to be taken wrongly, these "breaking changes" don't happen that often in your own codebase, but it is still a really good practice to make your units as stable as possible. :)

I am not suggesting that someone blindly trusts your code, but to trust the typescript compiler and to write types as strictly as possible.
I think that defining types strictly could help produce less bugs and errors. I know that you should always check everything and not trust anyone, but I also believe that your code should be clean and understandable.
If someone (and there is a huge group of people who avoid null) uses your code careless typescript compiler will never fail if someone trusts your code blindly, but defining that something is null will always give you an error if not writing properly on compiling not on runtime!

I see the point @bonzzy is making. If you have a method that has the possibility of returning null, then writing  | null this will force you to be aware of that fact.

I suggest that in the future we talk about this kind of problems on github, raising issues as we already agreed on earlier! Not everyone can always be on meetings and talk about this kind of stuff offline, but github issue is visible to all and at the end we can always go back and see why we decided to do so.
As pros and cons I suggest that we always give an example where is better and where is not.


feat: add pulumiverse/pulumi-fortios provider

Description
Add pulumiverse/pulumi-fortios to community-packages/package-list.json
Adding a new package?
If this pull request adds a new package:

[x] The package's schema URL is correct.
[x] The package metadata file, if present, contains:

[x] a supported category (one of Cloud, Infrastructure, Network, Database, Monitoring, or Utility).
[x] a description that explains what the package does.
[x] a valid logo URL that points to a PNG whose dimensions conform to the others in this repo (e.g., 100x100).
[x] a version number prefixed with v that corresponds with a valid GitHub release.

[x] The package repo contains an Overview doc (/docs/_index.md) that includes:

[x] a brief explanation of what the package is and what it does.
[x] at least one representative example in all supported languages.
[x] a front-matter property for the layout set to package.

[x] The package repo contains an Installation and Configuration doc (/docs/installation-configuration.md) that includes:

[x] links to SDKs in all supported languages.
[x] a copyable command for installing the resource plugin if necessary.
[x] an example of configuring the provider with pulumi config set.
[x] an example of configuring the provider with environment variables.

[x] A CODEOWNER has reviewed the PR.
[ ] A member of the @pulumi/docs team has reviewed all documentation.

@ringods can you please have a look at the PR in the provider repo (https://github.com/pulumiverse/pulumi-fortios/pull/7), if the changes to the documentation reflects your expectations.

@tmeckel can you rebase your PR? Due to other merges, there are conflicts now on this package list file.

@tmeckel can you rebase your PR? Due to other merges, there are conflicts now on this package list file.

@ringods done 😄

@tmeckel When I attempt to build the docs, I get an error:
panic: fatal: An assertion has failed: duplicate file: router/bgp/_index.md

Any ideas?

Sorry, clicked the Approve option by mistake. (See my previous comment.)
@cnunciato Too bad 😁

Anyways ... I'll update the docs and remove (translate) or remove the HCL code you mentioned in https://github.com/pulumi/registry/pull/4184#pullrequestreview-1977668756

LMK if I'm needed here. Happy to jump on a call.

@tmeckel I'm still seeing issues -- left you some comments on the PR. Here's what I see when I render these out:

@cnunciato It is no excuse not to work carefully, but the fact that you have to squeeze the documentation into two files with the community providers makes it easy to lose track in huge files.
We already had a discussion about this
https://github.com/pulumi/registry/issues/3159 unfortunately we did not come to a conclusion.

Thanks for rolling with the revisions, @tmeckel!

@cnunciato created a new PR containing the fixes to the docs


maccy: 0.31.0 -> 2.3.0

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Please make sure your second commit message follow CONTRIBUTING.md. LGTM otherwise

@FliegendeWurst Thank you. I changed the commit message.

By the way, if you add your Git email<EMAIL_ADDRESS>to Github as secondary email, the commits will show up as yours. (This applies retroactively too.)

@FliegendeWurst Thank you for the note. Happy new year! 🎆


s/Microsoft/microsoft

Since the Microsoft GH organization has been downcased, this affects import paths.
This PR is a brute-force rename of all upper-case Microsoft strings (with the exception of the README.md)
Fixes https://github.com/microsoft/hcsshim/issues/591
(context: https://twitter.com/liggitt/status/1125843936864612353?s=20)

We don't need multiple of these PRs, none of which seem to come with a plan to actually get all our consumers to update their code as well.


Get retryDelta without "using" the ratelimiter

Is there a way to get the retryDelta without "using" the ratelimiter?
When you use amount = 0 you will get the amount of token left which is nice but getting the correct retryDelta is what I want.
Anyway the package is a nice implementation of the concept.

retryDelta is very simple math. https://github.com/BitMEX/node-redis-token-bucket-ratelimiter/blob/6053e241b44c98a9361ab96bf02df09e772ae631/lua/rollingLimit.lua#L64
I'm not sure I understand the use case - you have somebody you know has breached their limit, but you don't want to use or store the retryDelta returned when they breached it?

My use case is that a user is allowed 1 action every 5 minutes. I want an UI with a countdown based on the retryDelta if the user is not allowed to perform the action yet, else I show a button.
There is currently no way to get the current retryDelta without actually using the rate limiter (which subsequent lock themself out again), I only can the remaining count when using limiter.use(key, 0).

I was wondering if it was able to have to functionality without another datastore. Like to get the id status or to simulate without actually perform the Redis-queries. But I can store the retryDelta separately like you suggested, so nvm this issue.


RESEARCH: get media by geotag

We should find the way to get medias by geotag. We can search in other API Wrappers on github for solution. Example https://github.com/mgp25/Instagram-API

Done

Anynews as the function stay in a TODO tag :)
def get_geotag_medias(self, geotag, filtration=True):
    # TODO: returns list of medias from geotag
    pass


Cleanup && from makefile and add missing .PHONYs

Signed-off-by: Nico Schieder<EMAIL_ADDRESS>

/lgtm


Can not install a hello world OnPrem with personal licence

Please include the following with each issue:
1. Describe the bug
In a OnPrem v. 230 and 240 version and with my licence in these BBDD, I can not install any app, not eve a helloWorld, with target=OnPrem in the app.json file
2. To Reproduce
Steps to reproduce the behavior:
Create a new HelloWorld app with AL Go comand.
Set then property Target = OnPrem in the app.json file: i.e:
{
"id": "5db73a4e-87c0-4ca3-a223-ce332f64366f",
"name": "test01",
"publisher": "Default Publisher",
"version": "<IP_ADDRESS>",
"brief": "https://tecon.es",
"description": "https://tecon.es",
"privacyStatement": "https://tecon.es",
"EULA": "https://tecon.es",
"help": "https://tecon.es",
"url": "https://tecon.es",
"logo": "logo/informacion.png",
"contextSensitiveHelpUrl": "https://tecon.es",
"dependencies": [],
"screenshots": [],
"platform": "<IP_ADDRESS>",
"application": "<IP_ADDRESS>",
"idRanges": [
{
"from": 50100,
"to": 50149
}
],
"resourceExposurePolicy": {
"allowDebugging": true,
"allowDownloadingSource": true,
"includeSourceInSymbolFile": true
},
"runtime": "13.0",
"features": [
"NoImplicitWith","TranslationFile"
],
"target": "OnPrem"
}
Then, with a final custer licence installed in the BBDD, try to install the app via Ctrl+F5 or with powershell, and then you will get the next error:
The request for path /BC240/dev/apps?tenant=default&SchemaUpdateMode=forcesync&DependencyPublishingOption=default failed with code UnprocessableEntity. Reason: Sorry, we can't proceed with the operation for app 'borrame33' by 'Default Publisher' for tenant 'default' because the app doesn’t meet our Universal Code requirement. You must either upgrade the app to meet the requirement or license the non-Universal Code module that grants an exception to the requirement. For more information, see https://aka.ms/bcUniversalCode.
Can not we now set the target as OnPrem for OnPremise environments?

Check the provided link with your partner account: https://aka.ms/bcUniversalCode
Or read this blog post https://community.dynamics.com/blogs/post/?postid=5508a98b-1175-431d-98c1-c1f80ee1753e
You have to license apps that don't target the cloud.

This is by design as the error describes. As mentioned, the apps must be licensed if they are targeting on-prem..


RFC: Custom data sources, resolvers, and resources with GraphQL API category.

Feature Request
This issue will serve as the primary design document and discussion thread for features related to configuring custom resolvers and data sources with a GraphQL API provisioned by the Amplify API category.
In the current implementation, there is no way to attach a custom data source or resolver directly from the Amplify CLI. This results in a friction point where if a customer wants to write custom resolver logic, they must do so using the AWS AppSync console or by deploying their own CloudFormation stacks with a separate deployment process.
Ideally, users should be able to:

Attach existing DynamoDB tables, ES domains, http endpoints etc that were not provisioned from within this Amplify project.
Attach resources that were configured within the Amplify project (e.g. any tables provisioned by the storage category).
Write resolver logic that will be bundled and deployed as part of amplify push that target existing resources or resources that were provisioned by this project.
Customize most everything for situations when the generated behavior isn't exactly what you need.
Use pipeline resolvers.

Related Issues
#74, #80, #140, #423, #570
Design
The current backend directory for the API category looks like this
backend/
- api/
   - [apiname]/
        - build/
            - resolvers/
            - schema.graphql
        - schema.graphql
        - cloudformation-template.json
        - parameters.json

I propose changing it to:
backend/
- api/
    - [apiname]/
        - build/ # compilation will never change anything outside of build/
            - resolvers/ # transform output with contents of ../resolvers merged in.
            - stacks/ # all stacks including custom stacks at ../stacks and nested stacks output by transform.
            - root-stack.json # root stack
            - schema.graphql # compiled schema output
        - schema.graphql # Your projects schema file OR
        - schema/             # or schema/ directory filled with .graphql files.
            - Query.graphql
            - Mutation.graphql
        - parameters.json # Override any parameters passed to root stack.
        - stacks/
            - CustomStack.json # anything put here will be deployed as a child of the root stack.
            - SQLCustomStack.json
        - resolvers/
            - Type.field.req.vtl # Use same name as a generated file to override
            - Type.field.res.vtl

build directory
The build directory should never be manually edited. It will be overwritten on each gql-compile. You may put customized resources in the higher level directories that will be merged in automatically.
stacks directory
Users may add any custom resources via the stacks directory. When you place a stack in the stacks directory, you can expect a minimum set of parameters that you may reference to add resources to your API.
// These will be provided automatically when deploying the stack
"Parameters": {
    "AppSyncApiId": {
        "Type": "String",
        "Description": "The id of the AppSync API for this project."
    },
    "env": {
        "Type": "String",
        "Description": "The Amplify environment name. e.g. Dev, Test, or Prod",
        "Default": "NONE"
    },
    "DeploymentS3Location": {
        "Type": "String",
        "Description": "The path to the S3 directory containing this deployment's resolver templates. E.G. s3://deployment-bucket/deployment/[deployment-id"
    }
}

Users would be able to place up to N stacks in this top level stacks/ directory. The CLI will automatically upload any stacks placed in this directory and upload them as child stacks of the root api stack. Allowing multiple stacks is important to future proof this design from the CloudFormation limits we have run into before.
Custom resolvers (top level resolvers directory)
Users are able to add custom resolvers/functions/data sources using plain CloudFormation. The CLI will inject the parameters from the root stack so customers do not need to worry about how or where the resolver files are uploaded and can simply reference the parameter. The other big bonus of using plain CloudFormation is that it really removes blockers for advanced users that want to have more control over their deployment.
"Resources":
    "ListUserResolver": {
        "Type": "AWS::AppSync::Resolver",
        "Properties": {
            "ApiId": {"Ref": "AppSyncApiId"},
            // Referencing the UserTable created by @model
            "DataSourceName": "UserTable",
            "FieldName": "listUsers",
            "TypeName": "Query",
            "RequestMappingTemplateS3Location": {
                "Fn::Join": [
                    "/",
                    {"Ref": "DeploymentS3Location"},
                    "resolvers",
                    "Query.listUsers.request.vtl"
                ]
            },
            "RequestMappingTemplateS3Location": {
                "Fn::Join": [
                    "/",
                    {"Ref": "DeploymentS3Location"},
                    "resolvers",
                    "Query.listUsers.response.vtl"
                ]
            }
        }
    }
 }

The Amplify CLI will handle uploading all the files in the build/ directory to the S3 location provided by DeploymentS3Location. *Users can then reference the files by name without worrying about how the files get there. They will still use the main schema.graphql file to design their schema and add the relevant fields.
You may use the top level resolvers directory to write your own resolvers as well as to override the VTL templates that are generated by the transform. To override a file, just create a file in the top level resolvers directory with the same name and it will be merged on top of the generated output during the build. For example, if an @model creates a file Mutation.addPost.request.vtl and you want to tweak the behavior, you would be able to create a file with the same name in the top level resolvers/ directory and the CLI will upload that file with greater precedence than the one created by @model.
Pipeline resolvers
Since all files in the resolvers/ directory will be uploaded to S3, you may also use the directory to upload function templates. You can then use CloudFormation to write up pipeline resolvers within AppSync that depend on your function using the Cloudformation GetAtt intrinsic function.
For example:
GetPicturesByOwnerResolver:
    Type: AWS::AppSync::Resolver
    Properties:
      ApiId: !GetAtt AppSyncPipelineApi.ApiId
      TypeName: "Query"
      FieldName: "getPicturesByOwner"
      RequestMappingTemplate: |
        ...
      ResponseMappingTemplate: |
        ...
      Kind: "PIPELINE"
      PipelineConfig:
        Functions:
        - !GetAtt isFriendFunction.FunctionId
        - !GetAtt getPicturesByOwnerFunction.FunctionId

  isFriendFunction:
    Type: AWS::AppSync::FunctionConfiguration
    Properties:
      ...

  getPicturesByOwnerFunction:
    Type: AWS::AppSync::FunctionConfiguration
    Properties:
        ...

Break up your schema
If you want to break your schema up into multiple files, you can replace the schema.graphql with a directory named schema where you can place as many .graphql files as you would like. The .graphql files in the schema/ directory will be loaded when you run amplify push and amplify gql-compile.
Feedback
This design is not final and I encourage feedback. If there is a use case that this does not support or you have another idea that you think would be helpful please don't hesitate.

@mikeparisstuff would be interesting to grab resolvers that has been already done in the Appsync console. An amplify api fetch resolver that would populate the build/resolvers dir.
As of today, my #current-cloud-backend dir isn't in sync due to the fact that I can not amplify api push (due to cloud formation template file size limitation).
I really hope we'll have clear path to update our local work with a kind of migration process.
Cheers,
Matthieu

The one thing that's not clear that I'd like to add is ability to add data sources outside of the configured amplify cli region. Dynamo exists in multiple regions and it's limiting when the cli forces everything to be in the same region.
@MatthieuLab's request is also interesting but can be workedaround by doing a onetime copying and pasting of these resolvers into the resolvers dir that @mikeparisstuff is proposing.

To clarify current behavior, if I write a custom resolver in the AppSync console, will amplify push throw it away?
Proposal looks awesome, I'll give it a more detailed read sometime this week.

@jkeys-ecg-nmsu If you add a resolver in the console, amplify push should not remove the resolver unless your amplify project is also creating a resolver with the same type/field combination. e.g. if you have type Post @model { ... }, amplify push would overwrite the mutation Mutation.createPost but would not overwrite Mutation.customResolver.
@hisham You would be able to target a table (or other resource) by creating your own AWS::AppSync::DataSource resource in a stack in the stacks directory. For example,
DynamoDBPicturesTableDatasource:
    Type: AWS::AppSync::DataSource
    Properties:
      Type: AMAZON_DYNAMODB
      Name: Pictures
      ApiId: !Ref AppSyncApiId
      ServiceRoleArn: !GetAtt AppSyncTutorialAmazonDynamoDBRole.Arn
      DynamoDBConfig:
        TableName: PictureTable
        AwsRegion: us-east-1

You can then target this data source with your own resolvers etc.
@MatthieuLab This is a great idea and we have an item in the backlog to do just this. It would not be too hard to build a tool that lists your AppSync resolvers and drops them in the resolvers directory. I'll loop in some others to create a list of options for ways to hook an api fetch or api sync command into the CLI.

A couple more questions. I am not super experienced with cloudformation so just double checking:

Does this design allow customization of cognito resources created by Amplify. e.g. allowing users to sign in via email rather than username, see https://github.com/aws-amplify/amplify-cli/issues/102

Does this design allow setting stack policies to prevent accidential deletion of production dynamo tables or cognito userpools? See https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html

Looking forward to this. But, what would the ideal workflow be when there are multiple client apps relying on the same API? It seems odd that one of the projects, say iOS, would end up as the API source of truth for a web or Android app.

Hey guys,
We've added functionality for custom resolvers and other features discussed in the RFC. Please use npm install -g @aws-amplify/cli to install the latest version of the CLI. For documentation regarding it, please refer to https://aws-amplify.github.io/docs/cli/graphql#overwrite-a-resolver-generated-by-the-graphql-transform
Here's the launch announcement for the same - https://aws.amazon.com/blogs/mobile/amplify-adds-support-for-multiple-environments-custom-resolvers-larger-data-models-and-iam-roles-including-mfa/

× An error occured when migrating the API project.
× An error occurred when pushing the resources to the cloud
Resource is not in the state stackUpdateComplete

14 Feb 2019 00:43:39
authcognito8e70670b
UPDATE_FAILED
Parameters: [authRoleArn, autoVerifiedAttributes, unauthRoleName, allowUnauthenticatedIdentities, smsVerificationMessage, userpoolClientReadAttributes, mfaTypes, emailVerificationSubject, useDefault, openIdLambdaIAMPolicy, userpoolClientGenerateSecret, mfaConfiguration, userpoolClientLogPolicy, openIdRolePolicy, identityPoolName, openIdLogPolicy, thirdPartyAuth, authSelections, smsAuthenticationMessage, roleExternalId, mfaLambdaLogPolicy, passwordPolicyMinLength, userPoolName, openIdLambdaRoleName, policyName, userpoolClientName, userpoolClientLambdaPolicy, resourceName, mfaLambdaIAMPolicy, mfaPassRolePolicy, emailVerificationMessage, userpoolClientRefreshTokenValidity, userpoolClientSetAttributes, unauthRoleArn, authRoleName, requiredAttributes, roleName, passwordPolicyCharacters, lambdaLogPolicy, userpoolClientLambdaRole, defaultPasswordPolicy, mfaLambdaRole] must have values

Awesome! This really was a pain point. Thanks!

so if i do a custom query called listProducts and successfully deploy
than dont want it and want a Product table which with generate listProducts query than i get errors on creating the resolvers

Great stuff! Thank you very much for your hard work. This is much appreciated.

I want to output Arn of table (name - students table) but i am unable to edit table stack (which i think is auto-generated). This might be a naive question but do you know how can i fetch table arn in my lambda cloudformation in this setting?

@mikeparisstuff There is on issue related to resolver, during my initial amplify push i got a resolver against a field which I mentioned in schema as @connection. After that I deleted that resolver and no longer needed against that field. But when I do the amplify push i used to get error like there is no resolver against that field. Then I will attach template before push to get rid of these error and after that I manually delete that resolver. Is there any permanent solution to do my amplify push smoothly without doing these kind of operations

So no support for attaching existing data sources, still?
This makes it very difficult to work with projects that were created outside of the Amplify CLI.


[bug] Disconnects after switching network

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
^0.4.6
Current Behavior
I'm using Wagmi with Rainbow Kit for our project. Today I realized that when I change the network I connected, data from the useAccount hook and activeChain from the useNetwork start returning null and undefined. The weird thing is that it's not happening every time, looks like there is a race condition and when I keep switching networks, it disconnects me at a point.
You can try with the link I created on CodeSandbox.
Expected Behavior
Keep returning data with the switched network. As a result, it disconnects me, I mean I see the rainbow button in the disconnected state.
Steps To Reproduce

Sign in with MetaMask on Mainnet
On MetaMask extension, switch another network from dropdown
Keep doing this. Especially when you switch from Mainnet to Polygon or vice versa cause it faster.

Link to Minimal Reproducible Example (CodeSandbox, StackBlitz, etc.)
https://codesandbox.io/s/magical-gwen-8zx2x8?file=/src/App.js:253-263
Anything else?
https://user-images.githubusercontent.com/19428358/172438473-f0cc500a-4d3c-4a6e-8a21-f0dd0f1cce38.mov

Unfortunately, there is a bug with MetaMask that causes this when using the extension interface https://github.com/MetaMask/metamask-extension/issues/13375#issuecomment-1087023057
We try to mitigate this as much as possible when switching networks programmatically with wagmi (e.g. useNetwork and shimChainChangedDisconnect defaulted to true for MetaMaskConnector).

Thanks for the response @tmm 🤞🏽

As indicated in this thread and in https://github.com/MetaMask/metamask-extension/issues/13375, despite passing { shimDisconnect: true, shimChainChangedDisconnect: true }, the wallet can still involuntarily disconnect when the user switches the chain from inside the metamask browser extension.
Yet, when testing this on a mature non-wagmi app such as Uniswap, we're able to switch (to, from) any chain in the metamask browser extension without the Uniswap UI involuntarily disconnecting. What is it that the Uniswap UI is doing that wagmi isn't doing now, and could we start doing it?
Alternatively, maybe my wagmi is misconfigured and there is something else I should be doing to prevent the metamask browser extension from involuntarily disconnecting when switching chains inside the extension?
For reference:
new MetaMaskConnector({
  chains,
  options: {
    shimDisconnect: true,
    shimChainChangedDisconnect: true,
  },
}),

Looks correct! Want to create a new issue with a minimal reproducible example and I can take a look?

Looks correct! Want to create a new issue with a minimal reproducible example and I can take a look?

https://github.com/wagmi-dev/wagmi/issues/1941


Initial GCP auth backend implementation

I did some manual testing and I seems to be working. Need to write unit tests for this and do some additional testing. Might also add some additional GCP related methods too.
Any early feedback on this code would be appreciated.

@jeffwecan I added unit tests and cleaned up my commit history. I believe this is now ready for final review. Let me know if any changes are needed.

In hindsight, I should have encouraged adding integration tests more. This codebase has historically relied on those test cases exclusively while unit tests of any kind are a recent addition. More importantly, there can and have been breaking changes in new Vault versions for this sort of method. Having integration tests provide some confidence around determining our minimum supported version of Vault. If you don't mind, please add a test case there.
I'll grant that its a bit funky to add an integration test case in this sort of situation as we don't currently have any avenues for running those tests directly on a GCP instance / or a client/server with access to the GCP identity service. However there is still some value in having it. The auth_ec2() tests may be a decent model for to follow here (they test everything up to the actual authentication being successful): https://github.com/ianunruh/hvac/blob/master/hvac/tests/test_integration.py#L1191-L1217.
If you have any questions on that front. I'm also willing to chip in and push up an integration test to your branch if you'd like.
As an aside, I have felt that the entire integration suite could be improved in a few ways. One of which I went ahead and documented while writing up this comment: https://github.com/ianunruh/hvac/issues/207

Sounds good. I can create the integration tests.
On Fri, Jun 29, 2018, 7:06 AM Jeffrey Hogan<EMAIL_ADDRESS>wrote:

In hindsight, I should have encouraged adding integration tests more. This
codebase has historically relied on those test cases exclusively while unit
tests of any kind are a recent addition. More importantly, there can and
have been breaking changes in new Vault versions for this sort of method.
Having integration tests provide some confidence around determining our
minimum supported version of Vault. If you don't mind, please add a test
case there.
I'll grant that its a bit funky to add an integration test case in this
sort of situation as we don't currently have any avenues for running those
tests directly on a GCP instance / or a client/server with access to the
GCP identity service. However there is still some value in having it. The
auth_ec2() tests may be a decent model for to follow here (they test
everything up to the actual authentication being successful):
https://github.com/ianunruh/hvac/blob/master/hvac/tests/test_integration.py#L1191-L1217
.
If you have any questions on that front. I'm also willing to chip in and
push up an integration test to your branch if you'd like.
As an aside, I have felt that the entire integration suite could be
improved in a few ways. One of which I went ahead and documented while
writing up this comment: #207
https://github.com/ianunruh/hvac/issues/207
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ianunruh/hvac/pull/206#issuecomment-401334801, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAp0pRTCK-KbhUgchdvqquCBID85JQNwks5uBhhjgaJpZM4U6xeJ
.

@jeffwecan I created one integration test for this code change. Let me know if any additional changes are needed.


fix(devtools): fix devtools crash on rejected promises on refetch

Catch the error using noop when refetching the query via devtools
fixes #2014

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Question] How can I pass a system prompt and audio user input to get a text output back?

Hey! I’ve been struggling for hours to pass a system prompt (text) and user input (audio) to get a text output. I tried doing it manually, but it keeps failing. I’m wondering if there is built-in support for this within the SDK?
  guard let url = URL(string: "https://api.openai.com/v1/chat/completions") else {
            throw AnalyzeServiceError.invalidURL
        }

        // Create the request
        var request = URLRequest(url: url)
        request.httpMethod = "POST"

        // Add headers
        request.setValue("Bearer \(apiKey)", forHTTPHeaderField: "Authorization")
        request.setValue("application/json", forHTTPHeaderField: "Content-Type")

        guard var base64Voice = convertAudioToBase64(fileURL: url) else {
            throw AnalyzeServiceError.noAudioData
        }
        base64Voice = base64Voice.trimmingCharacters(in: .whitespacesAndNewlines)

        // Create the request body
        let requestBody: [String: Any] = [
            "model": "gpt-4o-audio-preview",
            "modalities": ["text", "audio"],
            "audio": ["voice": "alloy", "format": "mp3"],
            "messages": [
                ["role": "system", "content": "You are a sound expert. Analyze user input audio."],
                [
                    "role": "user",
                    "content": [
                        [
                            "type": "input_audio",
                            "input_audio": [
                                "data": base64Voice,
                                "format": "mp3"
                            ]
                        ]
                    ]
                ]
            ],
            "temperature": 0.0
        ]

Are you already using the newest version?
v3.9.1 supports the modalities parameter.
https://github.com/jamesrochabrun/SwiftOpenAI/releases/tag/v3.9.1

Thank you, I'll try it!


Additional Contact filter.

This adds name filter to contact entity search.

Codecov Report

Merging #656 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #656   +/-   ##
========================================
  Coverage    96.47%   96.47%
========================================
  Files          129      129
  Lines         3920     3920
  Branches       337      337
========================================
  Hits          3782     3782
  Misses          97       97
  Partials        41       41

Impacted Files
Coverage Δ

datahub/search/contact/views.py
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


_d.session

@podorozhny and links to documentation or resources to explain this change?

Closing this out due to inactivity (and conflicts). @podorozhny if you're able to add more context around the change I'm happy to revisit it.


Fix backtick inside Playwright.md

That lead to truncate doc on website

Motivation/Description of the PR

Playwright helper docs page was truncate due to wrong number of backtick

Type of change

[x] :clipboard: Documentation changes/updates
[x] :hammer: Markdown files fix - not related to source code

Thanks for quick fix, but actual problem was in tags <input>, <textarea> which broke HTML

Thanks for quick fix, but actual problem was in tags <input>, <textarea> which broke HTML

New PR with good fix


Make test-client generic over runtime

This allows us to use generic-test-client with actual node/runtime (see example in node/executor tests).
The backward compatibility with test-client + test-runtime is maintained by extension trait. I imagine that we could build something similar for test-client + node-runtime if necessary.
@bkchr I've changed couple of builder method names you introduced in your last PR, let me know if you're ok with that.

Introduced test-runtime-client and moved it to test-runtime/client. The core/test-client is now the generic one.


Start and end time not honoured - SCOM 2016

Hi. Nice MP. Does exactly what I need. Thank you. However, the start and end times do not do what I would expect. Is the query monitor supposed to start and end in between those set times? If so, it does not seem to work with SCOM 2016 UR3 and SQL MP <IP_ADDRESS>. The monitor just runs 24x7 on the interval (5 mins).  Am I missing something or could there be an issue?

After flushing the management server and agent caches and resetting the status of monitors the issue is resolved.

Sorry.  Had to reopen because the EndTime/EndDay seems to be an issue.
I discovered that an object state can change to Healthy before the StartTime but not to Critical.  This is fine as, in my case, a Critical state can carry over from a previous day and be be resolved the next morning.
The Critical state will only be set if the test fails after the StartTime.  This is OK and is expected.
However, after the EndTime the state of the object can flipflop between Healthy and Critical which I did not expect and skews KPI reporting off the back of the monitor.
On further investigation it seems all monitors and discoveries created by the template persist my non-default EndTime but when editing the Scheduler Settings of the templated monitor the EndTime always defaults back to 23:59.  I have to change it from 23:59 before saving any other changes to retain the property value.
Am wondering if the failed retrieval of the changed EndTime config value in the editing window is happening on the agent meaning the StartTime is the only parameter being honoured?

OK.  The plot thickens... the behaviour above is experienced when a sample rate of 1 is used.  Using 2 samples 'stabilises' the flip flopping object state.  I found that flushing the agent cache would also give random behaviours too.  So, I now use a sample rate of 2... and when the EndTime is reached the Health state reverts to Healthy if it was Critical, nice.
The Schedule window editor still always shows 23:59 for EndTime when setting a custom value though which is pain as you have to remember your EndTime if it's customised... that is likely a bug.

Yes you are right this is a bug.. sorry for that I will fix it unfortunately I am working on this project when I have a free time and now it's a period that I don't have a lot of free time.. meanwhile please be aware of it and if you need to do some changes, don't forget to change the end time..

Hi @UretzkyZvi
Is there any updates on this?

@sakrayaami sorry, I'm too busy now... anyway it is on my task list :-)

Fixed 👍 check https://www.savision.com/free-management-packs/


moveTo potential issue

Hello,
I'm using your engine in order to build my project. It is awesome overall congrats !
I just ran into an issue on my project : when I use moveTo on any character, it result in the character going back and forth around the destination tile. Is that a bug or is there any parameter I'm missing ?
Here is a video of what I am try to explain : https://streamable.com/b7lalj
Thank you !

Hi @Mteuahasan
You are absolutely right. It is also broken in the example section. Seems like some update broke it. Thank you for pointing that out! 🙂
I will let you know as soon as it is fixed.
I am glad you like the engine. If you have more feedback, we are happy for every input 👍
👋

Thank you very much !
I do have another feedback, I'll post another issue 😄

@Mteuahasan Should be solved in 1.12.3. Can you confirm?
Thanks again for pointing it out.

I do confirm, thank you 🤩


Add scanner screen

I added a scanner screen as part of https://github.com/get10101/10101/issues/58
I have only modeled the scanner in context of Send so far, both for Lightning and Bitcoin; assuming that the scanner will be able to detect a lightning invoice and a bitcoin address.
Note that I added "quick action" buttons to the scanner screen - those are not fully modeled out, I would
@bonomat how far do we want to go with the scanner?
I suppose LN-URL (...) is not part of the MVP scope?
From my point of view what is modeled should be enough to implement the scanner screen, so I think we can close this ticket!

The screens look great :)

@bonomat how far do we want to go with the scanner?
I suppose LN-URL (...) is not part of the MVP scope?

Not sure how complicated it is but I'm happy to say this is post MVP scope or optional.

I kept the comment and screen in the Scanner section within the MVP section in Figma; I would add the buttons as a could if we find time.
Closing this ticket for now, because the scanner screen should be sufficiently modeled.


Fix minor warning

[x] filename collision
[x] Clippy warnings

I'm good at clippy.
But, defference is  -- -D warnings, +nightly, set profile minimal(My profile is complete thus official says complete is for language developers).
These occur missing lints, I think there is a possibility.


Reduce allocations in TSI TagSets implementation

Backport #10190.

During a run of megacheck the following issues were discovered:
/tmp/041440899/src/github.com/influxdata/influxdb/cmd/store/query/query.go:361:5: this value of line is never used (SA4006)


Ruby gRPC client generation should be merged into gapic pipeline

The gcloud-ruby project actually bundles gRPC generated files as a part of the google-cloud libraries (for example, gcloud-ruby/google-cloud-pubsub contains the gRPC files at https://github.com/GoogleCloudPlatform/gcloud-ruby/tree/master/google-cloud-pubsub/lib/google/pubsub/v1).
For non-cloud APIs, I think either design (i.e. merging into a single package or separating Gapic client from gRPC client) would be okay. So because of this gcloud-ruby design, I think all Ruby's generated artifacts will follow this style.
The current design of Ruby's grpc client generation pipeline doesn't fit with this design. It should:

[ ] stop using packman but use the protoc command directly
[ ] introduce this protoc task as a part of Ruby's Gapic pipeline -- so that the generated files reside in a same package

Does this mean that the GapicClientPipeline would also do the work of GrpcClientPipeline when --language=ruby? Why should this be different for Ruby vs. other languages?
The pipeline that does the packaging can be distinct from the pipelines that do the gRPC and GAX generation. That way the two generation steps can remain separate, and then be brought together for the package.
For the gRPC generation, I think @geigerj discovered that it's best to use grpcio-tools for Python, rather than protoc. Can you elaborate @geigerj?

On grpcio-tools: Currently we get protoc from linuxbrew here: https://github.com/grpc/homebrew-grpc
That site indicates that the linuxbrew method is deprecated for all languages except C/C++. For Python, the replacement is the grpcio-tools package on PyPI, which includes an executable replacement for protoc that pulls in the Python plugin automatically. (Although I haven't gotten this to work, see https://github.com/grpc/grpc/issues/7857). Presumably there is also a replacement for ruby.
In Python, this is especially necessary because the plugin installed by the linuxbrew formula produces codegen that is only compatible with the beta version of the grpc runtime library, not the 1.0 version.

Also agreed with Brian that the difference between Ruby and other languages seems strange -- why can't we just configure the output directory for both pipelines be the same, while keeping the actual implementations separate? This would permit consistency with other languages, both in the invocation of the pipeline, and in the way we structure output for non-cloud APIs.

There is also grpc-tools Ruby package (see https://rubygems.org/gems/grpc-tools). If that's the way to go, let's use this (i.e. adding to the Dockerfile).

Having the same output directory (but keeping the separation of the pipeline) would be good enough. One concern is that, that way the instruction for remote pipeline (i.e. self-service) will require a manual step to merge them into a single package, like:

run GrpcClientPipeline, then download artifacts
run GapicClientPipeline, then download artifacts
copy the result of 1 into the result of 2
(4. build the .gem file)

I think the copy-and-build step is actually consistent with the current instructions for Java. The artman wrapper will also eventually provide a single command (called "generateLibrary" or similar) that runs both pipelines and downloads the combined result.

Okay, if that's consistent with others, that's totally fine.
Let me close this issue by itself. I'll file another issue for the use of its own grpc-tools.


Correction for raw affiliation Aeres University of Applied Animal Science Dronten, De Drieslag 4, 8251 JZ Dronten, the Netherlands; Royal GD, PO Box 9, 7400 AA Deventer, the Netherlands

Correction needed for raw affiliation Aeres University of Applied Animal Science Dronten, De Drieslag 4, 8251 JZ Dronten, the Netherlands; Royal GD, PO Box 9, 7400 AA Deventer, the Netherlands
raw_affiliation_name: Aeres University of Applied Animal Science Dronten, De Drieslag 4, 8251 JZ Dronten, the Netherlands; Royal GD, PO Box 9, 7400 AA Deventer, the Netherlands
new_rors: 02j5ney70;03jnx2c74
previous_rors: 02j5ney70;01xpgs822
works_examples: W4225552921
contact: 749ee993dcba230f4dcd74a029363074:aa5a3764ca2450419ba0 @ hotmail.com

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


Works with glamorous.Div, not Div

If you have:
import { Div } from "glamorous";

const MyComp = () => <Div width="100%"/>

and you use the codemode with the babel plugin
The import will be suppressed, but the Div won't be replaced by css={width: '100%'}. It works fine when using <glamorous.Div width="100%"/>

Thanks again! We'll get on this real soon! Would you like to be part of the PR?

I don't know codemods enough to make a PR and working on something else currently, thanks for asking but I'll pass, just reporting the issue ;)

A fix was just merged. Feel free to test it, as soon as @TejasQ pushes a new version to npm!

thanks, was just reporting what I found when migrating a very tiny app, now it's already migrated so I won't run the codemod again ;)

Alright! I'm sure that someone else might benefit from the issue you brought up 🙂

New version published!


Dropout application

I have a question regarding dropout and how it is applied. In the previous non-refactored version of AutoPyTorch there was a dropout_shape hyperparameter, which does not seem to be there anymore. Is now dropout applied with the same rate at every layer and if not, does it follow the network shape then ?

Hey, as far as I can tell, dropout_shape was not a hyperparameter but a parameter that depended on the network shape in the master branch. Similarly, it has exactly the same application in 'refactor_development'. You can find it here and for reference, it is implemented using this


Use pypi.io for Trove classifiers

https://github.com/pypa/warehouse/issues/1241

https://github.com/pypa/warehouse/issues/1244


pentose-phosphate shunt, non-oxidative branch

The following term has a textual def saying that the pathway starts with "ribulose 5-P", which agrees with the given MetaCyc xrefs.
But the LD has:
intersection_of: has_primary_input CHEBI:78679 ! D-ribose 5-phosphate
which is the second metabolite in the pathway.
Looks like that should be changed to:
has_primary_input CHEBI:58121 ! D-ribulose 5-phosphate(2-)
@ukemi @deustp01 ?
@rozaru
id: GO:0009052
name: pentose-phosphate shunt, non-oxidative branch
namespace: biological_process
def: "The branch of the pentose-phosphate shunt which does not involve oxidation reactions. It comprises a series of sugar phosphate interconversions, starting with ribulose 5-P and producing fructose 6-P and glyceraldehyde 3-P." [ISBN:0198506732, MetaCyc:NONOXIPENT-PWY]
synonym: "pentose phosphate pathway, non-oxidative branch" EXACT []
synonym: "pentose phosphate shunt, non-oxidative branch" EXACT []
synonym: "pentose-phosphate pathway, non-oxidative branch" EXACT []
xref: MetaCyc:NONOXIPENT-PWY
xref: MetaCyc:PWY-8178
is_a: GO:0006091 ! generation of precursor metabolites and energy
intersection_of: GO:0008152 ! metabolic process
intersection_of: has_part GO:0004750 !  D-ribose 5-phosphate
intersection_of: has_primary_output CHEBI:58027 ! glyceraldehyde 3-phosphate(2-)
intersection_of: has_primary_output CHEBI:78697 ! D-fructose 6-phosphate
relationship: part_of GO:0006098 ! pentose-phosphate shunt
property_value: term_tracker_item "https://github.com/geneontology/go-ontology/issues/27107" xsd:anyURI

This seems perfectly reasonable. Let's also have a look at any existing pathways to see if they need modification. This would be a good thing to coordinate. I can make the mouse model/s if it/they haven't been made yet. Shall we make a plan on the weeds call?

For the same pathway:
GO term pentose-phosphate shunt, oxidative branch maybe has_primary_input CHEBI:58121 ! D-ribulose 5-phosphate(2-) could be added as well?
I am not able to see the logical definition for a GO term so this is based of what I see on QuickGO.

You can see the LDs in the 'bleeding-edge' go-edit.obo file, which is here:
https://raw.githubusercontent.com/geneontology/go-ontology/master/src/ontology/go-edit.obo
Here's how the current entry looks:
id: GO:0009051
name: pentose-phosphate shunt, oxidative branch
namespace: biological_process
def: "The branch of the pentose-phosphate shunt which involves the oxidation of glucose 6-P and produces ribulose 5-P, reduced NADP+ and carbon dioxide (CO2)."  NADP(3-)
intersection_of: has_primary_output CHEBI:57783 ! NADPH(4-)
intersection_of: starts_with GO:0004345 ! glucose-6-phosphate dehydrogenase activity
relationship: part_of GO:0006098 ! pentose-phosphate shunt
property_value: term_tracker_item "https://github.com/geneontology/go-ontology/issues/27107" xsd:anyURI
Did you mean you wanted "has_primary_output CHEBI:58121 ! D-ribulose 5-phosphate(2-)" ?

yes!  it should be "has_primary_output CHEBI:58121 ! D-ribulose 5-phosphate(2-)"

As discussed on our call, I'll update  D-ribose 5-phosphate to D-ribulose 5-phosphate(2-) for GO:0009052, but leave GO:0009051 alone (since the LD is 'necessary and sufficient' as it stands).

Finally, change this:
intersection_of: has_primary_output CHEBI:78697 ! D-fructose 6-phosphate
to this:
intersection_of: has_primary_output CHEBI:57634 ! beta-D-fructofuranose 6-phosphate(2-)
to make it a pH 7.3 form, consistent with the RHEA participant on the corresponding GO MF terms:
GO:0004801transaldolase activity
GO:0004802transketolase activity


Saral SDK demo app scan results screen

Saral SDK demo app scan results screen

Refer below link on how to overlay the CameraPreview object to show the prediction result
https://www.tensorflow.org/lite/android/quickstart


Ensemble models

How to ensemble multiple models, for example, 24-12l and 48-12l two models

Please refer:
https://github.com/microsoft/deepnmt/blob/main/nmt_eval/eval_enfr.sh#L28


Caching moved to commons

this won't work at all, each time I call .json() new empty Cached object will be returned.


React Hot MD guide app configuration won't hot reload

After following the steps of the React HMR guide I am left with an app that won't hot reload.
What happens is on every file change of the App.js the browser does reload, and it seems from the webpack-dev-server log as if the module rebundles, but nothing happens.
[HMR] Waiting for update signal from WDS... does print to the browser console although no changes are seen in the browser. The only way I've been getting app changes to register with this config is if I manually run webpack.
What should the index.html look like?

I also have an issue with this guide, I'm getting an You may need an appropriate loader to handle this file type. error for my index.js for some reason.

@timurtu @macbem
I ran through the React HMR guide and it ran fine on my local.  I'm running:

ubuntu 16.04 LTS
node v6.1.0
npm v4.0.5
"devDependencies": {
"babel": "^6.5.2",
"babel-core": "^6.13.2",
"babel-loader": "^6.2.4",
"babel-preset-es2015": "^6.13.2",
"babel-preset-react": "^6.11.1",
"babel-preset-stage-2": "^6.13.0",
"css-loader": "^0.23.1",
"postcss-loader": "^0.9.1",
"react-hot-loader": "^3.0.0-beta.6",
"style-loader": "^0.13.1",
"webpack": "^2.1.0-beta.25",
"webpack-dev-server": "^2.1.0-beta.0"
}
"dependencies": {
"react": "^15.3.0",
"react-dom": "^15.3.0"
}

After reading the Guide, I was able to produce this in my browser:
Initial Load of index.html after setting up webpack+react+babel

index.html after changing text in /src/components/App.js

Perhaps a couple of steps needed more clarification.  I created a PR to update the Guide.
Hopefully this helps.

You ran the HMR guide, because my PR with fixes has already been merged to the docs - sorry, I forgot to mention it here.

What were the fixes?

I have changed the required Webpack version.

I tried the guide again and ran into a small issue, and that was destructuring resolve from path in the webpack.config.js. const { resolve } = require('path')
I'm not sure which node version has destructuring, I'm running v4.6.1, but after changing it to a normal require statement everything seems to be working.


Brainstorm Architecture for Workflow

Let's plan and discuss the architecture for the core workflow that will connect pytube, opencv, and yolo as well as display the output on the streamlit application.
Considerations:

Create independent services for each step
Unit test each service
Use dependency injection techniques to compose the services together
The core of this involves analyzing images, and videos are just arrays of images, so a core image service will likely be useful

Here are some initial thoughts on implementing the workflow. There's more to think through but this is a starting point.
Essentially we can create interfaces that define our services, create concrete classes that implement those interfaces and compose them together to download, prepare and analyze the video and frames.
I could see several potential interfaces:

DownloadService

download(path: str, config: DownloadConfiguration) -> DownloadedData

AnalyzeImageService

__init__(prepService: ImagePreparationService, modelingService: ImageModelingService)
analyze(img: ImageData) -> FrameMetadata

ImagePreparationService

prepareImage(img: ImageData) -> PreparedImageData

ImageModelingService

detectItems(preparedImage: PreparedImageData) -> FrameMetadata

Concrete Implementations:

VideoDownloadService - internally could use Pytube
ImageDownloadService
OpenCvPreparationService
YoloV7ModelingService - we could use a Factory Method to load different versions of concrete YOLO services

Classes

DownloadConfiguration - includes fields for video or image quality, file type, etc. as needed
ImageData - represents frame / image data
PreparedImageData - holds output from a package like OpenCV
DownloadedData - raw video or image that was downloaded from a package like Pytube
FrameMetadata - output from a package like YOLOv7

These could be subclassed in some cases, for one example the DownloadConfiguration, to separate image and video configurations if needed.
We can compose the Prep and Modeling services into our working AnalyzeImageService and use this service for processing a single image. So we'll be able to loop over each frame in a video and call the analyze method each time.
Pseudocode concept:
downloadService = VideoDownloadService()
videoData = downloadService.download(url, config)

prepService = ImagePreparationService()
modelingService = YoloV7ModelingService()
analyzeImageService = AnalyzeImageService(prepService, modelingService)

for(frame in videoData):
   metadata = analyzeImageService.analyze(frame)
   # display metadata on Streamlit UI

As we loop, we can update Streamlit, or, for the API, finish the loop, collect all the data and return a single response.
Separation of the UI / API wrapper and the core analysis logic is important to separate concerns and facilitate reusability and testability.
Related Resources:

Python Interfaces
Factory Method
Dependency Injection in Python

Closing this out since we now have an initial pattern in place.


log error instead of panicking for some unexpected situation

A workaround for https://github.com/getlantern/lantern-internal/issues/4197 and https://github.com/getlantern/lantern-internal/issues/4325. I've been testing this for days w/ quic and lampshade and, even though didn't find the root cause yet, been able to use it continuously.


First commit for statistical PSD WFE class

Please advise if something needs to be different. My units are still off and I need to fix that.

Coverage decreased (-0.7%) to 71.052% when pulling aad83a407cbf08184021664c3b62a5407906dc00 on ivalaginja:psd_wfe into 452d98500dd93bde8e43ad3f99c505063c811402 on mperrin:master.

Coverage decreased (-0.7%) to 71.052% when pulling aad83a407cbf08184021664c3b62a5407906dc00 on ivalaginja:psd_wfe into 452d98500dd93bde8e43ad3f99c505063c811402 on mperrin:master.

I will submit this PR to spacetelecsope/poppy instead.


Problem with mod and Configuration server maybe

Hello,
My team working on implementing mod with news objects.
Unfortunately, when we install on the server and we click on an engram , the server crash and reboot .
The mod is functional on a server Nitrado example and solo part.
The impression is that the Primal Game Data mod is not greater than the server . Should succeed in overloading the server with the PGM mod.
Does the server needs additional configuration?
If someone in a track, let me know! : D
Pending read you
Raztoux

I have nothing to do with theese tools, but it may help if you include which mod and how you are trying to install and load it.
Is it only one mod or several? You have to choose the correct load order in the /etc/arkmanager/arkmanager.cfg or the nameofinstance.cfg file in /etc/arkmanager/instances folder.
To install a mod you do arkmanager installmod modid or if not main instance arkmanager installmod @nameofinstance modid and add it under ark_GameModIds="modid,modid" in the cfg file for your server instance. replace modid with the modid numbers for your mod(s)
Hope this helps.
Steven.

Hi Steven,
Thanks for your response.
I have 1 mod and 1 map (valhalla). The mod does not work with or without the map.
In the /etc/arkmanager/ i haven't the folder "instances". Is this normal?
My arkmanager.cfg :
# ARK server options - use ark_<optionname>=<value>
# comment out these values if you want to define them
# inside your GameUserSettings.ini file
serverMap="Valhalla"                                               # server map (default TheIsland)
#Ancienne map ="TheIsland"
#serverMapModId="504122600"                                         # Uncomment this to specify the Map Mod Id (<fileid> in http://steamcommunity.com/sharedfiles/filedetails/?id=<fileid>)
#Ancienne map: "469987622"
#ark_TotalConversionMod="496735411"                                 # Uncomment this to specify a total-conversion mod
ark_RCONEnabled="True"                                              # Enable RCON Protocol
ark_RCONPort="XXXX"                                                # RCON Port
ark_SessionName="[FR] Reyha - Ark-RP.fr"                                  # if your session name needs special characters please use the .ini instead
ark_Port="7777"                                                     # ARK server port (default 7778)
ark_QueryPort="27015"                                               # ARK query port (default 27015)
ark_ServerPassword="XXXXX"                                        # ARK server password, empty: no password required to login
ark_ServerAdminPassword="XXXXXX"                                     # ARK server admin password, KEEP IT SAFE!
ark_MaxPlayers="50"
ark_GameModIds="623289965"                                          # Uncomment to specify additional mods by Mod Id separated by commas
#Mod Aless : 619012911 - 620214576 - 621846940 - 623289965
#ark_GameModIds="487516323,487516324,487516325"                     # Save Command specify additional mods by Mod Id separated by commas
#ark_AltSaveDirectoryName="SotF"

And in my case mods I have it (I even tried to transfer my files from my steam directly because I have heard of problems with steamCMD for ARK) :
http://i68.servimg.com/u/f68/11/72/42/70/captur10.png
Are there any log that I can use ? I can not find anything significant : /
Pending read you
Raztoux

Hi,
If you are running arkmanager 1.4 (which you should if you don't need any features in 1.5-dev) it is normal that you do not have the instances folder. I forgot that when I typed my post.
I haven't yet had an issue with SteamCMD for linux other than an occasional failure to download (which arkmanager 1.5-dev has lately worked aroud by retrying download).
steam@ARK:~$ arkmanager installmod 623289965
Running command 'installmod' for instance 'vanilla'
Downloading mod 623289965 ... Mod 623289965 downloaded
Copying files to /home/steam/ARK/ShooterGame/Content/Mods/623289965
Mod 623289965 installed

added ark_GameModIds="623289965" to my instances/vanilla.cfg my instance is called this on my test server. if you run 1.4 just put it in arkmanager.cfg like you already did.
then I just started the server with arkmanager start
Image of mod working
Everything works fine for me.
One thing I do notice in your config file is that you put 7777 as port number, do you wish to run the server on the standard port? if so the correct is 7778 :)
Regards Steven.

Hi Steven,
I'm sorry for my forgot, but the mod 623289965 work on my server too.
But the mod 621846940 didn't work.
Ok for the version of my arkmanager.
I will change the port of my server tonight.
Thanks a lot Steven !
Best Regards

Well I don't find that very strange as it doesn't exist according to my findings. https://steamcommunity.com/sharedfiles/filedetails/?id=621846940
Steven

Ah, this is my modder who had privately ...
Here is the link to download the github if needed ( I ask him to board the public ) : https://github.com/Raztoux/Reyha/commit/b7164a851fe1cb90e54a3e14d1c0eace3cd6d773
Raztoux

That explains why I did not find it ;)
Will do some more testing after work for you.
Steven

Ok thanks you very much Steven.
The mod is now available
Raztoux

Ok, I did test with the one from github, but it still seemed to download ingame when connecting to the server and it worked for me.
Still at work so only tested via remoting into my PC so I do not know if the items work, but you can see in screenshot that it loaded.
All I did was copy the folder and the .mod file into Mods on both server and client, added the modid to arkmanager.cfg (same as you correctly did).
Steven

Hi Steven,
The server work with this mod, but when we click on an engram , the server crash and reboot.
But not all engrams. Exemple the gunsmith (or "Armurerier" in french), my server crash.
If you can try to click on all new engrams created and see what happens it will let me know if this is the mod / server / both have a problem.

Raztoux

Hi,
Yes server is running on Ubuntu Server 15.10. Crashed when trying to learn Electrician thing.
I don't know what it could be, but I can do some more testing when I get home.
Steven

Hi,
Ok thanks a lot !
I await your return
Best Regards
Raztoux

I did test without arkmanager and it still crashes, you could try to run a GDB Backtrace on the ARK server process to try and figure out why the mod is crashing, then modmaker might be able to figure out a way around it. Is the Nitrado server a windows server or maybe a different flavor of linux?
I haven't done enough GDB backtraces and no experience in ARK modding (yet) to be able to make any sense of the results, but maybe you are able to.
I have been able to figure out why our ARK server itself has crashed in the past with GDB and reported the bugs to Wildcard so they could fix it, so maybe, just maybe it can help you.
Best of luck!
Steven

Hi Steven,
Thanks a lot for your help.
I try with GDB and modmaker, I don't know this soft.
I think Nitrado runs on windows but I don't really know.
I check this source.
Thanks again !
Raztoux

Does this work when using the -automanagemods option to the ARK server?

Closing old issues


drivers: timer: mcux: lptmr: add dependency on CONFIG_PM

The introduction of cc2c05a90cd6b573c8702ae4c117c3e64efa42a9 caused CONFIG_MCUX_LPTMR_TIMER to always be enabled for boards where the NXP LPTMR is enabled in the board devicetree.
Using this low-power timer as system timer only makes sense when using power management. Otherwise, it just results in a lower tick resolution and non-tickless operation.
Add dependency on CONFIG_PM for CONFIG_MCUX_LPTMR_TIMER.
Signed-off-by: Henrik Brix Andersen<EMAIL_ADDRESS>

This is similar to how the STM32 LPTMR is only enabled for CONFIG_PM=y configurations: https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/timer/Kconfig.stm32_lptim


Can't change tax profile

I need to edit my tax profile. Im click on the edit button and have error.

How can i edit my tax profile?

Hi @SuxoiKorm , could you reach out to either Windows developer support or Microsoft Support? Unfortunately we only handle documentation fixes so I'm thinking these channels might help get an answer for you faster.
If you receive assistance via any of the support resources, and you believe that information would help us improve the docs, we'd appreciate if you came back and let us know.

The error went away when I did it through Edge, and not through Chrome. Thanks


Bugfix: Setting a reference property

Description
The newly set entity was wrapped in PandoraReference too early - it needs to be passed into set_default_value as an entity and only after that it's set into property overrides wrapped in PandoraReference.
Addressed issues
Closes #79

Thanks!

@bitbrain Happy to help!!!


pilot.validation.istio.io doesn't work

Bug description
I have a simply yaml file like this:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: vstest
spec:
  hosts:
  - vstest
  http:
  - route:
    - destination:
        host: vstest
        port: {}
---

when we apply it
In istio-1.1.2 ：
[root@client ]# kubectl apply -f vstest.yaml
Error from server: error when creating "vstest.yaml": admission webhook "pilot.validation.istio.io" denied the request: configuration is invalid: 2 errors occurred:
* subset name cannot be empty
* port number 0 must be in the range 1..65535

but in istio-1.2.0（also in istio-1.1.4） it can create correctly：
root@client:~/demo# kubectl get vs vstest -oyaml
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"networking.istio.io/v1alpha3","kind":"VirtualService","metadata":{"annotations":{},"name":"vstest","namespace":"default"},"spec":{"hosts":["vstest"],"http":[{"route":[{"destination":{"host":"vstest","port":{}}}]}]}}
  creationTimestamp: 2019-07-04T02:48:33Z
  generation: 1
  name: vstest
  namespace: default
  resourceVersion: "78701731"
  selfLink: /apis/networking.istio.io/v1alpha3/namespaces/sz/virtualservices/vstest
  uid: 36ace145-9e06-11e9-b5c9-fa163e063a5e
spec:
  hosts:
  - vstest
  http:
  - route:
    - destination:
        host: vstest
        port: {}

Is a Bug or Feature ？
Or I miss something configuration？

is nothing validating at all or just not that config? maybe the validation logic changed if so, I'll take a look.
If not maybe the webhook isn't installed, can you check with kubectl get validatingadmissionwebhook

@howardjohn thx to apply
I install the istio with default configuration.
Inistio-1.1.2
[root@client sz]# kubectl -nistio-system describe pod istio-pilot-6f54c4c4ff-f7fd4 | grep image
  Normal  Pulled     3m    kubelet, <IP_ADDRESS>  Container image "registry.icp.com:5000/library/plover/istio/pilot:lc_v1.1.2" already present on machine
  Normal  Pulled     3m    kubelet, <IP_ADDRESS>  Container image "registry.icp.com:5000/library/plover/istio/proxyv2:lc_v1.1.2" already present on machine
[root@client sz]# kubectl get validatingadmissionwebhook
error: the server doesn't have a resource type "validatingadmissionwebhook"
[root@client sz]# kubectl apply -f vstest.yaml
Error from server: error when creating "vstest.yaml": admission webhook "pilot.validation.istio.io" denied the request: configuration is invalid: 2 errors occurred:

* subset name cannot be empty
* port number 0 must be in the range 1..65535

The  webhook isn't installed but validating also work.
In 1.2.0
root@inserver:~/sz/demo# kubectl -nistio-system describe pod istio-pilot-7bd44f468b-xs6gr | grep Image:
    Image:         registry.icp.com:5000/library/istio/docker.io/istio/pilot:1.2.0
    Image:         registry.icp.com:5000/library/istio/docker.io/istio/proxyv2:1.2.0
root@inserver:~/sz/demo# kubectl get validatingadmissionwebhook
error: the server doesn't have a resource type "validatingadmissionwebhook"
root@inserver:~/sz/demo# kubectl apply -f vs-test.yaml
virtualservice.networking.istio.io/vstest created
root@inserver-inspurclouddev-349-10:~/sz/demo#

istioctl validate considers this VirtualService valid.  I tested with 1.2.0 and 1.1.8.

Confirmed this is marked as valid in 1.2 and fails in 1.1.0. Seems like a regression

Behavior change is at least partial from https://github.com/istio/istio/pull/13054. It is not clear to me what exactly the validation should be for the destination field. According to https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service/#Destination it should be valid to have no subset and to not specify a port so I think there is nothing to be done here?

I test the istioctl  and find that  from 1.1.3 the port validate was removed.
root@inserver-inspurclouddev-349-10:~/sz/demo# ./istioctl_1.1.2 validate -f vs-test.yaml
Error: 1 error occurred:

* error validating resource (networking.istio.io/v1alpha3, Kind=VirtualService Name=vstest Namespace=): 2 errors occurred:

* subset name cannot be empty
* port number 0 must be in the range 1..65535
root@inserver-inspurclouddev-349-10:~/sz/demo# ./istioctl_1.1.3 validate -f vs-test.yaml
root@inserver-inspurclouddev-349-10:~/sz/demo# ./istioctl_1.1.4 validate -f vs-test.yaml
root@inserver-inspurclouddev-349-10:~/sz/demo# ./istioctl_1.1.8 validate -f vs-test.yaml
root@inserver-inspurclouddev-349-10:~/sz/demo# ./istioctl_1.2.0 validate -f vs-test.yaml
"vs-test.yaml" is valid

In #13054 , I found the change is
-	// port selector is either a name or a number
+	// port must be a number

It seems like that port must bu a number ,and from  https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service/#Destination
we can find  that PortSelector specifies the number of a port to be used for matching or selection for final routing.
So, the port must a number or not ?

Seems this is working as indented as of https://github.com/istio/istio/pull/13054/files; port is optional


Unity and NuGet package is still at version 2.6.0 at in release 3.0.0 and later

Describe the bug
The GeneticSharp.unitypackage file included in the releases for 3.0.0, 3.1.2 and 3.1.4 are identical to release version 2.6.0. Likewise the latest version listed on NuGet is still 2.6.0.
To Reproduce
Go to the releases page, download the GeneticSharp.unitypackage included in 3.1.4. When importing this package in a Unity project that already has Genetic Sharp 2.6.0, Unity will show a dialog that this package is already present. When adding the package to an empty project, inspecting the DLL in an editor such Rider it shows the version number 2.6.0.
Expected behavior
I expect that the assets included on the releases for 3.0.0 and later are of the version indicated. Likewise I expect the available versions on NuGet to include the latest release.

Ah, I now understand this is due UnityNuGet using a curated list of NuGet packages, which excludes GeneticSharp 3.0.0 and later "since as of that version it only targets .NET 6.0" (source: https://github.com/xoofx/UnityNuGet/pull/148).
I'm no .NET expert, but is GeneticSharp v3 targeting .NET 6.0 an issue for Unity? Or does that apply only to certain older versions of Unity?


Update validation.php

Edited description text, removed unnecessary "such".

Can you check on all files please ?

Do you mean to check all comments in all files or all german files for errors and changes?

All languages ;)

Did it!

Danke


Add new actions for testing

We should have the following new/modified actions:

[ ] one generic action to set up AMUSE, which other actions can then use (avoiding duplication)
[ ] a test using this to test framework (perhaps as part of the above), using the current 'inplace' action as a template
[ ] actions that build and test a specific community code, triggering on a change in the community code dir:

name: test-{codename}

on:
  push:
    paths:
      - src/amuse/community/{codename}

[ ] these could then (maybe) also build new packages and upload to PyPI

This should allow for much better testing than we currently have, and should allow us to automatically approve PRs and build packages if everything is successful

helpful documentation: https://github.blog/changelog/2021-08-25-github-actions-reduce-duplication-with-action-composition/