chore: Add support for GitHub Packages

GITHUB_REF
version format

refs/heads/*
#.#.#-ci.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9}

refs/pull/*
#.#.#-pr.{%Y%m%d}T{%H%M%S}+sha.${GITHUB_SHA:0:9}

See: #54, open-feature/dotnet-sdk-contrib#134
Closes: #54

Well, still failed, but now I'm pretty sure it's just the fork issue. Assuming ${{ secrets.NUGET_TOKEN }} is available to others, then this will work as is, otherwise, I can update the conditions to skip publishing from forks.

FYI the secrets.NUGET_TOKEN is for nuget.org registry but looking at this change its pushing to github registry. Also i believe forks won't have access to any secrets from memory. You might need to update the permissions on the workflow to get write access to github registeries on the secrets.GITHUB_TOKEN that the action runner generates https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs#defining-access-for-the-github_token-scopes

Bah, I knew there was something I was forgetting. Thanks, will update.

One problem with using githubs nuget registry is you need a github account setup to pull down the packages (this could of change since last time i checked). This is why i originally suggested using something like MyGet which offer free accounts for OpenSource projects.
I think gating the prerelease packages behind auth defeats the purpose, and makes for a cumbersome developer experience. Happy to go a head with it if people are fine with that.

Full agree that GitHub should just give us the option to allow un-auth'd package retrieval for OSS projects, but I also don't think the auth requirement is all that big of a blocker.
Now this could be some corporate dev bias, but of all the authenticated feeds I have to deal with at my day job, GitHub Packages is the least annoying of them lol.
But bigger picture, I think providing prerelease packages directly from GitHub is a really useful solution for discoverability, plus if you're already setup to consume one GitHub package feed, then that auth carries over to the N+1 feed too.
So wouldn't ever recommend we only publish to GitHub Packages (e.g. as opposed to, say, nuget.org), but I think it's a really nice built-in option that comes pretty much for free (as in beer/time) and offers a nice UX in terms of code+packages+releases all in one place.
(also, none of what I'm saying here precludes also publishing to myget in addition to github, I'm just saying there's no reason to not offer github while we're at it.)

I think this is wrong. I could be missing something, but pull_request_target runs in the context of the base branch - so this will make all our CI tests run the code in main, not the code in whatever PR.

Geeze, I think you're right. I'm not sure what I was doing when I changed that (testing token perms, maybe?).
Reverting now.

Screencap for future readers showing where to find the uploaded NuGet packages for PR builds from forks:

Clicking on the nupkgs artifact will trigger a download of nupkgs.zip which should contain any packages resulting from the workflow:

Actually, hold on, don't merge this just yet @toddbaert. The uploaded package doesn't look like it included the version suffix. Reviewing now.

Actually, hold on, don't merge this just yet @toddbaert. The uploaded package doesn't look like it included the version suffix. Reviewing now.

Okay, I'd overlooked that build/Common.prod.props was using <Version> instead of <VersionPrefix>.
tldr; you can use either, but if you use <VersionPrefix> then you can supply <VersionSuffix> from the CLI via --version-suffix and MSBuild will do something along the lines of:
<Version Condition="'$(Version)' == '' and '$(VersionSuffix)' == ''">$(VersionPrefix)</Version>
<Version Condition="'$(Version)' == '' and '$(VersionSuffix)' != ''">$(VersionPrefix)-$(VersionSuffix)</Version>

diff --git a/build/Common.prod.props b/build/Common.prod.props
index c9e5855..383da6f 100644
--- a/build/Common.prod.props
+++ b/build/Common.prod.props
@@ -19,7 +19,7 @@
     <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
     <Authors>OpenFeature Authors</Authors>
     <PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
-    <Version>$(VersionNumber)</Version>
+    <VersionPrefix>$(VersionNumber)</VersionPrefix>
     <AssemblyVersion>$(VersionNumber)</AssemblyVersion>
     <FileVersion>$(VersionNumber)</FileVersion>
   </PropertyGroup>

Resultant version of that last CI run looks better, but still concerned that the Deterministic + SourceLink checks are failing:

Okay, not entirely sure why it caused issues, but removing these since they're now set at the top of the file:
diff --git a/build/Common.prod.props b/build/Common.prod.props
index 383da6f..4d073ec 100644
--- a/build/Common.prod.props
+++ b/build/Common.prod.props
@@ -35,11 +35,4 @@
     <SymbolPackageFormat>snupkg</SymbolPackageFormat>
   </PropertyGroup>

-  <ItemGroup Condition="'$(Deterministic)'=='true'">
-    <SourceRoot Include="$(MSBuildThisFileDirectory)/" />
-  </ItemGroup>
-
-  <PropertyGroup Condition="'$(Deterministic)'=='true'">
-    <ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
-  </PropertyGroup>
 </Project>

Local packing still results in the expected source root/paths:

Woohoo, it lives! 🥳🥳🥳

https://github.com/open-feature/dotnet-sdk/pkgs/nuget/OpenFeature


issues with analogRead in PatchMajorChord example

Just received my Daisy -- have the audio examples running fine with arduino, though having issues running audio with analog sensor input. For instance -- in the PatchMajorChord example, the knob input on A0 prints out only as 512 and doesn't seem to have an effect on the audio.
My circuit is fine as I tested it in a separate patch and the analogRead prints as it should without the Daisy library -- Is there a step I am missing in the process? Below is a screenshot of my arduino settings.

Thanks,
Julian

@julianstein
Can you provide a photo/description of how your circuit is hooked up?

The first thing that comes to mind is that your AGND and DGND may not be connected.

@stephenhensley yes -- issue was with the grounds not being connected, wasn't aware that this was necessary. Thanks !
Julian


[Feature]: Better support of postcss and tailwindcss

What is the new or updated feature that you are suggesting?
Include building css into the building pipeline, provides some kind of config, just like nextjs/cra...
Why should this feature be included?
Now, to use tailwindcss, the documentation suggests using tailwindcss or postcss as a single process, and run its watch command together with remix. This approach works, but consider the following situation in development:

The user changes className

-

+

remix watch catches the change

tailwindcss catches the change, too.

remix reloads the change, the className is reflected on the page, but because the corresponding css hasn't been generated and loaded.

tailwindcss completes, but the page doesn't refresh (might be due to throttling). The user needs to refresh the page by hand.

Have you ever experienced this, or is this an assumption? When changing my tailwind.config.js, I see the following in my terminal:
[0] Rebuilding...
[0] Done in 59ms.
[1] 💿 File changed: app/tailwind.css
[1] 💿 Rebuilding...
[1] 💿 Rebuilt in 115ms

Remix is watching the generated CSS and rebuilding after tailwind is updating it. We have fast tailwind + remix right here. Plugging them together via the CSS file & running parallel processes is so simple. Why adding more complexity for getting the very same result?

Have you ever experienced this, or is this an assumption? When changing my tailwind.config.js, I see the following in my terminal:
[0] Rebuilding...
[0] Done in 59ms.
[1] 💿 File changed: app/tailwind.css
[1] 💿 Rebuilding...
[1] 💿 Rebuilt in 115ms

Remix is watching the generated CSS and rebuilding after tailwind is updating it. We have fast tailwind + remix right here. Plugging them together via the CSS file & running parallel processes is so simple. Why adding more complexity for getting the very same result?

Oh yes... That might be due to I'm using miniflare. For me, the output of the second time rebuilding is skipped maybe because of the throttling of miniflare's watch.

changes in jsx
jsx get rebundled by remix
worker.js get rebundled by esbuild
tailwind refreshes
the page is refreshed by remix's client side code
remix rebundled with correct tailwind (step 3 is skipped maybe because the interval is very short)
user don't see the latest change because worker.js is not rebundled

I still think it is necessary to include css into the building flow. You see, even in normal process, the result it only correct when it is bundled twice. (one for js change, one for css change). This might be okay for small apps, but it looks a little bit ugly and wastes even more time for bigger projects.

I'm not that much into build tools. I can only imagine adding complexity to the Remix build system could make every single refresh slower. Keeping them separate means that Tailwind can keep its build times fast, Remix can keep its build times fast.
And because they are so fast, you're experiencing this issue using miniflare 😂

I'm not that much into build tools. I can only imagine adding complexity to the Remix build system could make every single refresh slower. Keeping them separate means that Tailwind can keep its build times fast, Remix can keep its build times fast.
And because they are so fast, you're experiencing this issue using miniflare 😂

With esbuild I think it is easy to incorporate the css building flow, i.e. taking postcss, etc into account instead of asking the user to start a new cli tab/use concurrently to handle that by self.

During the introduction video in late November, Michael Jackson mentioned they "would prefer solutions that would not require us to modify our compiler" — https://youtu.be/wsJaUjd1rUo?t=3506
The setups vary a lot user-by-user — some don't use Tailwind, some don't use PostCSS and use SCSS, there's also style-dictionary generating design tokens — setups vary a lot. I think it's wise Remix stays away from styling, at least at this stage.


Publish 0.3.0

It doesn't appear to have been published to npm

https://www.npmjs.com/package/bs-luxon
Fixed, thank you very much!


Hash

Hello, i find your programm, and just want to ask, how to use your result for hashcat
root@server17:~/HashTag# ./HashTag.py -sh '002E92F78C1059E28EDBCC65395C892E77E08057F0A1C148A196913772810DC1'
Hash: 002E92F78C1059E28EDBCC65395C892E77E08057F0A1C148A196913772810DC1
[] Keccak-256
[] sha256(md5($pass).$pass))
[] Skein-256
[] Skein-512(256)
[] Ventrilo
[] WPA-PSK PMK
[] GOST R 34.11-94 - Hashcat Mode 6900
[] Haval-256
[] RipeMD-256
[] SHA256 - Hashcat Mode 1400
[] sha256(md5($pass))
[] sha256(sha1($pass))
[] Snefru-256
[] HMAC-SHA256 (key = $salt) - Hashcat Mode 1460
[*] SHA-3(Keccak) - Hashcat Mode 5000

It depends on the type of attack you want to conduct. All of the usage options can be found here: https://hashcat.net/wiki/doku.php?id=hashcat
Assuming you wanted to do a dictionary attack with the rockyou wordlist it would look something like this:
hashcat -m 5000 hash.txt rockyou.txt
That's probably the most simple example I can give you. If you would like to learn more about hashcat there are plenty of resources available online. Download random hashes you find on the internet and start practicing different types of attacks, it's fun :)


[WIP] Node shapes

Addresses #659 #878 #826

Shapes not finallll..

I love it.

Is the shape hard coded into the frontend?  How do you choose?
I think we could add a 'shape' and 'group' (bool) field to a node details struct and have the backend send you this if you like?
The hexagon should be use for k8s, for sure

We are dispatching on the tail of the topo's URL (containers|containers-by-name...). pseudo nodes are drawn as circles and theinternet is special cased. [0]
Solutions:

Add type: (host|container|app), grouped: (true|false) props to the node data.
Add a shape: (circle|square|stacked-circle|cloud) and let the BE choose.

I prefer 1. but if 2. makes more sense we could do that.
[0]

const nodeShapes = {
  'hosts': NodeShapeCircle,
  'containers': NodeShapeHex,
  'containers-by-hostname': stackedShape(NodeShapeHex),
  'containers-by-image': stackedShape(NodeShapeHex),
  'applications': NodeShapeRoundedSquare,
  'applications-by-name': stackedShape(NodeShapeRoundedSquare)
};

function isTheInternet(id) {
  return id === 'theinternet';
}

function getNodeShape({id, pseudo, topologyId}) {
  if (isTheInternet(id)) {
    return NodeShapeCloud;
  } else if (pseudo) {
    return NodeShapeCircle;
  }
  return nodeShapes[topologyId];
}

Don't forget pods and services.

Do pods and services exist in the system at the moment?

Yes, but only if connected to a k8s cluster.

Don't forget pods and services.

Maybe the drop shape from the style studies for pods?
And for services maybe a "S" that is a circle? Like

Or maybe that is trying to be too smart
More importantly, we need a fall-back shape that gets applied when developing new topologies. Maybe a non-rounded rect?

I'd prefer if the ui didn't hard code any topology names, as we want the
user to be able to define there own topologies when we add the dsl.
On Monday, 1 February 2016, David<EMAIL_ADDRESS>wrote:

Don't forget pods and services.
Maybe the drop shape from the style studies for pods?
And for services maybe a "S" that is a circle? Like
[image: screen shot 2016-02-01 at 12 17 15]
https://cloud.githubusercontent.com/assets/859729/12715989/c9f403ce-c8dd-11e5-8da1-4a499b8f63a7.png
Or maybe that is trying to be too smart
More importantly, we need a fall-back shape that gets applied when
developing new topologies. Maybe a non-rounded rect?
—
Reply to this email directly or view it on GitHub
https://github.com/weaveworks/scope/pull/884#issuecomment-177922977.

I'll take a stab at adding this to the backend today.

Just wondering if the stacks would look slightly better if the stacked diagonally (vs the current vertical)?

If we wanted to be super awesome, we could also provide the number of things in a stack and render appropriately?

We should also make the uncontained nodes on the containers view a stack of squares, as they are processes...

Very nice!!

Have rebased. Pseudo nodes don't seem to be honouring backend shapes.

Yes I think there is some code in there that forces pseudo = circle. Will fix. And review.

@davkal LGTM

Sooo!
Rational behind the current shapes:

Apps/processes: Rounded square. Alternatives: Simple Gear, Hexagon

Common association now w/ mobile apps etc.

Containers: Hexagon. Alternatives: Rounded Square

npolys have an association w/ the container world thanks to k8s.
Squares have harsh sharp edges, rounding them would confuse them with Apps. (We could choose another shape for Apps...).
Vertical Hexagon gives visual illusion of a 3D cube

Hosts: Circle

It is the graph super shape. Circles are the base of most graphviz.
Host is the super node in the system, nothing beats host, maybe data-center.

I mocked up proc:gears and container:squares, unfortunately squares feel very natural as containers.

Re: diagonal stacks, I think they give too much of a 3D feel to our otherwise very flat UI.

Nicer, more subtle cog shape, evokes associations w/ ports/connections i think.

Re diagonal shapes: I'd keep them as top perspective. you could try having the vanishing point on the right (instead of the bottom), like in the detail cards
Re cogs for processes, I think they are overloaded with "system" or "settings" semantics.

nice thought re: perspective, will try.
Cool. So initial node shape choices seem like a good starting point for everyone it seems. Maybe we can merge this in and see what complaints come in.

I like the gentle perspective!
Vertical feels like looking down onto the topo and makes the highlight shape more natural.

@pidster check it out and have a play when you get a chance! Great to get your feedback on this one.

Tom's suggestion for the stacks showing as 1x, 2x and all >2x as 3 layers is a good idea.
An aggregate that indicates multiple but only has one member will be confusing.

The vertical perspective stack looks great.
So, where does it stand now: Processes are squircles, Containers are hexagons (or cogs?) and Hosts are circles?
Are the line weights the same in all of the shapes, or is that just a side-effect of the cog rendering?

The variants, in a classic rustic saddle brown.

An aggregate that indicates multiple but only has one member will be confusing.

@foot while I like the gray disks a lot, I concur with @pidster
Could we get rid of the gray ones?


Support for OpenContainer from animations package

Is your feature request related to a problem? Please describe.
Using this package the routing is triggered by changes to the state.
How would you suggest integrating it with a widget such as OpenContainer where the routing is triggered imperatively?

Hi @amitkot 👋
Thanks for opening an issue!
Can you please provide a minimal reproduction sample which illustrates the issue you're facing? It will be much easier to help, thanks! 🙏

Closing for now since there is no reproduction sample. Feel free to provide one and I'm happy to take a look 👍


Simple comment fix for hands.h.

Attached a simple fix in the comments of "hands.h".
The spades/hearts/diamonds/clubs comments were marking the hands for north, east, south, and west.
Github does not allow me to attach a ".patch" file, so I need to rename it to .txt
hand_fix.txt

Thanks


Check that module preceeds import and require in exports definitions

This provides a fix for common bugs like this:
{
  "exports": {
    ".": {
      "import": "./dist/index.mjs",
      "require": "./dist/index.js",
      "module": "./dist/index.mjs",  // ⚠
    }
  }
}

Due to the way conditions are checked top-to-bottom, the module definition has no chance to take precedence over import and require—which is typically the whole point of including module. Bundler implementations may chose to not respect definition order (so some bundlers may work despite the incorrect order of the module field), but it's not the way the conditions are supposed to be checked. By enforcing module to appear before import and/or require, this problem is circumvented and should work in all bundlers.
The fix for the above is to move the "module" definition up:
{
  "exports": {
    ".": {
      "module": "./dist/index.mjs",  // ✅
      "import": "./dist/index.mjs",
      "require": "./dist/index.js",
    }
  }
}

Based on this description of how conditions work.

Thanks for the review, @bluwy! I just made the changes you suggested. Does it look okay to you this way?


Handling marker

Hi,
How to handle the marker so I will get only the relevant latest result?
Also, how can I timing the API calls?
Thank you

Hi, not sure what you mean by marker?

The WhaleAlert API have marker so you can know in what place the last query was and where the next call will start.

Are you referring to cursor?
Ref: https://docs.whale-alert.io/?_ga=2.129845198.398249688.1594489224-626053667.1594489224#transactions

yes, sorry for my bad english

No problem at all!

Hi there @CryptoAngel, I just released version 1.0.4 which may address any issues you have had with the request parameters.

Hi bro,
what is cursor in this api ?
can you help me ?


Make the OAuth2 request audience configurable

Feature Request / Improvement
OAuth Audience helps to prevent unauthorized access to resources. When a resource server receives a token, it can validate that the token was indeed issued for it by checking the audience claim. If the audience claim does not match the identifier of the resource server, the token should be rejected. This prevents a situation where a token intended for one service is misused to access another.
For example, the following request will get back a token with audience rest-catalog, so that the token will not be misused by other services. Other services can reject it by checking its audience.
curl --request POST \
  --url https://xxx/oauth2/token \
  --header 'Authorization: Basic xxx' \
  --header 'content-type: multipart/form-data' \
  --form grant_type=client_credentials \
  --form audience=rest-catalog

I'd suggest to make it configurable. We will also need the same change for Java client. cc @Fokko @danielcweeks @syun64 @RussellSpitzer @himadripal
Related RFC: https://datatracker.ietf.org/doc/html/rfc8693#name-token-exchange-request-and-

scope is already configurable. Apart from scope and audience, there are few more optional parameter mentioned here, do we need make those configurable as well?

working on the python one

This is fixed.


Update scala-reflect to 2.13.6

Updates org.scala-lang:scala-reflect from 2.13.3 to 2.13.6.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.13.3).
You might want to review and update them manually.
DEVELOP.md
doc/docs/cli-launch.md
doc/docs/cli-overview.md

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang", artifactId = "scala-reflect" } ]

labels: library-update, semver-patch, old-version-remains

Superseded by https://github.com/coursier/coursier/pull/2631.


add: input functionality (part1, part2)

Since you have a better solution introduced in PR: add: input functionality (part1, part2), I say we close this one and merge the other one.

Since you have a better solution introduced in PR: add: input functionality (part1, part2), I say we close this one and merge the other one.

agreed!!!


Fix Prerender https host issue

I found that the host become incorrect value If including https in siteUrl.

Thanks! By the way, next time if you can try to make the PR to the devel branch :)

I added your fix here: https://github.com/TelescopeJS/Telescope/commit/a2c77429e05fe558ff38e966e5489de3a50b0483 :)

@SachaG Thanks!

By the way, next time if you can try to make the PR to the devel branch :)
Okey! I'll try to make the PR the devel branch next time :smiley:


Preview Pane Support for List Widget: Variable Types

Is your feature request related to a problem? Please describe.
Not a problem, just a beta feature that has not yet been fully developed.
ref: https://www.netlifycms.org/docs/beta-features/#list-widget-variable-types

Note: this feature does not yet support previews, and will not output anything in the preview pane.

I searched for an existing issue or article that is tracking the development of this beta feature but could not find one - please forgive me if this is a duplicate :)
Describe the solution you'd like
Simply put I'm wondering if this feature has been roadmapped for development. If not, I'm looking to open a discussion regarding implementing a preview pane through a custom widget (not entirely sure this is possible, as I haven't had a chance to test out custom widgets yet).
Describe alternatives you've considered
See custom widget comment above.
Additional context
Working on a template system that relies fairly heavily on this beta feature, so any insight into the development of the Variable Types for the List Widget would be greatly appreciated!
I'll be testing more with custom widgets in the coming week and will post any updates or alternative solutions I find here.

To expand upon my custom widget comment, I want to try following this documentation in order to build a preview pane for the variable types list widget: https://www.netlifycms.org/docs/customization/

No issue tracking this that I'm aware of, but I could be wrong. Would definitely like to see previews working, just haven't heard a lot of feedback from folks using this functionality to determine if we got the control side right.
cc/ @smnh

Hey,
Yes originally we had more advanced previews for typed list widget. But eventually we dropped it as, if I understood correctly, the preview itself might be customized per case.
But if preview of typed lists is still desired we can bring it back, I think one of the commits of the original PR still has it -
https://github.com/netlify/netlify-cms/pull/1857
The discussion of the PR also has some screenshots of how previews of typed lists work

One problem is that we've passed more power to widget control components over time, but did not do the same for the widget preview components. The preview component core needs to catch up to the control component core to address this.

@erquhart @smnh Thank you for the feedback. I'll checkout the above PR - that should be helpful if I get around to testing a custom solution!

For me the preview pane has been working perfectly for my very extensive Variable Type setup. I don't know why the documentation says it doesn't work :)

@laurenskling Do you have some example or docs how to implement it? Maybe we could extend the netlify cms docs?

Preview pane has been working for me out of the box for Variable Types. I haven't done anything special (I think...) isn't it working for you? If that's the case, I'm willing to try to setup a MVP for you....

@laurenskling - I haven't actually tested it, but maybe I will now. I figured based off the docs it just wasn't supported.
To confirm you're using widget: "list" with set of types containing various nested fields of widget: "object" or something similar?
Did you do anything to customize your preview pane setup or are you just using it out of the box?

Just as the docs say. Note: types in list must always be object.
export default {
  label: 'collection',
  name: 'collection',
  create: true,
  folder: `collection`,
  slug: '{{slug}}',
  fields: [
    {
      label: 'Title',
      name: 'title',
      widget: 'string',
    },
    {
      label: 'Blocks',
      name: 'blocks',
      widget: 'list',
      types: [
        {
          label: 'Todo',
          name: 'todo',
          widget: 'object',
          fields: [
            {
              label: 'Content',
              name: 'content',
              widget: 'markdown',
              required: true,
            },
          ],
        },
      ],
    },
  ],
};

CMS.registerPreviewTemplate('collection', PagePreview);

const PagePreview = ({ entry }) => {
  const data = entry.getIn(['data']).toJS();
  if (data) {
    return (
....

The docs might mean having default preview templates is not supported. Will check and update here.

FYI, rephrased the docs to mention custom preview support https://github.com/netlify/netlify-cms/pull/3376

Thank you both @erezrokah & @laurenskling!

Whooo, didn't know that it works. This is insane 👍 🥇 🎉

Use case for passing widgets down to objects contained in a list.
config.yml
...
collections:
  - name: "pages"
    label: "Pages"
    create: true
    fields:
      - label: "Sections"
        name: "sections"
        widget: "list"
        types:
          - label: "Content Block"
            name: "block_body"
            widget: "object"
            fields:
              - label: "Image"
                name: "image"
                widget: "image"
              - label: "Markdown"
                name: "markdown"
                widget: "markdown"

admin.html
widgetsFor('sections').map(function(section, index) {
   console.log(section);
});

outputs (with Immutable formatting)
{"data" =>
    {"image" => "/assets/brett-jordan-1329359-unsplash.jpg"}
    {"markdown" => "# Title"}
    {"type" => "block_body"}
}
{"widgets" => undefined} 🚫

But, when I use a standard list:
   - label: "Sections"
        name: "sections"
        widget: "list"
        fields:
          - label: "Markdown"
            name: "markdown"
            widget: "markdown"
          - label: "Image"
            name: "image"
            widget: "image"

admin.html outputs
{"data" =>
    {"image" => "/assets/brett-jordan-1329359-unsplash.jpg"}
    {"markdown" => "# Title"}
    {"type" => "block_body"}
}
{"widgets" =>
    {"image" =>  Object} ✅
    {"markdown" => Object} ✅
}

Current workaround to render markdown with https://www.npmjs.com/package/marked and dangerouslySetInnerHTML:
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>

const sections = widgetsFor('sections').map(function(section, index) {
   const markdown = section.getIn(['data', 'markdown']);
   const markup = markdown ? window.marked(markdown) : '';
   return html`<div dangerouslySetInnerHTML=${{ __html: markup }}></div>`;
});

I've hit the same issue when creating a custom preview component, as the widgetsFor helper isn't returning the widgets structure alongside data for variable type lists, so have opened #7296 to address it.
Thanks for the precise issue description @garrettboatman, that was helpful!


deleteTopic command support to delete the topic from which broker

FEATURE REQUEST

Please describe the feature you are requesting.
DeleteTopic command support to delete the topic from which broker.
So far, it doesn`t.  It  only allow to delete from which cluster, as follow:

usage: mqadmin deleteTopic -c  [-h] [-n ] -t
-c,--clusterName    delete topic from which cluster
-h,--help                Print help
-n,--namesrvAddr    Name server address list, eg: <IP_ADDRESS>:9876;<IP_ADDRESS>:9876
-t,--topic          topic name

Provide any additional detail on your proposed use case for this feature.

Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:

sub-task1-issue-number: sub-task1 description here,
sub-task2-issue-number: sub-task2 description here,
...

IMO, delete topic from the given broker maybe add complexity for system operation and maintenance.

From the screenshot of the code，when the -c parameter is specified, all brokers under the cluster will be iterator, and then deleted one by one.
Personally think that the program can be improved, design a -b parameter, specify the broker to delete the topic

It is necessary to implement this feature


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

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
c11b977 -> 29e6c4c

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

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

This PR has been generated by Renovate Bot.

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

GitHub release
v6.1.0

Your semantic-release bot :package::rocket:


Side panel contents changes color of panels dragged into it

Testing #141357
Maybe this is on purpose but in stable when I move say the problems panel to the right, it maintains the same background color:

In the new 'side panel' the background color is like the 'Side Bar'

this is as designed but there is a separate issue about introducing additional theme tokens for the side panel... today, we use side bar theme keys


How to inference with custom image data?

Thanks for nice work.
I've finished training camera-only model using NuScenes/v1.0-trainval dataset, and generated a lasted.pth. I have 2 images and I wonder how to use this trained model to inference these 2 custom image data. Any clue?

Hi @LeongVan,
You probably need more than just 2 images as the input. Projection matrices (e.g. camera_intrinsics, camera2lidar) are also necessary. You can have a look at our argument list for the forward function here for more details.
Best,
Haotian

@whoakang I haven't really tried inference with custom image data, so I cannot provide a code example for you to begin with. But as I have mentioned you need to provide all fields required by our forward function. If you met with any problems, feel free to continue the discussion in this thread.

Hi, @kentang-mit
I've tried to implement inference of custom data. My workflow is to replace [data'img'] with costom data (assume other fields are the same with NuScenes because my costom images are chosen from NuScenes from 6 different cameras). I found that in tools/visualize.py, when loading images into the dataloader, there exists some pre-processing, right?
I check test_pipeline in config file then. There are 11 types of classes, and two among them, ImageAug3D and ImageNormalize, are dealing with data['img']. So I tried to pre-process the images using ImageAug3D and ImageNormalize. Then I inferenced, and found that the output is very strange. I suppose that the pre-processing wasn't conducted properly, but I cannot find it.
I want to upload the inference figure for convenient check, but that operation is forbidden caused by company's security rules. Any clue will be greatly appreciate.

Hi @LeongVan,
Yes there are some custom preprocessing to the images. I think the tricky part is how you choose these 6 images on nuScenes. Not all scenes on the nuScenes dataset have exactly the same camera intrinsic and extrinsic matrices. That said, if you choose images with different camera intrinsic / extrinsic matrices from what is specified in the forward function, the inference results could mess up. Would you mind first checking whether the original nuScenes data will work for you, and then start customization step-by-step (for example, assembling six camera inputs from adjacent frames, choosing CAM_FRONT from frame1, CAMERA_BACK from frame 2, etc.)?
Best,
Haotian

Hi, I am just thinking that i will build my own dataset (e.g 6 different view images, 1 lidar pointcloud, camera intrinsic, extrinsic data) and dataloader (rather than pkl files as nuscenes dataset case) and feed to the algorithm, would that work? Do you have a demo for this? Just for inferencing of one frame data. Thanks!

Closed due to inactivity. Please feel free to reopen if you feel it necessary.


Settings editor scrollbar should be along far right edge

It used to be like that but the layout got more complicated.

I think I figured out a decent solution. It'll be ready likely today.

Awesome :)

Well having that space scrollable is a big part of my motivation for doing this. Sorry that the original issue didn't spell that out, but I want to change the layout so that the scrollable area includes that whole margin.

I mean, if the 1000px max-width isn't a must - removing that would solve this.

@roblourens There - I added another commit that seems to solve this completely.


Mus2 34

@saimahanth : Please review and merge this.

@saimahanth Do you have the url for aws?

http://<IP_ADDRESS>:8081/razuna/raz2/dam/index.cfm?

@saimahanth Done.


update python snippets

No changes needing a change description found.

You can try these changes here

🛝 Playground
🌐 Website
📚 Next docs


Add detailed error when making purchase

The throwing error would be either PurchaseError or StoreKitError.
We add the detailed error into the exception so that the app is able to display comprehensive text to user when their purchase failed.
@russell-archer

Great idea. Thanks very much for the PR!

Thanks @russell-archer for quick review! By the way, would u mind to create a release tag for the commit? it would be cool if I can use it directly in my project now

Done!


Update menu docs

Accounts for a few fixes including https://github.com/grammyjs/menu/issues/13, and adds more explanations.

@WingLim you can approve too, if you have nothing left.

@WingLim nice catches! Thanks for reviewing even though you said once you did not want to! :D
I was mainly requesting you for the translation.


Update examples where service instances aren't properly disposed

WRT Update Disposal section and versioning in DI topic #16869 ...
There are perhaps a few spots where we don't properly dispose of services across the examples in the docs. I'll scan and see then react where needed if I find anything.

@Rick-Anderson @serpent5 @wadepickett ... I've had such trouble getting to this, but I don't think we need it after all. We tend to deal with any missed disposal scenarios on a case-by-case basis when one of our advanced readers asks or we spot it in the midst of doc updates/overhauls. The reason that I opened this general issue was that Blazor docs were deficient at the time. That situation was dealt with comprehensively in the Blazor node quite a while ago. For the main doc set, let's just take feedback and spot 👁 foul code 😈 as we go. I have quite a few Blazory Things™ going on right now, and I don't think that I would get to this for quite a while longer. If any of you want to take a look at this, then please re-open and re-assign.


fix: no entity labels [CU-23kucmz]

Ticket
https://github.com/VirtusLab/strapi-plugin-navigation/issues/153
Summary
What does this PR do/solve?
Fixes bug where no labels were displayed in entity dropdown on navigation item form. When no label is available the default label will be created.
Test Plan

Create content type with no field of "title", "name" or "subject"
Try to add this content type to a new navigation item
Form should have entities dropdown filled with default labels

Task linked: CU-23kucmz [BUG] Empty entity dropdown inside navigation item form


PSIP extension for SIPGO for easy creating proxies

Here sharing IDEA for extra library for building state full proxy with focus on routing like kamailio,opensips but with better control. As it is in GO lot of functions is already there by many libs out there.
There is lot of complexity that needs to be done, so it may be worth to wrap it but still keeping lot of control over request handling.
If there will be enough interest in this project I would share my current POC lib.
More info you can find on
https://github.com/emiago/sipgox/tree/main/psip
Related to questions
https://github.com/emiago/sipgo/issues/31 by @leeyongda
https://github.com/emiago/sipgo/issues/40 by @dekke046

This is nice and good work. This caught my eye because I have been involved in a project that uses Kamailio and FreeSwitch. Both are pretty complex beasts and if Kamailio can be replaced with something like this - where Go is the language instead of a custom language it'd be great and simplify a lot of the complexity.
I am nervous though as there have been many attempts in this space which have since been abandoned.

@mustafamotiwala thnx for feedback. I have similar opinion but yes it is very hard to be immediately replacement for this tools, but could bring some help in writing middleware to hand of complexity either outbound or inbound and still keep high throughput.

project is started, lets see how far it will reach
WIRESIP is born
https://github.com/emiago/wsip

@emiago this looks promising. I'm wondering if there is a way to share state so this can be scaled horizontally. If you just have one proxy running that's fine, but when you have multiple instances, it would be nice to export an interface where they can share a common backend for storing transaction state such as redis, etc.

@half2me idea is already added on roadmap, but thnx for mentioning. Yes lib can have this interfaces transactions, dialogs interfaces, registrars, but there is some work for this. As rebuilding state of this things is also required.
It will then open for clustering and HA solutions and probably different implementation can come as open source plugins.
So yes development of wiresip will probably introduce this changes.


[New game]: Add a Bow & Arrow Game

🎮 Game Request
Game logic and basic description
I would like to add a game about Bow & Arrow. Its gonna be a simple game where the player must try to hit the target area with arrow while the bow is on the move.
Point down the features
Game points
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @5h0ov !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign

Hey @5h0ov ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


Retrieve macro expansions for PeekDocumentsRequest through GetReferenceDocumentRequest instead of showing temporary files

This PR utilises the newly introduced GetReferenceDocumentRequest to resolve the contents of macro expansion obtained from PeekDocumentRequest through a new scheme.
This change doesn't cause any behavioural changes facing the user.
The GetReferenceDocumentRequest implemented in sourcekit-lsp allows it to not create temporary files whenever it makes a PeekDocumentRequest.
References:
Accompanying PR in sourcekit-lsp repository: https://github.com/swiftlang/sourcekit-lsp/pull/1567

Expansion of Swift Macros in Visual Studio Code - Google Summer Of Code 2024
@lokesh-tr @ahoppen @adam-fowler

@adam-fowler The sourcekit-lsp PR got merged just a few hours back. Can you review this PR now?

@swift-server-bot test this please


Add wrappers for VK_KHR_video{,_encode,_decode}_queue

Closes #722, closes #916
I've been using these via internal wrappers for a good bit.
One downside (or is it a feature?) of the new impl crate::khr::video_decode_queue::Instance pattern is that I can't keep the wrappers in my project if I want to upgrade :)

Before looking, how is this supposed to compare to https://github.com/ash-rs/ash/pull/916? That PR has a not-insignificant amount of basic review comments, and has stalled since.
When a PR is opened, and is supposed to supersede another PR, I expect a little attribution documenting what this PR does better than the old PR. I.e. more specifically, can I assume that all of the review comments there have been resolved in this PR, and won't need to be commented on again (e.g. because it was developed in isolation from that PR).

And don't forget a changelog entry :cold_sweat:

One downside (or is it a feature?) of the new impl crate::khr::video_decode_queue::Instance pattern is that I can't keep the wrappers in my project if I want to upgrade :)

What is this supposed to mean? I don't think anything is "new" here besides the struct Instance being autogenerated, and having a restructured module hierarchy. impl blocks for types were always allowed in arbitrary modules, as long as those impl blocks live within the same crate.
No clue what kind of upgrade you are anticipating: if these wrappers are merged to ash, and make it into a release, you can remove them from your project?

I'm just pointing to the fact that the wrappers have to live inside ash if they want to follow that pattern - it's not possible to impl the definition outside in some other crate, as you correctly point out. My linked in-tree wrapper was using the old pattern, or at least I thought it was, and the change in pattern prompted me to PR this instead of keeping it in-tree. Please don't read too much into it, it was just an observation.

The pattern is identical. You could still define your own struct VideoQueueExt, using the same members or using ash::khr::video_queue::Device as its sole member with a Deref to be able to call the wrapper functions inside ash.
Defining impl on foreign types has never been supported by Rust, and is not something that has been changed by whatever "new' extension pattern you are referring to.

Ugh, I forgot that I split this into multiple commits last night - I've just been amending the last. I will clean it up, one sec.

Okay. If there's something wrong with the ash API, note that I do need to understand the issue and the scope of it in case there is something we are doing wrong or could do better. I still don't understand your request/observation, so I cannot help (other than refuting statements in hopes of better understanding the point of contention).

Nothing is wrong with the ash API. I was being lazy and keeping the Video*QueueExt wrapper internal to my project rather than upstreaming it. The confusion stems from this:

The pattern is identical. You could still define your own struct VideoQueueExt, using the same members or using ash::khr::video_queue::Device as its sole member with a Deref to be able to call the wrapper functions inside ash.

I didn't know that - I didn't have a deep understanding of what bits are codegen and what are manual and how they interact, and I had previously built my internal wrapper by copy/pasting ash code and tweaking the signatures. :)
Because the struct definition moved into codegen and implementing foreign structs is illegal, it didn't work anymore to just copy/paste and tweak the signatures. Thus, the observation that the change made it impossible to write external wrappers. In actuality, it is still very possible, you just have to actually know how it works

I hate giving repeated "changes requested" reviews like this (it's a common source of editor/submitter fatigue), but I just keep spotting new things that I either missed, or weren't there before the last pushes...
Happy to accept-changes / resolve them myself though! Seems to be mostly copy-paste typos while attempting to replicate constructs from other files.

I get the desire to have the codebase consistent, no worries. Sorry about all the copy pasta.
Are there plans to codegen more of this stuff? That would obviously help with the consistency.

Are there plans to codegen more of this stuff? That would obviously help with the consistency.

There is (see open issues) but as you've hopefully noticed by the abundance of (requested) consistency yet subtle differences all over the place, you probably understand that this is hard.


phoebemirman/ch6542/account-deposit-animate-copy-icon

https://app.clubhouse.io/augur/story/6542/account-deposit-animate-copy-icon

Coverage remained the same at 63.805% when pulling b94e3c99b009589f4ca3a8e454de4e9a2d95811f on phoebemirman/ch6542/account-deposit-animate-copy-icon into 08921b8bc82dc2a5deeaccb03d67b80d05fe2821 on master.

Coverage remained the same at 63.805% when pulling b94e3c99b009589f4ca3a8e454de4e9a2d95811f on phoebemirman/ch6542/account-deposit-animate-copy-icon into 08921b8bc82dc2a5deeaccb03d67b80d05fe2821 on master.


Enable Bluetooth Legacy Pairing during runtime (IDFGH-8706)

Is your feature request related to a problem?
In case we would like to enable the fixed PIN pairing mode (AKA Legacy Pairing) in Bluetooth Classic the only way is disabling the Secure simple pairing in the sdkconfig.
In an application where I need to change the pairing method during runtime (enabling or disabling the fixed PIN code with a jumper/configuration/whatever) the only way I could achieve this is building my program two times:

one program has the CONFIG_BT_SSP_ENABLED enabled and one don't.
then I exchange the programs during runtime using OTA API and reset my esp.

Describe the solution you'd like.
I would like to call a function to enable or disable CONFIG_BT_SSP_ENABLED: not a macro!
Describe alternatives you've considered.
No response
Additional context.
No response

Hi @pad52,
We have added this feature in release/v5.2, you can choose one of the pairing mode at run time by calling esp_bluedroid_init_with_cfg.

Wow! Thank you that's amazing!


kivy.core.window produces a window for every process

Software Versions

Python: 3.10
OS: Windows 10
Kivy: 2.2.1
Kivy installation method: pip

Describe the bug
Kivy Window produces a kivy window for every process on the same position (move the first window to see it please)
When I run kivy in a process and included is:
from kivy.core.window import Window
For every process will be a window popped up (one of them the root process).
If the window import line is removed, the code runs as expected.
If I produce more processes, more windows will pop up
Expected behavior
No extra windows. Only the kivy app I create.
To Reproduce
Run the code. Comment out the Window import and run again.

Code and Logs and screenshots
C:\p\git\DataHive\venv\venv_w310\Scripts\python.exe C:\p\git\DataHive\RnD\kivy\procmin.py
[INFO   ] [Logger      ] Record log in C:\Users\gerald.kivy\logs\kivy_23-07-31_96.txt
[INFO   ] [deps        ] Successfully imported "kivy_deps.angle" 0.3.3
[INFO   ] [deps        ] Successfully imported "kivy_deps.glew" 0.3.1
[INFO   ] [deps        ] Successfully imported "kivy_deps.sdl2" 0.6.0
[INFO   ] [Kivy        ] v2.2.1
[INFO   ] [Kivy        ] Installed at "C:\p\git\DataHive\venv\venv_w310\lib\site-packages\kivy_init_.py"
[INFO   ] [Python      ] v3.10.10 (tags/v3.10.10:aad5f6a, Feb  7 2023, 17:20:36) [MSC v.1929 64 bit (AMD64)]
[INFO   ] [Python      ] Interpreter at "C:\p\git\DataHive\venv\venv_w310\Scripts\python.exe"
[INFO   ] [Logger      ] Purge log fired. Processing...
[INFO   ] [Logger      ] Purge finished!
 Processing...
[INFO   ] [Logger      ] Purge finished!
[INFO   ] [Factory     ] 190 symbols loaded
[INFO   ] [Image       ] Providers: img_tex, img_dds, img_sdl2 (img_pil, img_ffpyplayer ignored)
[INFO   ] [Text        ] Provider: sdl2
[INFO   ] [Window      ] Provider: sdl2
[INFO   ] [GL          ] Using the "OpenGL" graphics system
[INFO   ] [GL          ] GLEW initialization succeeded
[INFO   ] [GL          ] Backend used
[INFO   ] [GL          ] OpenGL version <b'4.6.0 NVIDIA 516.94'>
[INFO   ] [GL          ] OpenGL vendor <b'NVIDIA Corporation'>
[INFO   ] [GL          ] OpenGL renderer <b'NVIDIA GeForce RTX 3060/PCIe/SSE2'>
[INFO   ] [GL          ] OpenGL parsed version: 4, 6
[INFO   ] [GL          ] Shading version <b'4.60 NVIDIA'>
[INFO   ] [GL          ] Texture max size <32768>
[INFO   ] [GL          ] Texture max units <32>
[INFO   ] [Window      ] auto add sdl2 input provider
[INFO   ] [Window      ] virtual keyboard not allowed, single mode, not docked
[INFO   ] [Base        ] Start application main loop
[INFO   ] [GL          ] NPOT texture support is available
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.button import Button
from kivy.core.window import Window
from multiprocessing import Process
class DoClose(App):
def build(self):
    self.window = GridLayout()
    self.window.cols = 1
    self.window.size_hint = (0.6, 0.7)
    self.window.pos_hint = {"center_x": 0.5, "center_y": 0.5}
    self.button = Button(text="SHUTDOWN", size_hint=(1, 0.4), bold=True, background_color='#00FFCE')
    self.button.bind(on_press=self.stop)
    self.window.add_widget(self.button)
    return self.window

def gogogo():
DoClose().run()
if name == "main":
proc = Process(name="gcon", target=gogogo)
proc.start()

https://github.com/kivy/kivy#support

https://github.com/kivy/kivy#support
That's a bug not a support problem. If you add a import line and it produces strange behavior than its a bug. Sorry.

Opening an OS window when the Kivy Window class is imported is the expected behavior (even if it is strange to you) so it is not a bug.

This test case (not what you wrote, but I assume it is what you intended to illustrate) recursively creates a window, so we get two OS windows. Given 1) this behavior is reasonable to expect, but the documentation says "please don't do this" https://kivy.org/doc/stable/api-kivy.core.window.html#module-kivy.core.window.

def gogogo():
    DoClose().run()

if __name__ == "__main__":
     proc = Process(name="gcon", target=gogogo)
     proc.start()

I don't know your design goal, but implementation may be as simple as two files. Apologies if your case is more complex, but I hope you get the idea.

start_me.py
import subprocess
subprocess.Popen(["python", "do_close.py"])

do_close.py
from kivy.app import App
# content omitted for brevity
DoClose().run()

This forum is for development issues, please consider using the support groups for programming questions.

Thank you Robert for the explanation.
While I DID see that we are not supposed to open more than one Window, processes are not linked to a Window in the documentation. That means kivy doesn't support multiprocessing. I work with several processes and only one of them is for GUI so my application is more complex than just using more files.
Apologies for posting here but usually I would classify that in a bug because it severely limits the usability of an otherwise fine GUI.

You can move the import under the if __name__ == "__main__": guard, to prevent the process from running it.

You can move the import under the if __name__ == "__main__": guard, to prevent the process from running it.

That would only work for the example.  I really like kivy but I still see importing Window popping it up as a bug.
That's a side effect that is made canon. In my book it is bad design, and it prevents every kivy application from doing processor heavy activities because it's now GIL locked to a single execution thread. The example is a minimal example for an already complex topic. Adding to it with a design like that shows that the design itself is multiprocessing agnostic and will most likely cause more problems later.
I don't do processes for fun (nobody does), I NEED them and they doing stuff like hashing whole file trees, opening several network connection (which may even fit in with asyncio), having background processes caring about other stuff and everything needs to run smoothly. Calculator apps with just a gui thread adding a few numbers are nice but none of my interests.

If you want help, ask in the user groups https://github.com/kivy/kivy#support
You may find it more productive to explain what you want, as well as what you tried that didn't work.

I've tried to shield the kivy import statements with a
if name == "process_name":
That still didn't work because the Window import still creates a window for the root process.
Thank you Robert for the support group but I don't think it's productive to repeat me all over in the next group.
It would be more productive to check if it's possible to encapsulate the problematic code and patch my Kivy if so.
That design bug needs either be fixed or circumvented or another GUI chosen.
That may be a development forum but it's not a support problem, it's a design problem.
That's stuffing problematic behavior into a constructor and that is a textbook design flaw.
It is in C++, it is in Python, and it is in every other language supporting constructors.
Sorry for discussing bugs here but not sorry it IS A BUG or SERIOUS DESIGN FLAW in all of my books.
IF you start a window for every process of the program, the program is GIL locked and is lost for multiprocessing.
You can try to shove me somewhere else but the problem remains and it bothers me because it makes Kivy a toy environment and it is IMHO by far the best open-source approach to a modern GUI and I think Kivy doesn't deserve that.
Now counter that profoundly please instead of trying to shove me out.

I'm not trying to shove you out, I'm trying to point you to where you are more likely to find someone who has the experience you seek.

Sorry Robert, I didn't mean to sound rude. Thanks for the help :)

This is not a bug, kivy and it's imports must all be under name == " main",

Perhaps a typo, should be  __name__ == "main"

Here is an example:
from multiprocessing import Process
import time

def print_loop():
    for i in range(5):
        time.sleep(1)
        print(f'Hello from MP! {i}')
    print('Goodbye from mp')

def launch_process():
    p = Process(target=print_loop, name='short print loop')
    p.start()

if __name__ == '__main__':
    # load and run kivy from the main process only
    from kivy.app import App
    from kivy.uix.button import Button

    class HelloFromKivy(App):
        def build(self):
            b = Button(text='Hello from kivy', on_release=self.say_hello)
            return b

        def say_hello(self, *args):
            print('Hello from kivy')

        def on_start(self):
            launch_process()

    HelloFromKivy().run()

Aren't you assuming every one would want just one kivy window per process?
If you don't, why not just import it once? Setup a env variable MyGUI<id>Running then and only then do the kivy imports?
myguiapp/init.py
import os
os.environ['MY_GUI_<UID>_RUNNING']
from kivy.app import App
from kivy.core.window. import Window
...

import os
import x,y,z

if os.environ.get('MY_GUI_<UID>_RUNNING', 'False'):
      import myguiapp
      myguiapp.MyGuiApp().run()

The important question is why are you trying to import Kivy's window in a process you do not want the window in?
Kivy is being regularly used with multiple processes, heck it even on mobiles is being used with services to offload heavy processing.

You can launch external process, use subprocess

Maybe this issue raises the point on why we do not have proper documentation on how to do the above mentioned things in kivy. If we had this as part of advanced documentation then it would not lead to such confusion.
We are definitely lacking on documentation on how to do these things.

Aren't you assuming every one would want just one kivy window per process?

There is no choice, we are only allowed one  https://kivy.org/doc/stable/api-kivy.core.window.html#module-kivy.core.window

We are definitely lacking on documentation on how to do these things.

I agree, I would say Kivy is missing a User's Guide.

Akshay, now we're talking. I will definitely try that and report the results.
That looks at least like a workaround - it's still a violation of basic OOP design principles thou..
#The important question is why are you trying to import Kivy's window in a process you do not want the window in?
I don't. The GUI is in a sub-process. When import there (with a name check to the module name of course), Kivy still generates a dead window for the root process that doesn't have ANY Kivy imports. That's actually the basic problem that kivy generates a Window for EVERY process (root + all children). If I encapsulate it, it is better, because not all children will produce a window but the root process still does even if it has no clue about kivy.
What I'm trying to do is illustrated in the code above. That's the minimal code to illustrated the problem. I could post a  250-lines full frame test but I think that will be a bit overboard here..  Basically it is three different processes spawned (in the style of above sample) which fire up the GUI over a message to a Queue which is running in one of the sub-processes.
I've already thought about building a C++ framework and starting the interpreter from there, effectively isolating the GUI process from the rest of the application. Will do that probably anyway but I need to do the IPC over sockets then which need some extra care to get right (took me already some time and learning curve to get the Python multiprocessing right)..
What do you mean by I haven't given a minimal sample? I know the code at the start of the thread is mangled by the GUI of that Webapp here, (I probably didn't get THAT one right) but it's definitely up there and you can copy, paste and run it (AND it's in the picture too). I just made it a MINIMAL sample and not the full 250 line experimental code...

About Documentation: I agree
I even saw the "only one window" upfront but I didn't have any connection to processes or that the window would be opened implicitly by a import, which is a serious undocumented side effect where I cannot even see the benefits (which may not mean much thou..)

I am opening a new issue,  about adding documentation for hoot use multiprocessing https://github.com/kivy/kivy/issues/8339
Be precise, in what you ask for. You will get more traction on forum  for how to do multiprocessing with kivy. Or you could wait for the documentation to be updated on this.

|I even saw the "only one window" upfront but I didn't have any connection to processes or that the window would be opened implicitly by a import, which is a serious undocumented side effect where I cannot even see the benefits (which may not mean much thou..)

@metabyte144 ok then open a separate issue just about the import causing window to open that can be discussed as a separate issue from multiprocessing.
Seems you have multiple concerns, let's break them down to atomic issues that are self contained.

Documentation for heavy processing with kivy(multiprocessing would be part of it.) I already opened a issue for it .
A import from kivy.core.window import Window should ideally not open a window. even in a single process app... Worth further discussion please open a separate issue.


Run the CI test locally

Give the developer the ability to run the CI test locally. Run the
test by: make ci. It will provision mediawiki and postgresql
apbs then bind them.
Changes proposed in this pull request

Ability to run make run to test provision & bind

 (21) Begin Implementing a CI system to rebuild rpms and containers.


[FEATURE SUGGESTION] Add a Basic or Bearer 'Authorization' header to Ollama API requests

Currently, requests to the Ollama API do not include an 'Authorization' header. To strengthen the security of API calls, it is necessary to add an 'Authorization' header with Basic or Bearer authentication.
Tasks to complete:

Add an option to include an 'Authorization' header in API requests.
Allow the choice between Basic and Bearer authentication.
Update the documentation to explain how to configure and use this new feature.

Hey, thanks for this great idea! Is there an API key on Ollama?

@n4ze3m no ollama doesnt not have any auth built it.
the expectation is that it sits within a local host env behind a  proxy server and app/backend and that auth is managed there. Trying to add auth header in this extension will not make the setup any more secure.

I will add an option in the advanced URL configuration for the headers :)

Here is my nginx configuration to add an Authorization Basic header in the request to the Ollama API. I use Apache's htpasswd to manage HTTP users.

server {
  ...

  location @reverse_proxy {
    ...
    proxy_set_header  Authorization $http_authorization;
    proxy_pass_header Authorization;
    proxy_pass_request_headers on;
    ...
  }

  ...

  auth_basic           "Administrator’s Area";
  auth_basic_user_file /etc/apache2/.htpasswd;

  ...
}

The HTTP header:
Content-Type: application/json
Accept: application/json
Authorization: Basic cmVkaTpxSlczbk01cFlaNzM=

The hash is the concatenation of user:password hashed in base64.

Any update? Need this feature badly...

I will add an option to pass custom headers in the next version (v1.1.14), which will be released on Monday or Tuesday.

Hello, everyone! v1.1.14 has been released, which includes the option to configure custom headers for Ollama. Please let me know if you encounter any issues using this feature. Thanks!

The headers I provided are not added to the request to the API.

Hey, sorry about that. Which header key was used? I will try to fix it in the next release.


Negative value for a numeric Behavior Parameter default field

In the dashboard view, it seems not possible to assign a default negative value to a numeric Behavior Parameter (the red circle in the attached screenshot).

I think that this expression:
if (this.value.match(/^[0-9]+(\.[0-9]+)?$/i) == undefined)

Should be replaced by this one which add the '-' symbol:
if (this.value.match(/^-?[0-9]+(\.[0-9]+)?$/i) == undefined)

You are right, this slipped through somehow. Thank you for fixing!


possible to run adminkit as a standalone app?

like those with electronjs, instead of using a browser? thanks!

Haven't tested it out yet. Feel free to do so and report back if you have any more info.


Add missing repositories

There have been created some repositories recently. We should add those to oure github-manager to streamline them with our gitops approach.

IMHO there should be a tool to find all repositories that aren't covered by the github-manager.
@tibeer Didn't you write some handy python lines to get this information?

nope, i just wrote something to gather information if the primary branch is still named "master" I guess. Currently we handle this manually.

Replaced by https://github.com/SovereignCloudStack/issues/issues/256


Can't Load Resources When Deployed

OS? Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)
Mac 10.11.4
Versions. Please run ng --version. If there's nothing outputted, please run
in a Terminal: node --version and paste the result here:
angular-cli: 1.0.0-beta.10
node: 5.11.1
os: darwin x64
Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.
The application works fine when running 'ng serve --prod', but when I run 'ng build --prod' and then publish live, I can a ton of errors that resources can't be found.

There is a lot of "magic" for loading these resources in index.html so I'm not sure what to do to fix this....
https://github.com/JimTheMan/Safe-Foods/tree/gh-pages
My project is named "SafeFoods". The correct path for, for example es6-shim.js, should be:
https://jimtheman.github.io/Safe-Foods/vendor/es6-shim/es6-shim.js
when it is actually:
https://jimtheman.github.io/vendor/es6-shim/es6-shim.js
The ng build task creates it like this every time so I'm not sure how to tell it the proper path...

Note: I also tried updating angular-cli to the newest version and using '--base-href', but that doesn't seem to be functioning correctly:
SafeFoods (gh-pages) ♔ ng build --prod --base-href /Safe-Foods/
The option '--base-href' is not registered with the build command. Run ng build --help for a list of supported options.

@jimthedev the --base-href flag was part of the new webpack release, and should work with the latest beta.14 version.
Bear in mind though, you'll need to upgrade your project if you want to use it. You can find more information here: https://github.com/angular/angular-cli#webpack-update
If updating is not an option for you right now, then you can manually edit the base tag prior to uploading your app.


Add instructions for installing with deb-get

deb-get is a way for users to install and update software on Ubuntu and other Debian based Linux distributions. It uses the official download, and installs/ updates it using native linux tooling. It is similar to winget on Windows.
This PR is part of a mini-hacktoberfest event put on by the deb-get team https://github.com/wimpysworld/deb-get/issues/579.

Learn Build status updates of commit ba90b2a:
:warning: Validation status: warnings

File
Status
Preview URL
Details

docs/azure-data-studio/download-azure-data-studio.md
:warning:Warning

Details

docs/azure-data-studio/download-azure-data-studio.md

Line 196, Column 1: [Warning: code-block-indented - See documentation] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 201, Column 1: [Warning: code-block-indented - See documentation] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 205, Column 1: [Warning: code-block-indented - See documentation] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@tdoshin
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Hi @kd2flz
Firstly, thank you for your pull request! We appreciate that you took the time to contribute to the SQL Server documentation.
Unfortunately we will not be merging this PR, because the tool you mentioned is third-party, and doesn't appear to run on Red Hat or SUSE distributions. If you refer to the latest version of the article you edited, as well as other Linux-based content here, you'll see we try to provide a similar experience for our customers across Red Hat, SUSE, and Ubuntu.
My main concern is that it may introduce confusion to our audience, who might think that deb-get is an official package along with apt-get.
Even so, we welcome future contributions from you. If you have any thoughts or concerns, please feel free to respond below.

#please-close


Handle Android resources without attributes

I'll dig into the issue with GH Actions later.  This is obviously a safe change.


Feature/cmpv2 - addons

prompts - based on code-review

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


SecurityPolicyDsc: Optin to Example Files DSC Resource Meta Tests

Pull Request (PR) description
This PR opts in to the following DSC Resource meta tests:

Common Tests - Validate Example Files
Common Tests - Validate Example Files To Be Published

To pass these tests, the following changes have been made:

Move example files into Resources\<ResourceName> subdirectories.
Rename example files and configurations to standards documented in Requirements/dependencies for publishing to PowerShell Gallery
Add #PSScriptInfo block and #Requires to each example.
Added .DESCRIPTION comment block with enhanced descriptions.
Removed non-configuration code.
Text formatted examples for readability.
Add Examples README.md file with links to resource examples.

This Pull Request (PR) fixes the following issues
None
Task list

[ ] Added an entry under the Unreleased section of the change log in the README.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md.
[ ] Resource parameter descriptions added/updated in README.md, schema.mof
and comment-based help.
[ ] Comment-based help added/updated.
[ ] Localization strings added/updated in all localization files as appropriate.
[x] Examples appropriately added/updated.
[ ] Unit tests added/updated. See DSC Resource Testing Guidelines.
[ ] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[ ] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

Codecov Report

Merging #132 into dev will not change coverage.
The diff coverage is n/a.

@@        Coverage Diff         @@
##           dev   #132   +/-   ##
==================================
  Coverage   89%    89%
==================================
  Files        5      5
  Lines      497    497
==================================
  Hits       446    446
  Misses      51     51


Bring back SSL certification

Problem
Currently ssl hs been removed from HS because of deployment process has been change (mostly because of error when deploy)
Solution
Please bring this back

certbot already installed but setup is not done yet

Fixed


json.Unmarshal(ugw): json: cannot unmarshal string into Go struct field SystemStats.system-stats.temps of type map[string]string

Hi i ran into this issue when running the unifi poller in docker:
json.Unmarshal(ugw): json: cannot unmarshal string into Go struct field SystemStats.system-stats.temps of type map[string]string
I enabled debug logs to check, and it looks like the temps field is an empty string. Not sure why that is, but it keeps the whole thing from working correctly.
{
"_id": "5dbadcxxxxxxxxxxxx4101c6f33",
"ip": "xxx.xxx.xxx.98",
"mac": "XX:XX:XX:XX:XX:XX",
"model": "UGW4",
"type": "ugw",
"version": "<IP_ADDRESS>77109",
"adopted": true,
"site_id": "5c653f14xxxxxxxxxxx72a9c",
"license_state": "registered",
"board_rev": 18,
"name": "USG",
"kernel_version": "3.10.107-UBNT",
"architecture": "mips64",
"model_incompatible": false,
"model_in_lts": false,
"model_in_eol": false,
"connected_at":<PHONE_NUMBER>,
"provisioned_at":<PHONE_NUMBER>,
"device_id": "5dbadcxxxxxxxxxxxx4101c6f33",
"state": 1,
"start_disconnected_millis":<PHONE_NUMBER>326,
"last_seen":<PHONE_NUMBER>,
"known_cfgversion": "6456170f42b3ed10",
"use_custom_config": false,
"start_connected_millis":<PHONE_NUMBER>515,
"upgradable": false,
"adoptable_when_upgraded": false,
"rollupgrade": false,
"uptime": 1616358,
"_uptime": 1616358,
"locating": false,
"sys_stats": {
	"loadavg_1": "0.05",
	"loadavg_15": "0.13",
	"loadavg_5": "0.10",
	"mem_buffer": 51363840,
	"mem_total":<PHONE_NUMBER>,
	"mem_used": 716029952
},
"system-stats": {
	"cpu": "6",
	"mem": "23",
	"temps": "",
	"uptime": "1350941"
},
"stat": {
	"gw": {
		"site_id": "5c653f1xxxxxxxxxc5772a9c",
		"o": "gw",
		"oid": "XX:XX:XX:XX:XX:XX",
		"gw": "XX:XX:XX:XX:XX:XX",
		"time":<PHONE_NUMBER>000,
		"datetime": "2021-03-24T17:55:00Z",
		"duration": 2.8442E9,
		"lan-rx_packets": 2.5665939E8,
		"lan-rx_bytes": 1.89716820138E11,
		"lan-tx_packets": 2.68149976E8,
		"lan-tx_bytes": 2.0295825211E11,
		"wan-rx_packets": 2.86663081E8,
		"wan-rx_bytes": 2.31630196413E11,
		"wan-tx_packets": 2.68936271E8,
		"wan-tx_bytes": 2.13627880406E11,
		"lan-rx_dropped": 3958.0,
		"wan-rx_dropped": 69273.0
	}
},
"tx_bytes":<PHONE_NUMBER>13,
"rx_bytes":<PHONE_NUMBER>36,
"bytes":<PHONE_NUMBER>49,
"num_sta": 16,
"user-num_sta": 16,
"guest-num_sta": 0,
"num_desktop": 0,
"num_mobile": 0,
"num_handheld": 0
}

Would be good to know why the temps are not reported anymore. But in the meantime, is there a way you could handle this failure more gracefully?

Would be good to know why the temps are not reported anymore.

This used to work? When did it stop working? What was changed?
It looks like instead of an array like this:
temps: {"Board (CPU)":"51 C","Board (PHY)":"51 C","CPU":"72 C","PHY":"77 C"}

Your controller gave you an empty string. temps: ""
Not impossible to work around that, but it really sucks when API methods change data types. :(

Hi there, looks like I have the same issue with the same error and the temperature field.
Has this been fixed or is there a workaround for now?
The strange thing is that the poller worked perfectly  for about a day and then failed and now refuses to start because of this issue. Have tried restarting the UniFi controller, the poller itself, etc.
Thanks in advance.

So I may have found something that may provide a clue to this bug @davidnewhall .
My unifi-poller metrics stopped working at a certain time. So I went back into my syslog aggregator to see if there was anything suspicious that happened around then. Surely enough, the USG produced the following message:
SecurityGateway kernel: Process 10698 (ubnt-util) has crashed (parent 711 (ubnt-daemon) signal 11, code 196609, addr<PHONE_NUMBER>2b3000), coredumps disabled

It appears something in the USG crashed. Following a restart of the USG and the unifi-poller service, everything is working fine so far for 8 hours.

I have this problem too, marshaling is failing. Restarting the USG doesn't help -- well, it helps for a short time but the log message that @infocus13 mentions comes back and then unifipoller crashes.
@davidnewhall the missing temps are UBNT's problem. The fact that UnPoller crashes and emits no metrics for any device on that controller, just because one device is missing temps... that is kinda your problem. :) As much as any issue with this is your problem. :)
Personally I'd prefer if you emitted all the metrics that are there for the USG, since that's one of the devices I most want to see statistics for. But even emitting metrics for the other devices on that controller would be an improvement.

For us it got fixed by updating the unifi-poller docker Image to the latest version. I had to tweak the config a bit cause there were more options then. But since then it works fine. We also updated the controller to 6.2.x

looks like this might be fixed?


Replace the name diagnostic-orb with build-tools

Checklist

[ ] All new jobs, commands, executors, parameters have descriptions
[ ] Examples have been added for any significant new features
[ ] README has been updated, if necessary

Motivation, issues

I was trying to use this orb but the example on the website (https://circleci.com/orbs/registry/orb/circleci/build-tools#usage-debug-ios-job) and in this repo (https://github.com/CircleCI-Public/build-tools-orb/tree/master/src/examples) is using the wrong orb name. From https://github.com/CircleCI-Public/build-tools-orb/issues/6, I'd assume this is the remaining of the old name. That's why I want to get rid of them so no one else would get confused like me.
Description

Replaced diagnostic-orb with build-tools
Replace the orb version in the example from 1.0.0 to the current version, 2.6.3.

@lukyth Thank you for the contribution! Would you mind changing the recent version to x.y.z for the time being? We're working on a better method of versioning examples.

@gmemstr No problem! 😄  I've updated the version to x.y.z with f1382b2 now.


Filters are removed during Drawer actions (create/edit/bulk delete)

Describe the bug
When viewing a filtered list of resources, if any action is opened within the drawer, then the filters are removed and the entire list of resources is visible.
Installed libraries and their versions

"adminjs": "^5.10.3"

To Reproduce
Steps to reproduce the behavior:

Go to any resource (eg. 10 items total)
Apply a filter such that only some items are visible (eg. only 5 items out of 10 are visible)
Select multiple items, click on 'Bulk Delete'.
Now that the drawer is open, the filters have been removed, and all items are now visible again
After the items have been deleted, the filters are still removed and all items are visible

Expected behavior

If a filter or any URL params are present in the list view
If any action opens in a drawer
3a. Then the filters should still be present and the list should still remain filtered
3b. If an action is performed, then it should display to the list view with the original filters

Screenshots

List of items are filtered by the letter 'F'.

After clicking on the 'Bulk Delete', drawer opens up, but filters are removed and the whole list is visible.

AdminJSOptions with schema
Please request if relevant.
Desktop (please complete the following information if relevant):
N/A
Smartphone (please complete the following information if relevant):
N/A
Additional context

It might be useful to forward all query/search params when opening anything in a window.
It might also be useful to pass in a flag to redirect back to the original URL after performing any action rather than always redirecting to the /list view.

Just leaving a note that the bug still exists in v7.

@dziraf I think this is because filters or page querystring is removed when clicking action buttons. I really need filters and page querystring to be preserved when clicking any kind of action buttons

Hi, this has been fixed in one of recent versions


use same graph for dcat and files to avoid bug

cf OP-2069
Work around bug in dump-file publisher when deleting old dumps https://github.com/lblod/delta-producer-dump-file-publisher/pull/6

Indeed, in it does. But I think it's best to clean up everything instead. As in, the history will not be kept after this update anyway.
So I left out the migration I wrote before. I can still add it though.

nice :ok_hand:


typo: acccount -> account

@nschonni : Thanks for your contribution! The author, @rayne-wiselman, has been notified to review your proposed change.


The HTTP examples on the main page don't work as expected ( invalid word )

Hi there,
Just downloaded the latest 0.0.21 binary for Linux x64 and playing with the language.
I found that examples about HTTP on the main Rye page doesn't work (I tried only serving time).
The reason is that it uses new_server word which I found should be replaced by http-server.
Could you please check it?
Thank you,

Hi, thank you. You are correct. We removed the "new-" convention and renamed new-server to http-server. I fixed the examples on github and on the front page of the website.


Pass context object to post-process functions

At the moment, we pass the following parameters to the post-process functions:

feature_layers - the list of layers,
zoom - an int for the zoom level,
**params - a dict of parameters which are mostly from the config file, but bounds comes automatically from the calling function.

The addition of bounds in #69 was a pretty egregious hack, and a better (but much larger) change would be to pass a context object containing all the context of the request. Since layers are often looked up by name, then it would make it easier if the layers, zoom and bounds all came from the context object and the configuration params were the only other parameter.
How does that sound? Anything else we ought to be taking into account? Best to pass a NamedTuple to avoid cross-module includes, or should it be a full object with methods (e.g: to abstract named layer lookup)?

:+1:
I'd prefer it to just be a dumb data bag kind of object. Not sure I follow the cross-module includes concern, but a NamedTuple sounds fine to me. And a dictionary object that has named lookup for the individual layers would simplify some of the transforms. I guess that means this context would need to get mutated though if layers are added/removed in the transforms, but I think it's fine for the transforms to be aware of this. We could add a helper function when we alter the layers if we were worried about consistency in the transforms.
Don't think any of the post process functions need this, but if we're willing to scope creep a little bit here we can add in more pieces that some of the other formatting transforms use, and we can just pass this context around everywhere. OTOMH padded vs unpadded bounds, maybe as shapely objects to make it useful for intersection checks, the bounds in lnglat, the original coordinate, and anything else that is calculated on demand.


Accessibility need: tabindex change to pass html attributes to markup from API use.

PWABuilder issue listed here: https://github.com/pwa-builder/PWABuilder/pull/985
Essentially the api doesn't allow us access to the html below which can cause problems with experiences that include modals. Where we would like to disable the code editor temporarily so that the modal can receive focus easier.
Steps to repro:

navigate to pwabuilder.com
type in a url (pwa or not).
navigate to the manifest section
open the images tab
click the upload button
use TAB to try to navigate to the modal input. Notice once the editor gains focus, it doesn't lose it, the editor is being edited.

We are using a component that wraps the editor, but here's our end of the usage:
https://github.com/pwa-builder/PWABuilder/pull/985/files

@lee-leonardo I'm not quite sure what it is you are asking for. Can you please explain in greater detail what you mean that the API doesn't allow access to the html below?


neothesia: init at unstable-2023-09-23

Description of changes
Added neothesia package.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.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.

Blocked by https://github.com/PolyMeilex/Neothesia/issues/77.

Hmmm, I'll try to investigate at some point myself too, because that does seem weird

So, neothesia has the new cosmic-text version now but it still crashes for me. Even tried it on Xorg and found that libxkbcommon was missing there so I added that.

oops, i forgot someone already added neothesia under by-name and thought i did that


Should customer purchase Dynamics 365 / Power Apps license to user ISV app?

Can you please clarify ISV solutions are considered as add on? So, the customers must have valid Dynamics / Power Apps entitlement to use the app and ISV fee covers the ISV app only.
Please contact me internally for further details. Thank you.

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

ID: ef79ba2c-d4f4-a9f8-b05e-23ffa8528dd3
Version Independent ID: 6d9c0ab6-3e71-d7ae-9c4c-44e5904d7df9
Content: ISV app license management for Dynamics 365 apps on Dataverse and Power Apps - Microsoft AppSource and Azure Marketplace
Content Source: articles/marketplace/isv-app-license.md
Service: marketplace
Sub-service: partnercenter-marketplace-publisher
GitHub Login: @mingshen-ms
Microsoft Alias: mingshen

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

Tagging @mingshen-ms to help provide insights.

#reassign:trkeya

#please-close


How do I figure out apiVersion for @azure/arm-resources?

Package Name: @azure/arm-resources
Package Version: 4.0.0
Operating system: Windows
[ ] nodejs

version: 12

[ ] browser

name/version:

[ ] typescript

version:

Is the bug related to documentation in

[ ] README.md
[ ] source code documentation
[x ] SDK API docs on https://docs.microsoft.com

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Create Cognitive Service Face resource in Azure portal
Download ARM template from that resource to see values to create resource in JS, including apiVersion.
{  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",  "contentVersion": "<IP_ADDRESS>",  "parameters": {      "accounts_diberry_face_eastus_name": {          "defaultValue": "diberry-face-eastus",          "type": "String"      }  },  "variables": {},  "resources": [      {          "type": "Microsoft.CognitiveServices/accounts",          "apiVersion": "2017-04-18",          "name": "[parameters('accounts_diberry_face_eastus_name')]",          "location": "eastus",          "tags": {              "alias": "diberry",              "app": "sample"          },          "sku": {              "name": "F0"          },          "kind": "Face",          "properties": {              "customSubDomainName": "[parameters('accounts_diberry_face_eastus_name')]",              "networkAcls": {                  "defaultAction": "Allow",                  "virtualNetworkRules": [],                  "ipRules": []              },              "privateEndpointConnections": [],              "publicNetworkAccess": "Enabled"          }      }  ] }
Create Javascript code to create new face resource. Part of creation requires apiVersion. I pulled the version from the ARM template listed above.

`
const msRest = require("@azure/ms-rest-js");
const msRestAzure = require ("@azure/ms-rest-azure-js");
const msRestNodeAuth = require ("@azure/ms-rest-nodeauth");
const { ResourceManagementClient, ResourceManagementModels, ResourceManagementMappers, ResourceManagementClientContext, Resources, GenericResource } = require("@azure/arm-resources");
const subscriptionId = "MY-SUBSCRIPTION-ID";
msRestNodeAuth.interactiveLogin().then((creds) => {
// resource provider names: https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-services-resource-providers
const resourceManagementClientContext = new ResourceManagementClientContext(creds, subscriptionId);
const resources = new Resources(resourceManagementClientContext);
const resourceGroupName = "diberry";
const resourceProviderNamespace = "Microsoft.CognitiveServices";
const parentResourcePath = "";
const apiVersion = "2017-04-18";
let parameters =  {
type: "Microsoft.CognitiveServices/accounts",
location: "eastus",
tags: {
alias: "diberry",
app: "sample"
},
sku: {
name: "F0"
},
kind: "Face",
properties: {
networkAcls: {
defaultAction: "Allow",
virtualNetworkRules: [],
ipRules: []
},
privateEndpointConnections: [],
publicNetworkAccess: "Enabled"
}
}
const date = new Date();
const createdDate = date.toJSON().slice(0, 10)
// get kinds - az cognitiveservices account list-kinds [--subscription]
const resourceType = parameters.kind;
const resourceName = ${parameters.tags.alias}-${resourceGroupName}-${resourceType}-${parameters.sku.name}-${createdDate};
resources.beginCreateOrUpdate(resourceGroupName, resourceProviderNamespace, parentResourcePath, resourceType, resourceName, apiVersion, parameters).then(longRunningOperation => {
console.log(longRunningOperation.getOperationStatus())
}).catch(error => {
console.log(error);
})
}).catch((err) => {
console.error(err);
});
`

BeginCreateOrUpdate returns error.

Error: The resource type could not be found in the namespace 'Microsoft.CognitiveServices' for api version '2017-04-18'.     at new RestError (c:\repos\code\js-e2e\js-e2e\resources\node_modules\@azure\ms-rest-js\dist\msRest.node.js:2469:28)     at c:\repos\code\js-e2e\js-e2e\resources\node_modules\@azure\ms-rest-js\dist\msRest.node.js:3671:37     at processTicksAndRejections (internal/process/task_queues.js:88:5) {code: 'InvalidResourceType', statusCode: 404, request: WebResource, response: {…}, body: {…}, …} body:{code: 'InvalidResourceType', message: 'The resource type could not be found in the …itiveServices' for api version '2017-04-18'.'} code:'InvalidResourceType' message:'The resource type could not be found in the namespace 'Microsoft.CognitiveServices' for api version '2017-04-18'.' request:WebResource {streamResponseBody: false, url: 'https://management.azure.com/subscriptions/bb8…erry-Face-F0-2021-04-09?api-version=2017-04-18', method: 'PUT', headers: HttpHeaders, body: '{"location":"eastus","tags":{"alias":"diberry"…"Enabled"},"kind":"Face","sku":{"name":"F0"}}', …} response:{body: '{"error":{"code":"InvalidResourceType","messag…iveServices' for api version '2017-04-18'."}}', headers: HttpHeaders, status: 404} stack:'Error: The resource type could not be found in the namespace 'Microsoft.CognitiveServices' for api version '2017-04-18'.\n    at new RestError (c:\\repos\\code\\js-e2e\\js-e2e\\resources\\node_modules\\@azure\\ms-rest-js\\dist\\msRest.node.js:2469:28)\n    at c:\\repos\\code\\js-e2e\\js-e2e\\resources\\node_modules\\@azure\\ms-rest-js\\dist\\msRest.node.js:3671:37\n    at processTicksAndRejections (internal/process/task_queues.js:88:5)' statusCode:404 __proto__:Error
Expected behavior
I expect the apiVersion in the ARM template on the Azure portal is the correct version to use with the Azure SDK for the same purpose.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
How do you expect a customer to get the correct API version? Is there an enum somewhere that should be used?
This is the doc I used which didn't help. So I googled how to create a resource and found this 3P blog post.

@colawwj Could you take a look at this issue? Thanks

@diberry
I found that you set resourceType to parameters.kind. Since it's designated as  Microsoft.CognitiveServices/accounts in template,you can change it into accounts and run code again.
Sample code:
import * as msRestNodeAuth from "@azure/ms-rest-nodeauth";
import { ResourceManagementClient,ResourceManagementModels } from "@azure/arm-resources";
const subscriptionId = process.env.subscriptionId;

const clientId = process.env.AZURE_CLIENT_ID;
const secret = process.env.AZURE_CLIENT_SECRET;
const tenantId = process.env.AZURE_TENANT_ID;

msRestNodeAuth.loginWithServicePrincipalSecret(clientId, secret, tenantId).then((creds) => {
    const client = new ResourceManagementClient(creds, subscriptionId);
    const parameter:ResourceManagementModels.GenericResource = {
      type: "Microsoft.CognitiveServices/accounts",
      location: "eastus",
      tags: {
        alias: "diberry",
        app: "sample"
      },
      sku: {
        name: "F0"
      },
      kind: "Face",
      properties: {
        networkAcls: {
          defaultAction: "Allow",
          virtualNetworkRules: [],
          ipRules: []
        },
        privateEndpointConnections: [],
        publicNetworkAccess: "Enabled"
      }
    };

    client.resources.createOrUpdate("resourceGroupName","Microsoft.CognitiveServices","","accounts","resourceName", "2017-04-18",parameter).then((result) => {
      console.log("The result is:");
      console.log(result);
    });
  }).catch((err) => {
    console.error(err);
  });

response
{
  id: '/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.CognitiveServices/accounts/resourceName',
  name: 'resourceName',
  type: 'Microsoft.CognitiveServices/accounts',
  location: 'eastus',
  tags: { alias: 'diberry', app: 'sample' },
  properties: {
    endpoint: 'https://eastus.api.cognitive.microsoft.com/',
    internalId: '8aee675d2afd4ad08f7d99e0260b984f',
    dateCreated: '2021-04-12T07:35:46.9981499Z',
    networkAcls: { defaultAction: 'Allow', virtualNetworkRules: [], ipRules: [] },
    privateEndpointConnections: [],
    publicNetworkAccess: 'Enabled',
    capabilities: [ [Object], [Object] ],
    provisioningState: 'Succeeded'
  },
  kind: 'Face',
  sku: { name: 'F0' },
  etag: '"1000991f-0000-0100-0000-6073f8590000"'
}

@colawwj Thank you for the fix. Now that I know what the issue with the code was, I believe there is both a doc bug and an sdk bug:

doc bug - explain possible values for resourceType and where to find them.
SDK bug - When the resourceType's value is incorrect, the error should be about the resourceType - not about the apiVersion.

Do these need to be logged outside of this issue or is this issue enough?

The original issues stands too - how are customers expected to find the apiVersion?

@diberry  I think you probably need to query all the available resourceType and apiVersions from here https://docs.microsoft.com/en-us/rest/api/resources/providerresourcetypes/list before you use resources package to create other kinds of resources.
from your error message. I think it indeed show the resourceType is invalid?
code:'InvalidResourceType' message:'The resource type could not be found in the namespace 'Microsoft.CognitiveServices' for api version '2017-04-18'


Add SQS to initialisms

Issue #, if available:
Description of changes:

Add SQS to initialisms
Fix SNS lower case initialism translator

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/lgtm


tarball and git tag with exactly same contents

as discussed, it would be appreciated if the git tag (dune-release tag) would reflect 1:1 the generated tarball. from what I see at the moment, the only step (after tag, in distrib) is the string substitution of %%VERSION%% (and %%VERSION_NUM%%) -- this could be done slightly early, committed, and then the git tag could happen.
the upside would be that even without access to the tarball, this could be reproduced (bit-wise identical). //cc @avsm

I was thinking about it and wondered what could be done about the key %%VCS_COMMIT_ID%%, which is expected to be substituted during dune subst by the id of the commit that has the tag. This seems impossible, since it would be the commit that does the substitution, so it can't contain its own commit id in its diff :upside_down_face:.
Please feel free to ignore this remark ! I just found it amusing as sort of a chicken and egg problem.


Add test for 2D cellvoyager conversion

Closes #684

It appears that Python 3.9 & macos 14 (which is slowly rolling out on CI) is making issues on Github CI due to issues described here: https://github.com/actions/setup-python/issues/696#issuecomment-1637587760
I will exclude macos Python 3.9 for us, as it's not essential to test all Python versions on all os for our package. Given what appears to be available on those new runners, I'm also dropping macos Python 3.10: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-arm64-Readme.md#cached-tools
(otherwise tests will probably fail once we get macos 14 runners for 3.10)
We could manually install Python e.g. via brew on mac runners, but I don't think that's worth the complexity & additional CI time for us. As long as we have 1 macos version being tested.
=> Conclusion is that we'll test broadly on Linux (3.9 - 3.11) & just run 3.11 for macos.

@tcompa I'm merging this now to get the CI working again. Feel free to open new issues/PRs to improve this later :)


Refactor Python scripts according to PEP 8

-Implement best practices for python code
-Follow style guidelines from pep 8
-Other cleanup such as removing unused imports and variables

@evonide I went around trying to revert the commit while trying to sidestep around the privacy email setting. I realized it would be faster to just nuke the repo and figure it out for next time.

@bluec0re alright, I think that should resolve problem.

Sorry for the delay Alan and thanks again for your contribution :)!


update deps

update vue example
update reactive dependency
update nvm version

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.452%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
542

Relevant Lines:
626

💛  - Coveralls