Add inherit_scale to bones

Adds inherit_scale property to bones in Skeleton3D. Setting this to false will allow the bone to be scaled independently of its parent.
This is useful for character customization that requires proportional editing. This is also useful for some animation techniques that were not possible before.
Addresses https://github.com/godotengine/godot-proposals/issues/4190

replying to https://github.com/godotengine/godot-proposals/issues/4190#issuecomment-1778083620 and https://github.com/godotengine/godot/pull/83903#pullrequestreview-1695932637

this should be an EDITOR ONLY feature.
The use of the Bone Scale in the Character Creator assumes a Rest transform. At this point, it makes sense to make it an option in the editor whether or not to propagate the parent's transforms. It would work like Blender's bone Edit Mode.

If this was editor only, it would make certain runtime character proportion editing and procedural animation impossible. By making it an option that can be applied per bone at runtime, we open the possibilities for non-authored procedural animations that weren't possible before. I'd also like to mention that even though blender does use rest transforms for its bone Edit Mode, even it has an option to control how transforms are propagated during animation per bone:

This PR introduces modes that would be equivalent to Blender's functionality as far as:
inherit_scale=true = Blender's Full
inherit_scale=false = Blender's None -which uses similar sheer correcting orthonormalization under the hood.
These are the modes used most often in blender animations, and blender is the animation authoring tool of choice for most Godot users, so it makes sense to support a one-to-one feature like this, regardless of potential future work with rest transforms.

"Pose Scale is propagated to the children" is never a problem.

This can be a problem if you are trying to make character customization that relies on proportional editing, which is the primary use case for needing to change bone scale inheritance. https://github.com/godotengine/godot/pull/83903 addresses two problems. Firstly, it adds a feature that allows users to choose which bones inherit their parent's full transform, or only inherit rotation/translation. In the current version of Godot, you can manually change a child bone's transform to account for the scale propagation, but the problem is that even with manual scale correction, there are major sheering and rotation artifacts which get worse the further the child scale is from 1.0. The second problem this PR addresses is the aforementioned sheering and rotation artifacts, when using inherit_scale=false.

Read that comments right. This is all I have to say.

In conclusion, the option that should be added to the bone is not "whether to propagate the scale" but "how to apply the pose animation". And the Lock feature should be implemented as a usability option when in Rest edit mode; It should be a kind of toggle option at the top of the viewport, rather than an addition to the bone.

This relative animation should complement what is missing in the case you are describing.

However, if we make the Editor allows independent bone manipulation, I think it would be possible to implement a usability function in Skeleton3D for independent bone manipulation. This should make it possible to create addons that do not propagate specific elements by replacing post_process_key_value().

Then relative animation/local transform (means same behavior with 3.x) should complement the case which you are described - character animation with scaled bone in runtime as long as you only allow the BoneRest to have a scale, not BonePose...

Even in 3.x, the rest transform is propagated to children. This is a problem because as stated in my last comment, even if you correct scaling yourself, there are sheering artifacts which cannot be prevented from outside of the actual propagation function. One way to solve this would be to allow users to define their own transform propagation function similar to Array.sort_custom(), but that would be far too complicated for most users. The other way to solve this is by adding functionality for the most common use cases people would have for this feature, which is what this PR does. This very same optional transformation correction can be expanded to rest transforms when/if they get the old 3.x functionality back in 4.x.

but there is no use case there for BonePose i.e. to make the animation scale at runtime so that it does not propagate to the children. not accepted by Godot core if there is no need for it.

There absolutely are use cases for changing transform propagation at runtime. For games, procedural animation and character creation with proportional editing like ARK. For robotics, inverse kinematics with telescopic/linear actuators. Keep in mind, it's an optional feature so people who don't need it aren't affected by it.

If you are thinking of using Pose to change the shape of your character in the first place, it is completely wrong.

All components of a pose, namely the location, rotation, and scale, are intended to change the shape, as it represents a transformation. That's the point. If you mean explicitly the customizable proportions, that is absolutely something that belongs in pose, and would come down to the needs of the individual project and its animation team.

Also, Blender animation system is a bit unique as well as the bone structure. They will be discarded when export it as glTF, so it makes no sense to make them compatible there.

This isn't necessarily something that ever needs to be added to the importer, because it's probably not possible given the glTF spec. It's just there for the cases (usually for advanced IK armatures) that need analogous functionality. Users can toggle this feature as it is needed on a per-bone basis.

Even in 3.x, the rest transform is propagated to children. This is a problem because as stated in my last comment, even if you correct scaling yourself, there are sheering artifacts which cannot be prevented from outside of the actual propagation function.

Even so, it would need to be an option like "Pose ignores Rest's scale", not "whether to propagate the scale".
However, regarding Rest deformations affecting it, I believe it is simplest to implement a function that "rebinds the skins and initializes the scales". This will lose the scale information, but if you need to use them again in the character creator, you can make them into a dictionary to store it.

There absolutely are use cases for changing transform propagation at runtime. For games, procedural animation and character creation with proportional editing like ARK. Some games actually scale bones locally on the x/y axes when the mesh is under armor to reduce clipping.

As I have said many times, body shape adjustments should be done in Rest.

For robotics, inverse kinematics with telescopic/linear actuators. Keep in mind, it's an optional feature so people who don't need it aren't affected by it. It can also be useful to toggle this on and off as the given animation requires, especially for procedural animation.

This is more of a bone structure issue. They should not have a parent-child relationship to begin with. Or, Constraint/IK should be implemented or a feature such as BoneAttachment should be used.
As shown above, this is a problem that can be solved by adding some editor options and functions. So it makes no sense that your use case really needs this property.

To begin with, Bone and Node3D have almost the same concept of parent-child relationship behavior for deformations, and implementing the "do not propagate parent scale" option only for Bone is not good from an architectural design point of view and would require adding it to Node3D as well.
In summary, we believe that the correct architectural design to solve those problems is to divide them into the following two implementations.

implement an Independent mode in BoneEditor that automatically adds cancel deformations to children of deformed bones

implement set_bone_pose(rest)_independently() for making easy body shape adjustment on Godot and for runtime

implement functions like rebind_skin(bool p_init_scale) to rebind/init scale to skin

Even so, it would need to be an option like "Pose ignores Rest's scale", not "whether to propagate the scale".

Ignoring Rest's scale wouldn't be enough, because of sheering. Please note that this doesn't just prevent scale propagation, but performs other transformation correction during propagation. These corrections cannot be applied after the fact, and must be applied during propagation.

As I have said many times, body shape adjustments should be done in Rest.

I agree that pose should be relative to rest, but that is just not how things are right now. Having inherit_scale will be useful now, and it is forward compatible for if relative poses get added back in. Even if pose was relative to rest as it is in 3.x, the parent scale gets propagated to children bone transforms. This leads to sheering artifacts when bones are rotated because the transforms are simply multiplied. By using the optional transform correction introduced in this PR, those sheering and rotation artifacts are entirely mitigated. "Pose ignores Rest's scale" would simply not achieve the results intended because the point is having the ability to scale bones independently of their parent, while still keeping the correct rotation/translation. Mathematically, this is something that can only be fixed in propagation.

To begin with, Bone and Node3D have almost the same concept of parent-child relationship behavior for deformations, and implementing the "do not propagate parent scale" option only for Bone is not good from an architectural design point of view and would require adding it to Node3D as well.

That is irrelevant because while Bone and Node3D are very similar, they in no way affect each other or should have feature parity because of this similarity. I would also like to point out that Node3D already has similar functionality to this, however this PR only discludes scale inheritance, and does all necessary rotation and translation correction, as users expect. See https://docs.godotengine.org/en/stable/classes/class_node3d.html#class-node3d-property-top-level

Moreover, such options can break animation sharing in retargeting, so basically, options for bones should be implemented in the SkeletonProfile. However, these would be too extensive and would not be allowed.

However, regarding Rest deformations affecting it, I believe it is simplest to implement a function that "rebinds the skins and initializes the scales". This will lose the scale information, but if you need to use them again in the character creator, you can make them into a dictionary to store it.

These solutions are needlessly complex, and retargeting/animation sharing would not be affected in any way, as this is intended to be used after a skeleton has already been retargeted, during live animation.
I'd like to demonstrate what this PR does visually.
The following gif is from 3.5.2. The upper arm's rest pose scale is being set to (1.0, 4.0, 1.0), the lower arm's rest pose is being set to (1.0, 0.25, 1.0) to account for the scale which propagates to it:

As you can see, there are sheering artifacts, even with scale correction.
The next gif is from 4.x. As we know, pose is not relative to rest in Godot 4, but the same transformation as the first gif is being applied to the pose transform. The animation does not contain scale keyframes, so it is valid to change scale in pose.

The same artifacts as 3.x can be observed.
This final gif is in my fork of 4.x master with this PR applied. The upper arm has a pose scale of (1.0, 4.0, 1.0), and the lower arm has a scale of (1.0, 1.0, 1.0) and its inherit_scale is set to false.

A rather extreme example, but you can see that the lower arm has no sheering or rotation artifacts, and its transformation is entirely predictable.
I say again: Adding optional scale propagation and sheering correction is the only way to achieve these results, even with pose relative to rest.

I have understood what it is supposed to do. But as I said above, it is absolutely sufficient to statically remove scale by rebind. If we are concerned about processing at runtime, the best we can approve is to implement some of the functions (such as set_bone_rest(pose)_independently() and rebind_skin()) in Skeleton3D.

These solutions are needlessly complex, and retargeting/animation sharing would not be affected in any way, as this is intended to be used after a skeleton has already been retargeted, during live animation.

The problem is that when you share an animation created on a model that uses that property with a model that does not have that property set, you have to rewrite the properties of the target model.

These solutions are needlessly complex, and retargeting/animation sharing would not be affected in any way, as this is intended to be used after a skeleton has already been retargeted, during live animation.

Not make sense, the main problem with your PR implementation is that you are confusing the animation with the adjustment of the body shape. When we split the implementation into two, we have more steps, but the workflow is simpler; no one thinks applying scale on Blender is complicated.

I have understood what it is supposed to do. But as I said above, it is absolutely sufficient to statically remove scale by rebind. If we are concerned about processing at runtime, the best we can approve is to implement some of the functions (such as set_bone_rest(pose)_independently() and rebind_skin()) in Skeleton3D.

Simply rebinding the skin won't affect BoneAttachment3D, IK, or anything else that relies on the direct bone transform. This isn't intended for preprocessing animations or skeletons like retargeting. This is intended as an additive effect after the skeleton is already imported, retargeted, etc.

The problem is that when you share an animation created on a model that uses that property with a model that does not have that property set, you have to rewrite the properties of the target model.

This isn't true. This isn't a property on models. It is a property on Bone in Skeleton3D. It is skeleton/model agnostic and non-destructive. You only disable inherit_scale when you want to take manual control over scale editing. Typically this should be done via script anyway, like in character creators for example.

Not make sense, the main problem with your PR implementation is that you are confusing the animation with the adjustment of the body shape.

One of the most important parts of this PR is that it does translation correction when a parent bone is scaled. Simply not inheriting parent scale is not enough for the intended effect. When you scale a parent bone, you expect the child bone to still inherit its position as if it was scaled from its parent, then it adjusts scale as needed.

When we split the implementation into two, we have more steps, but the workflow is simpler; no one thinks applying scale on Blender is complicated.

I don't understand what you mean by "no one thinks applying scale on Blender is complicated". Some games have character creators that allow proportional editing, which by its very nature cannot be pre-authored, or applied in Blender. Such games are not currently possible in Godot without major animation artifacting. Yes, rebinding the skin can change the scale of bones, but not the correct proportional offsets if you change the length of a bone. It has to be done on the skeleton, and as mentioned earlier, even pose relative to rest will result to artifacts when scaled non-uniformly.

Your repeating things I have negated many times above does not make them correct.

My implementation is almost a direct correlation to how Blender and Maya solve it.

Blender's bone structure is quite special, but Maya also has a special bone system. Maya's storing and controlling local axes way is special. Furthermore, the glTF skins output from Maya are bound in a special way. I remember I had to implement some complex calculations for a glTF output from Maya when I worked on the importer.
Godot is Blender friendly, but it is not Blender, and the existence of a feature in Blender is not a reason to implement that feature in Godot. The only case in which Godot will follow the addition of an external feature is when glTF is extended.

Memo:
If the purpose of the bone transformation is to adjust the body shape, then the method I commented on above should work just fine.
However, in some cases where the purpose of the animation is not to adjust the body shape, it may be useful to prevent certain properties from being inherited.
In such cases, it is common in other game engines to use Bone Constraint to dynamically constrain certain properties. It seems completely make sense since it does not change the properties of existing Skeleton in Godot.
Bone Constraint is not yet implemented in Godot, but we do have plans to work on it at the same time we implement IK, etc.
In conclusion, the right direction is to implement a method like Bone Constraint that controls the bone from the outside, not having the bone itself have the properties of the constraint as in this PR.


Incorrect tab order when navigating to a specific subject from the Project Administrator view

When navigating to a specific subject from the Project view in Project Administration, the tab order starts at the Service Desk item on the footer. If refreshing the page or navigating directly to that page, the tab order behaves as expected.

OBE


CPP CMakeLists.txt

Version number is still 1.0.6 for release 1.1.0 (as it was 1.0.4 for release 1.0.6).
Maybe add version number in the check list when issuing a new release ;-)

Thanks for spotting that. Fixed.


Detect Docker Permissions Issues

backup_1    | [11:44:10.966][info    ] Starting Full Backup
backup_1    | [11:44:11.005][error   ] Docker was blocked from accessing docker.sock, make sure UID/GID are set correctly
backup_1    | [11:44:11.005][error   ] Full Backup Failed

This is a much better.


more flexible open function, support for convertible events

pyhepmc.open now allows to specify the format for reading and writing with the format keyword
pyhepmc.open can now write foreign events if they are convertible to GenEvent by providing a to_hepmc3 method
pyhepmc.open can now handle Path objects from pathlib

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

34 of 37 (91.89%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.9%) to 96.203%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/pyhepmc/_io.py
34
37
91.89%

Files with Coverage Reduction
New Missed Lines
%

src/pyhepmc/_io.py
1
95.7%

Totals

Change from base Build<PHONE_NUMBER>:
-0.9%

Covered Lines:
152

Relevant Lines:
158

💛  - Coveralls


feat: upgrade to style dictionary v4

Hello, I was upgrading to v4 style dictionary in my project and this dependency broke during that.
I'm not entirely sure how this should be released as it is a breaking change.
I thought about making it backward compatible but then I had issues with the types not matching V4.
For now I just changed it in my project which does work but is not ideal going forward so this will need to be merged at some point.

// Make it StyleDictionary v4 compatible
const StyleDictionaryTailwind = new StyleDictionary({
	...TailwindConfig,
	hooks: {
		formats: TailwindConfig.format,
	},
});```

Thanks @BJJLangedijk
I got response with
import StyleDictionary from "style-dictionary";
import { makeSdTailwindConfig } from "sd-tailwindcss-transformer";

const types = ["colors"];
for (const type of types) {
  const tailwindConfig = makeSdTailwindConfig({ type });
  tailwindConfig.platforms = {
    "tailwind/colors": {
      ...tailwindConfig.platforms["tailwind/colors"],
      // Overriding 'name/cti/kebab' to "name/kebab"
      transforms: ["attribute/cti", "name/kebab"],
    },
  };

  const styleDictionaryTailwind = new StyleDictionary({
    ...tailwindConfig,
    hooks: {
      formats: {
        tailwindFormat: ({ dictionary }) => {
          const formated = tailwindConfig.format.tailwindFormat({
            dictionary: {
              ...dictionary,
              allTokens: dictionary.allTokens.map((token) => ({
                ...token,
                value: token["$value"],
              })),
            },
          });
          return formated;
        },
      },
    },
  });

  await styleDictionaryTailwind.hasInitialized;

  await styleDictionaryTailwind.buildAllPlatforms();
}


allow VSC to see minecraft classes

In short before doing this VSCode couldn't see the patched MC folder to see the classes of minecraft and unless one has a  java decompiler extension installed they couldn't see the source code of the classes. Only showing the method names and class names. This fixes it, but i am unsure whether its a good way to fix or not.

After discussion on discord it's clear this does not actually solve the problem, a reload after the first build is.


registration

@JuliaRegistrator register()

Registration pull request created: JuliaRegistries/General/64849
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.1.0 -m "<description of version>" 721bbf88b6524b28b43f016427ce05e9164ed7c5
git push origin v0.1.0


types: fix some mutation type issue

Trigger function should enforce arg type if arg type decleared in fetcher
close #2418
Previously
const { trigger } = useSWRMutation('key', (_, opts: { arg: { foo: string } }) => 'any'))
// will not throw error
trigger()

Now
const { trigger } = useSWRMutation('key', (_, opts: { arg: { foo: string } }) => 'any'))
// will throw error now
trigger()

Swr mutate type should work with trigger
close #2406 #2280
Previously
const { mutate } = useSWR("/some/key", fetcher);
  const { trigger } = useSWRMutation("/some/key", fetcher);

  return (
    <button
      onClick={async () => {
        mutate(trigger(), { // <-  Argument of type 'Promise<{ foo: string; } | undefined>' is not assignable to parameter of type '{ foo: string; } | Promise<{ foo: string; }> | MutatorCallback<{ foo: string; }> | undefined'. ...
          optimisticData: {
            foo: 'baz'
          }
        })
      }}
    />
  );

Now
const { mutate } = useSWR("/some/key", fetcher);
  const { trigger } = useSWRMutation("/some/key", fetcher);

  return (
    <button
      onClick={async () => {
        // it works now
        mutate(trigger(), {
            foo: 'baz'
          }
        })
      }}
    />
  );

Shoud be able to configure the type of optimisticData and populateCache
Previous
const { data } = useSWR('key', async () => {
    return ['foo']
})
const { trigger } = useSWRMutation(
    'key',
    async (_, { arg }: { arg: 'foo' }) => {
       return arg.toUpperCase()
    }
)

trigger('bar', {
      optimisticData: current => {
         // current should be inferred as string[] | undefined since it is from the cache, but it is actullay inferred as string to match the return type of fetcher
        // and it also should return string[] to match the cache type
      },
      populateCache: (added, current) => {
         // current should be inferred as string since it is from the cache, but it is actullay inferred as string to match the return type of fetcher
        // and it also should return string[] to match the cache type
      },
      revalidate: false
    })

Now
const { data } = useSWR('key', async () => {
    return ['foo']
})
const { trigger } = useSWRMutation(
    'key',
    async (_, { arg }: { arg: 'foo' }) => {
       return arg.toUpperCase()
    }
)

trigger<typeof data>('bar', {
      optimisticData: current => {
         // current can be configued by generic now
      },
      populateCache: (added, current) => {
         // current can be configued by generic now
      },
      revalidate: false
    })

Hi, This PR broke my build:
Previously
export function useCreateCreditCard(
  config?: SWRMutationConfiguration<boolean, any>
) {
  const client = useApi();

  const fetcher: MutationFetcher<boolean> = async () => {
    const response = await client.createCreditCard();

    return !!response;
  };

  return useSWRMutation(['api', 'credit-card'], fetcher, config);
}

I can't call trigger(). (Expected 1-2 arguments, but got 0)
Now I have to do this:
export function useCreateCreditCard(
  config?: SWRMutationConfiguration<boolean, any, never>
) {
  const client = useApi();

  const fetcher: MutationFetcher<boolean, never> = async () => {
    const response = await client.createCreditCard();

    return !!response;
  };

  return useSWRMutation(['api', 'credit-card'], fetcher, config);
}

Did I used it wrong before?

For most time you don't need MutationFetcher. This just works
export function useCreateCreditCard(
  config?: SWRMutationConfiguration<boolean, any, never>
) {
  const client = useApi();
  const fetcher = async () => {
    const response = await client.createCreditCard();
    return !!response;
  };

  return useSWRMutation(['api', 'credit-card'], fetcher, config);
}


fix: let the staging URL be overridden via environment varible

Just a quick tweak for now, with this change you can do export BACKEND=https://syndesis-staging-2.b6ff.rh-idev.openshiftapps.com and then syndesis ui --serve will point to the second staging backend.

PR Storybook available here


Search bar ui not good

Search bar of the site doesn't look like the real youtube's search bar

1.The word search written is not big and it's s is not capital.
2.Height of search bar is too big then of real one's
etc.

/assigned


Typo "@owner_login_name"→"@owner_login_name"

bold with escape characters
https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-add-job-transact-sql?view=sql-server-ver15

@hyoshioka0128 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@hyoshioka0128 Thank you!


When minOccurs attribute is missing (release 2.6)

If minOccurs attribute is missing, the value of the count parameter in the template handle-complex-element is not correct when we want to fill the form with xml content.
At line 683, I suggest changing the code like this:
<xsl:with-param name="count">
<xsl:choose>
<xsl:when test="count(dyn:evaluate(concat('exsl:node-set($xml-doc)',$tree,'/*[name() = "',$local-namespace-prefix,$id,'"]'))) > 0">
<xsl:value-of select="count(dyn:evaluate(concat('exsl:node-set($xml-doc)',$tree,'/*[name() = "',$local-namespace-prefix,$id,'"]')))" />
</xsl:when>
<xsl:when test="@minOccurs">
<xsl:value-of select="@minOccurs" />
</xsl:when>
<xsl:otherwise1</xsl:otherwise>
</xsl:choose>
</xsl:with-param>

Thanks for the suggestion. I have released a version 3 that uses JavaScript to fill the form and shouldn't have this problem.
If you want, you can push this bugfix and I'll accept it for version 2.x.


Added => Algorithms => Sorting_Algorithms => Shell_Sort => CPP

Assigned Issue Number ?
#649
Language Opted ?
C++
Number of files added or updated ?
1
Name of these files ?
Algorithms => Sorting_Algorithms => Shell_Sort => Shell_Sort.cpp
Checklist

[X] I've read the contribution guidelines.
[X] I've referred the correct issue number.
[X] I've fill up this entire template correctly.

Thank you for the oportunity!


Publish CVE issue status in JSON CVE feed

This came out of a SIG Security meeting and builds on issue https://github.com/kubernetes/sig-security/issues/97
For https://kubernetes.io/docs/reference/issues-security/official-cve-feed/, people reading the site want to find out what's there.
There are different views on what behavior feels right to end users.
@PushkarJ explained the current (at time of writing) behavior is to only list resolved issues; “resolved” means a fix is published.
@IanColdwater gave some context from other projects, some of which only publish CVEs once a fix is available. They mentioned Ubuntu where CVE issues have tags (tracked per release) - https://ubuntu.com/security/cves
This issue is a feature request to add more data to the CVE feed (not the rendered HTML) to show whether the Kubernetes project sees the CVE as:

open
not planned
closed

(conveniently and by intent, we can derive these from GitHub's issues API)
For adding open issues into the rendered HTML CVE feed, see #97

Did some quick analysis. So wanted to share this here in preparation of implementing this:
REST API: https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28#get-an-issue
Field of interest: state (open / closed) state_reason
Possible values for state_reason: completed, not_planned, reopened, null
Actual values we want to translate them into for CVE Status:

state == open -- > "open"
state == closed, state_reason == completed --> "fixed"
state == closed, state_reason == not_planned --> "unfixed"
state == reopened, state_reason == "unknown"

Example:
personal-macbook:~ pushkarj$ curl -L   -H "Accept: application/vnd.github+json"    -H "X-GitHub-Api-Version: 2022-11-28"   https://api.github.com/repos/kubernetes/kubernetes/issues/124759
{
  "url": "https://api.github.com/repos/kubernetes/kubernetes/issues/124759",
  "repository_url": "https://api.github.com/repos/kubernetes/kubernetes",
  "labels_url": "https://api.github.com/repos/kubernetes/kubernetes/issues/124759/labels{/name}",
  "comments_url": "https://api.github.com/repos/kubernetes/kubernetes/issues/124759/comments",
  "events_url": "https://api.github.com/repos/kubernetes/kubernetes/issues/124759/events",
  "html_url": "https://github.com/kubernetes/kubernetes/issues/124759",
  "id":<PHONE_NUMBER>,
  "node_id": "I_kwDOAToIks6IQLtr",
  "number": 124759,
  "title": "CVE-2024-3744: azure-file-csi-driver discloses service account tokens in logs",
  "user": {
    "login": "ritazh",
    "id": 1856066,
    "node_id": "MDQ6VXNlcjE4NTYwNjY=",
    "avatar_url": "https://avatars.githubusercontent.com/u/1856066?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/ritazh",
    "html_url": "https://github.com/ritazh",
    "followers_url": "https://api.github.com/users/ritazh/followers",
    "following_url": "https://api.github.com/users/ritazh/following{/other_user}",
    "gists_url": "https://api.github.com/users/ritazh/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/ritazh/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/ritazh/subscriptions",
    "organizations_url": "https://api.github.com/users/ritazh/orgs",
    "repos_url": "https://api.github.com/users/ritazh/repos",
    "events_url": "https://api.github.com/users/ritazh/events{/privacy}",
    "received_events_url": "https://api.github.com/users/ritazh/received_events",
    "type": "User",
    "site_admin": false
  },
  "labels": [
    {
      "id": 105146071,
      "node_id": "MDU6TGFiZWwxMDUxNDYwNzE=",
      "url": "https://api.github.com/repos/kubernetes/kubernetes/labels/kind/bug",
      "name": "kind/bug",
      "color": "e11d21",
      "default": false,
      "description": "Categorizes issue or PR as related to a bug."
    },
    {
      "id": 116712923,
      "node_id": "MDU6TGFiZWwxMTY3MTI5MjM=",
      "url": "https://api.github.com/repos/kubernetes/kubernetes/labels/area/security",
      "name": "area/security",
      "color": "d93f0b",
      "default": false,
      "description": null
    },
    {
      "id": 357119284,
      "node_id": "MDU6TGFiZWwzNTcxMTkyODQ=",
      "url": "https://api.github.com/repos/kubernetes/kubernetes/labels/sig/auth",
      "name": "sig/auth",
      "color": "d2b48c",
      "default": false,
      "description": "Categorizes an issue or PR as relevant to SIG Auth."
    },
    {
      "id": 778118403,
      "node_id": "MDU6TGFiZWw3NzgxMTg0MDM=",
      "url": "https://api.github.com/repos/kubernetes/kubernetes/labels/lifecycle/frozen",
      "name": "lifecycle/frozen",
      "color": "d3e2f0",
      "default": false,
      "description": "Indicates that an issue or PR should not be auto-closed due to staleness."
    },
    {
      "id":<PHONE_NUMBER>,
      "node_id": "MDU6TGFiZWwxMTk5Mjc1NDky",
      "url": "https://api.github.com/repos/kubernetes/kubernetes/labels/committee/security-response",
      "name": "committee/security-response",
      "color": "c0ff4a",
      "default": false,
      "description": "Denotes an issue or PR intended to be handled by the product security committee."
    },
    {
      "id":<PHONE_NUMBER>,
      "node_id": "MDU6TGFiZWwyMzg5ODU2NjU2",
      "url": "https://api.github.com/repos/kubernetes/kubernetes/labels/triage/accepted",
      "name": "triage/accepted",
      "color": "8fc951",
      "default": false,
      "description": "Indicates an issue or PR is ready to be actively worked on."
    },
    {
      "id":<PHONE_NUMBER>,
      "node_id": "LA_kwDOAToIks7WwncG",
      "url": "https://api.github.com/repos/kubernetes/kubernetes/labels/official-cve-feed",
      "name": "official-cve-feed",
      "color": "0052cc",
      "default": false,
      "description": "Issues or PRs related to CVEs officially announced by Security Response Committee (SRC)"
    }
  ],
  "state": "closed",
  "locked": false,
  "assignee": null,
  "assignees": [

  ],
  "milestone": null,
  "comments": 1,
  "created_at": "2024-05-08T16:02:57Z",
  "updated_at": "2024-05-15T00:45:12Z",
  "closed_at": "2024-05-15T00:45:12Z",
  "author_association": "MEMBER",
  "active_lock_reason": null,
  "body": "CVSS Rating: [CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N](https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N) - **MEDIUM** (6.5)\r\n\r\nA security issue was discovered in azure-file-csi-driver where an actor with access to the driver logs could observe service account tokens. These tokens could then potentially be exchanged with external cloud providers to access secrets stored in cloud vault solutions.  Tokens are only logged when [TokenRequests is configured in the CSIDriver object](https://kubernetes-csi.github.io/docs/token-requests.html) and the driver is set to run at log level 2 or greater via the -v flag.\r\n\r\nThis issue has been rated **MEDIUM** [CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N](https://www.first.org/cvss/calculator/3.1#CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N) (6.5), and assigned **CVE-2024-3744**\r\n\r\n### Am I vulnerable?\r\n\r\nYou may be vulnerable if [TokenRequests is configured in the CSIDriver object](https://kubernetes-csi.github.io/docs/token-requests.html) and the driver is set to run at log level 2 or greater via the -v flag.\r\n\r\nTo check if token requests are configured, run the following command:\r\n\r\nkubectl get csidriver file.csi.azure.com -o jsonpath=\"{.spec.tokenRequests}\"\r\n\r\nTo check if tokens are being logged, examine the secrets-store container log:\r\n\r\nkubectl logs csi-azurefile-controller-56bfddd689-dh5tk -c azurefile -f | grep --line-buffered \"csi.storage.k8s.io/serviceAccount.tokens\"\r\n\r\n#### Affected Versions\r\n\r\n- azure-file-csi-driver <= v1.29.3\r\n- azure-file-csi-driver v1.30.0\r\n\r\n### How do I mitigate this vulnerability?\r\n\r\nPrior to upgrading, this vulnerability can be mitigated by running azure-file-csi-driver at log level 0 or 1 via the -v flag.\r\n\r\n#### Fixed Versions\r\n\r\n- azure-file-csi-driver v1.29.4\r\n- azure-file-csi-driver v1.30.1\r\n\r\nTo upgrade, refer to the documentation: https://github.com/kubernetes-sigs/azurefile-csi-driver?tab=readme-ov-file#install-driver-on-a-kubernetes-cluster \r\n\r\n### Detection\r\n\r\nExamine cloud provider logs for unexpected token exchanges, as well as unexpected access to cloud resources.\r\n\r\nIf you find evidence that this vulnerability has been exploited, please contact<EMAIL_ADDRESS>Acknowledgements\r\n\r\nThis vulnerability was patched by Weizhi Chen @cvvz from Microsoft.\r\n\r\nThank You,\r\nRita Zhang on behalf of the Kubernetes Security Response Committee\r\n\r\n/triage accepted\r\n/lifecycle frozen\r\n/area security\r\n/kind bug\r\n/committee security-response",
  "closed_by": {
    "login": "ritazh",
    "id": 1856066,
    "node_id": "MDQ6VXNlcjE4NTYwNjY=",
    "avatar_url": "https://avatars.githubusercontent.com/u/1856066?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/ritazh",
    "html_url": "https://github.com/ritazh",
    "followers_url": "https://api.github.com/users/ritazh/followers",
    "following_url": "https://api.github.com/users/ritazh/following{/other_user}",
    "gists_url": "https://api.github.com/users/ritazh/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/ritazh/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/ritazh/subscriptions",
    "organizations_url": "https://api.github.com/users/ritazh/orgs",
    "repos_url": "https://api.github.com/users/ritazh/repos",
    "events_url": "https://api.github.com/users/ritazh/events{/privacy}",
    "received_events_url": "https://api.github.com/users/ritazh/received_events",
    "type": "User",
    "site_admin": false
  },
  "reactions": {
    "url": "https://api.github.com/repos/kubernetes/kubernetes/issues/124759/reactions",
    "total_count": 0,
    "+1": 0,
    "-1": 0,
    "laugh": 0,
    "hooray": 0,
    "confused": 0,
    "heart": 0,
    "rocket": 0,
    "eyes": 0
  },
  "timeline_url": "https://api.github.com/repos/kubernetes/kubernetes/issues/124759/timeline",
  "performed_via_github_app": null,
  "state_reason": "completed"
}

@PushkarJ is this issue waiting for contributions? I'm interested in getting involved in the sig-security :)

Hi @jbiers yes please. We would love any help you can offer on this! Feel free tag me with questions here or in #sig-security-tooling

/assign

Thank you so much for excellent progress on this @jbiers especially swiftly updating RSS feed and @sftim for setting the unfixed CVEs as bold.
Looking at the preview on my phone I don't see any currently listed CVEs in bold. Does that mean existing list does not have any unfixed CVEs? (I am also looking at this from my phone, so not sure if that matters)

Yes, we don't have any vulnerabilities announced but with no published fix (this is typical / normal).
See https://github.com/kubernetes/website/pull/46996 for hints about how to preview if you have a desktop-type browser available.

Ok thanks for confirmation. With this in place I will add a few that are unfixed in next few days and see what happens.
I believe the only thing remaining to close this and mark it as resolved is the PR merge that fixes https://github.com/kubernetes/website/issues/47003 I left a small comment on the issue to discuss potential notifications of old CVEs.

On second thoughts https://github.com/kubernetes/website/issues/47003 is unrelated to translating issue status to CVE status so we can mark this as complete.
Thank you so much for working on this @jbiers !! We really appreciate you putting in the work and showing up :)
/close


Update folder-object.md

remove , after Dim fs, f, s,

Docs Build status updates of commit bacc5c4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Language/Reference/User-Interface-Help/folder-object.md
:bulb:Suggestion
View
Details

Language/Reference/User-Interface-Help/folder-object.md

Line 2, Column 1: [Suggestion-description-missing] Missing required attribute: 'description'.

For more details, please refer to the build report.
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.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


ci: github-script: cope with V5 breaking changes

The actions/github-script was recently updated from v3.1.0 to v6 to catch Node 16 (f49acac1ef17b61f5945621ac99e4d7a3049a3a6), but unfortunately there were breaking changes in the API with v5:

https://github.com/actions/github-script#breaking-changes-in-v5
https://github.com/actions/github-script/issues/242 (comment)

Error was manifest as:
TypeError: Cannot read properties of undefined (reading 'listWorkflowRunArtifacts')
at eval (eval at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:13355:16), :3:38)
at callAsyncFunction (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:13356:12)
at main (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:13451:26)
at Module.858 (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:13428:1)
at webpack_require (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:24:31)
at startup (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:43:19)
at /home/runner/work/_actions/actions/github-script/v6/dist/index.js:49:18
at Object. (/home/runner/work/_actions/actions/github-script/v6/dist/index.js:52:10)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
So update our code to to use the new way to do things.
issues: #62
Signed-off-by: Stephan Linz<EMAIL_ADDRESS>

Oh dear, all these github actions are not really helping with reducing dependencies... are they? Anyways, thanks for fixing... LGTM

But now, it works as before --> https://github.com/tiacsys/bridle/actions/runs/3248013210/jobs/5328726173
The PR-63 documentation on WEB server goes away as expected ... ;-)


Better error handling when user is not logged in

When: I try to ocpi get something but I'm not logged in
Then I expect: to get a nice error explaining why I'm not getting data and what I should do to get it
Instead: I get this arcane message spewed to my console:
node:internal/process/promises:288
            triggerUncaughtException(err, true /* fromPromise */);
            ^

[Error: ENOENT: no such file or directory, open '/Users/reinier/.ocpi'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/Users/reinier/.ocpi'
}

Node.js v18.12.1

woohoo done


Fully support any GlobalId-able entity

Bug Report
Describe the bug
Currently, only ActiveRecord::Base objects can be serialized for locals. However, you can relatively easily create your own GlobalId-able serializer/deserializer by mixing in GlobalID::Identification and implementing two methods. See https://github.com/rails/globalid#usage for more information.
Ideally, we'd support any GlobalId-able entity in the locals chain.

Should be doable if we scan for inclusion of that module. Also, would require adapting the tests.

I was thinking:
      def transformed_options
        require_relative "shims/deep_transform_values" unless options.respond_to? :deep_transform_values

        options.deep_transform_values do |value|
          if value.is_a?(ActiveRecord::Base) && !value.new_record?
            value.to_global_id.to_s
          else
            value
          end
        end
      end

becomes:
      def transformed_options
        require_relative "shims/deep_transform_values" unless options.respond_to? :deep_transform_values

        options.deep_transform_values do |value|
          if value.respond_to?(:to_global_id) && !value.try(:new_record?)
            value.to_global_id.to_s
          else
            value
          end
        end
      end

I can write some tests for this too

Yep, could go with duck typing, here are some other options:
https://stackoverflow.com/a/28667632

I'm going to do a PR tomorrow.
I'm currently preferring duck typing instead, for ancestors, looking for specific subclasses/included modules, etc. Maybe it's just personal preference, but a) we do duck typing just a few lines above, and if we would have not pegged it to a specific class, this just would have been supported out of the box. The specific module could change, there could be other abstractions that implement a similar interface, etc.

I'm fine with it, just wanted to provide options.


python311Packages.msgspec: 0.17.0 -> 0.18.0

Diff: https://github.com/jcrist/msgspec/compare/refs/tags/0.17.0...0.18.0
Changelog: https://github.com/jcrist/msgspec/releases/tag/0.18.0
Description of changes

Things done

Built on platform(s)

[ ] 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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 248499 run on x86_64-linux 1

6 packages built:

gallia
gallia.dist
python310Packages.msgspec
python310Packages.msgspec.dist
python311Packages.msgspec
python311Packages.msgspec.dist


Fix / a11y readonly textfields & secret creditcard number and security code

This change will change the "readonly" state of TextField to a <input readonly> or <textarea readonly>. This keeps the binding of the <label> consistent and secondary, it's also is a little bit more semantically correct.
This change also includes an small improvement for the "not exposured" (secret) credit card number and security code. FYI: these (full) numbers are not exposed in the API response, so I cannot put them in the aria-label.

Screen reader behaviour of the "not exposured" textfields
On iOS the aria-label will be read first and afterwards the value of the input.
On Android the value of aria-label doesn't get read(!).  But it will read the content smartly.
Such as:

“4 opsommingstekens” x3  “0002” for creditcard
“6 sterretjes” for security code

I think both situations are acceptable and not worth the time to optimize further. I invested 1 hour in to this. I think we have more important things to optimize.
id="" attribute
Based on this comment. I reverted the toLowerCase() on the HTML id's because it has too big of an impact on the tests (snapshots & e2e).  I was not originally aware of this when I made this suggestion.
The other approach will be to change the e2e-tests based on the new situation. But I think we're better of reverting this change.
Tasks

[x] Verify working of aria-label on "secret" inputs on screen readers
[ ] Rewrite failing tests
[x] Verify styling is identical with previous approach (using a <p>)

Ticket: OTT-372 & OTT-407

I need to rewrite the e2e tests that uses I.see('value'); to I.seeInField('fieldname', 'value'); because it fail otherwise.
Reason being that I.see(''); doesn't apply to the inputs.
Unfortunately since there are a lot of occurrences of this and some e2e tests are partly dynamic this requires some time


[GHSA-m8cj-3v68-3cxj] Magento Open Source affected by an Improper Restriction of XML External Entity Reference ('XXE') vulnerability

Updates

Affected products
CVSS v3
CVSS v4

Comments
Update Severity

Hi @p-w, could you provide more details explaining your scoring?  I am especially interested in why both the vulnerable system and subsequent system CIAs should be High.


[WHLSL] Use StructLayoutBuilder internally for vector representation

Migrated from https://bugs.webkit.org/show_bug.cgi?id=189065:
At 2018-08-28T22:55:06Z<EMAIL_ADDRESS>wrote:
Vector types are just native structure types with operator.field& disabled, so most of their implementation can be done by using an hidden internal StructType and StructLayoutBuilder.

At 2018-08-28T22:55:19Z<EMAIL_ADDRESS>wrote:
Alternative to https://bugs.webkit.org/show_bug.cgi?id=188688

At 2018-08-28T23:01:47Z<EMAIL_ADDRESS>wrote:
Also the implementation of texturing functions should use this.


1.0.2 not backwards compatible with Laravel 4.2.*

Newest version is not compatible with Laravel 4.2.*
got the error: function config() does not exist.

v1.0.4 fixes this issue :+1:  https://github.com/elasticquent/Elasticquent/commit/657b7ebeba9862ea3ac7e1cac8e28f8a115da7be


Bring mock_canvas and ordered_set into the monorepo

What can be improved
The primary advantage of having all flame_* packages in a single repository is that it becomes simple to implement changes that have to span across multiple packages. For the same reason, it would be much more convenient to have mock_canvas and ordered_set brought under the same umbrella. The MockCanvas can either go into flame_test repo, or become a mini-package of its own...
As an example, suppose I'm writing a test that uses MockCanvas, and need to add a new mock-drawing command into that class. Currently, this would entail going into another repository, making a pull request there, waiting until it is approved and merged, then waiting until that repository publishes a new release, then updating the dependency version in flame, and only then I'd be able to continue writing the test that I was writing. This is an enormous amount of friction...
Any risks?
I can't think of any.

Neither of those packages have direct relation to Flame, they are packages on their own that can be used (and probably are already) by projects not related to Flame.
On the mono repo we only keep things related to flame.

they are packages on their own that can be used (and probably are already) by projects not related to Flame.

From the outside world's perspective, they will still remain as standalone packages that can be used by projects not related to Flame.
From the Flame's perspective it makes a lot of sense to integrate those projects (as they were originally part of Flame), in order to make the development within those packages more manageable. We don't want to be in a situation where Flame needs to keep its own implementation of MockCanvas or OrderedSet, or maintain extensions for them.

From the outside world's perspective, they will still remain as standalone packages that can be used by projects not related to Flame.
From the Flame's perspective it makes a lot of sense to integrate those projects (as they were originally part of Flame), in order to make the development within those packages more manageable. We don't want to be in a situation where Flame needs to keep its own implementation of MockCanvas or OrderedSet, or maintain extensions for them.

I would opt for not adding them in this repo as they are completely separate from Flame (despite the fact that they originated from here or that we use them). If we would put them in here instead of their own repos than we would also get issues related to them here, which would pollute our issue tracking with non-flame related things.


Function runtime: Precompiled function issue invalid.csx

Investigative information

Timestamp:   2017-08-24T12:18:47.387Z
Function App name:   testfunction01
Function name(s) (as appropriate):     CreateLoadFunction
Invocation ID:       (Id: f3870072dc48944760d83add2778e352345995dfbe2a395aa7b844061511a248)
Region:     Azure Function runtime.

Repro steps

Install Azure function runtime on a VM.
Deploy Pre compiled function.

Expected behavior

Pre compiled Function when deployed to Azure function runtime server should run.
Pre compiles function on azure function runtime should work like on Azure function app on azure.

Actual behavior

Pre compiled Function when deployed to Azure function runtime server does not run.
Throws an error on the screen: Error:
ERROR:
We are not able to get the content for invalid.csx. Please try again later.
Timestamp: 2017-08-24T12:18:47.387Z

Known workarounds
-Un known.
Related information

Programming language used :   C#
Links to source : N-A
Bindings used :
{
"bindings": [
{
"type": "timerTrigger",
"schedule": "0 */3 * * * *",
"useMonitor": true,
"runOnStartup": false,
"direction": "in",
"name": "myTimer"
}
],
"disabled": false,
"scriptFile": "..\AzureFunction_FOS.dll",
"entryPoint": "AzureFuncCreateLoad.CreateLoadMainFunction.Run"
}

Hi,
Thanks for letting us know about this, the issue has been fixed and will be available in the next preview of "Azure Functions Runtime".
The error is that the default document should be function.json but we were using invalid.csx if run.csx or index.js are not found.
If you go to view files, you will be able to select other files like function.json.

Thank you for the update, i do see the function.json file .
however the main issue i have is my pre-compiled function works on Azure cloud portal but is not working on runtime vm, yet the other functions with (.csx) file are fine its just pre-compiled function. its like pre-compiled functions cannot see the entry point or cannot run dll's.

Thanks for info. We will make sure the pre-compiled functions work as expected for the next preview.

@jvano what version of the runtime is packaged with Azure Runtime installer? Wondering if it's a version that did not have the pre-compiled support.

@fabiocav - The preview is based off https://github.com/Azure/azure-webjobs-sdk-script/commit/a105cb45b02a893cf3bfdbd78daf6ae4addbc91b.

The capability was there at that point (introduced in 1.0.10690).

We have just recently announced "Azure Functions Runtime" preview 2
https://blogs.msdn.microsoft.com/appserviceteam/2017/12/05/announcing-azure-functions-runtime-preview-2/
In this version we have fixed this issue.


Stage sourced by multiple warehouses always result in error when promoting first time

Checklist

[x] I've searched the issue queue to verify this is not a duplicate bug report.
[x] I've included steps to reproduce the bug.
[x] I've pasted the output of kargo version.
[ ] I've pasted logs, if applicable.

Description
When setting up multiple warehouses and promoting to a stage which needs to update multiple images, it is not possible to promote to the stage the first time, since it fails when running the update image step.
However, it will work to promote if promoting all of the required images - but there should be some kind of indication that the promotion didn't completely fail.
Screenshots

Steps to Reproduce

Create multiple warehouses that pull in different images
Setup a promotionTemplate like so:

promotionTemplate:
    spec:
      steps:
        - config:
            checkout:
              - branch: main
                path: ./src
              - branch: deploy/prod
                create: true
                path: ./out
            repoURL: https://github.com/myowner/myrepo.git
          uses: git-clone
        - config:
            path: ./out
          uses: git-clear
        - as: update-image
          config:
            images:
              - fromOrigin:
                  kind: Warehouse
                  name: canary
                image: mycanaryrepo
              - fromOrigin:
                  kind: Warehouse
                  name: tester
                image: mytesterimage
            path: ./src/infrastructure/overlays/prod
          uses: kustomize-set-image
        - config:
            outPath: ./out
            path: ./src/infrastructure/overlays/prod
          uses: kustomize-build
        - as: commit
          config:
            messageFromSteps:
              - update-image
            path: ./out
          uses: git-commit
        - config:
            path: ./out
          uses: git-push
        - config:
            apps:
              - name: drive-canary-prod
                sources:
                  - desiredCommitFromStep: commit
                    repoURL: https://github.com/myowner/myrepo.git
          uses: argocd-update
  requestedFreight:
    - origin:
        kind: Warehouse
        name: canary
      sources:
        stages:
          - stg
    - origin:
        kind: Warehouse
        name: tester
      sources:
        stages:
          - stg

Version
0.9.1

We've been aware of this since "multi-pipelines" was introduced.
We tried hard to come up with some way to avoid this, but as long as Promotions promote a single piece of Freight at a time, this is unavoidable. We did weigh the possibility of Promotions being able to promote multiple pieces of Freight simultaneously, but found that the UX around that was pretty terrible.
Suffice it to say we're open to ideas.

but there should be some kind of indication that the promotion didn't completely fail.

I gather you're still using legacy promotion mechanisms and not the promotion steps introduced in v0.9.0? Promotion steps should be very clear about where in the process your error occurred.
In v1.0.0, failure to find an artifact among the Stage's (possibly many) Freight is a much more explicit error, which should improve the situation even further.

I think for certain promotion steps, we could theoretically make the presence of Freight which matches the selector optional via opt-in. I.e., "update everything you can for all I have, and if nothing matches — that's fine as well".

I'm using the new promotion steps so it was quite clear that the "other freight" would be needed as well to get things working properly. This is why I figured out to just try the other freight as well - however, it was a bit hard to convey this to the application teams trying it out as they would have to understand the promotion steps.
If it could be visualized somehow that the freight is still "under promotion" to the stage it would be cleared that the second freight also needs to be promoted in order for a successful promotion.
Maybe a simple trailing hint in the error message when not finding an image for the steps that take arrays as input? Like: "have you promoted all required freights?"


Added Appeears* classes

Try to use https://appeears.earthdatacloud.nasa.gov/ application to download modis.
Refs #130
Application can also download daymet and many other products.

Have submitted 500 point and germany area task they are still processing for 33% 3.4h and 69% 2.5h resp.

The germany task completed in 5.5 hours with a MCD15A2H.061_500m_aid0001.nc file of 2.9Gb
netcdf MCD15A2H.061_500m_aid0001 {
dimensions:
	time = 667 ;
	lat = 1520 ;
	lon = 1874 ;
variables:
	byte crs ;
		crs:grid_mapping_name = "latitude_longitude" ;
		crs:_CoordinateAxisTypes = "GeoX GeoY" ;
		crs:spatial_ref = "GEOGCS[\"unknown\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Longitude\",EAST],AXIS[\"Latitude\",NORTH]]" ;
		crs:epsg_code = 4326LL ;
		crs:horizontal_datum_name = "WGS84" ;
		crs:semi_major_axis = 6378137LL ;
		crs:inverse_flattening =<PHONE_NUMBER>63 ;
		crs:longitude_of_prime_meridian = 0. ;
	int time(time) ;
		time:standard_name = "time" ;
		time:axis = "T" ;
		time:calendar = "julian" ;
		time:units = "days since 2000-01-01 00:00:00" ;
	double lat(lat) ;
		lat:standard_name = "latitude" ;
		lat:units = "degrees_north" ;
		lat:_CoordinateAxisType = "GeoY" ;
		lat:axis = "Y" ;
	double lon(lon) ;
		lon:standard_name = "longitude" ;
		lon:units = "degrees_east" ;
		lon:_CoordinateAxisType = "GeoX" ;
		lon:axis = "X" ;
	short Fpar_500m(time, lat, lon) ;
		Fpar_500m:_FillValue = 255s ;
		Fpar_500m:coordinates = "time lat lon" ;
		Fpar_500m:grid_mapping = "crs" ;
		Fpar_500m:valid_min = 0s ;
		Fpar_500m:valid_max = 100s ;
		Fpar_500m:scale_factor_err = 0. ;
		Fpar_500m:add_offset_err = 0. ;
		Fpar_500m:calibrated_nt = 21 ;
		Fpar_500m:long_name = "MOD15A2H MODIS/Terra Gridded 500M FPAR (8-day composite)" ;
		Fpar_500m:units = "Percent" ;
		Fpar_500m:MOD15A2_FILLVALUE_DOC = "MOD15A2 FILL VALUE LEGEND\n255 = _Fillvalue, assigned when:\n    * the MOD09GA suf. reflectance for channel VIS, NIR was assigned its _Fillvalue, or\n    * land cover pixel itself was assigned _Fillvalus 255 or 254.\n254 = land cover assigned as perennial salt or inland fresh water.\n253 = land cover assigned as barren, sparse vegetation (rock, tundra, desert.)\n252 = land cover assigned as perennial snow, ice.\n251 = land cover assigned as \"permanent\" wetlands/inundated marshlands.\n250 = land cover assigned as urban/built-up.\n249 = land cover assigned as \"unclassified\" or not able to determine.\n" ;
		Fpar_500m:scale_factor = 0.01 ;
		Fpar_500m:add_offset = 0. ;
	short Lai_500m(time, lat, lon) ;
		Lai_500m:_FillValue = 255s ;
		Lai_500m:coordinates = "time lat lon" ;
		Lai_500m:grid_mapping = "crs" ;
		Lai_500m:valid_min = 0s ;
		Lai_500m:valid_max = 100s ;
		Lai_500m:scale_factor_err = 0. ;
		Lai_500m:add_offset_err = 0. ;
		Lai_500m:calibrated_nt = 21 ;
		Lai_500m:long_name = "MOD15A2H MODIS/Terra Gridded 500M Leaf Area Index LAI (8-day composite)" ;
		Lai_500m:units = "m^2/m^2" ;
		Lai_500m:MOD15A2_FILLVALUE_DOC = "MOD15A2 FILL VALUE LEGEND\n255 = _Fillvalue, assigned when:\n    * the MOD09GA suf. reflectance for channel VIS, NIR was assigned its _Fillvalue, or\n    * land cover pixel itself was assigned _Fillvalus 255 or 254.\n254 = land cover assigned as perennial salt or inland fresh water.\n253 = land cover assigned as barren, sparse vegetation (rock, tundra, desert.)\n252 = land cover assigned as perennial snow, ice.\n251 = land cover assigned as \"permanent\" wetlands/inundated marshlands.\n250 = land cover assigned as urban/built-up.\n249 = land cover assigned as \"unclassified\" or not able to determine.\n" ;
		Lai_500m:scale_factor = 0.1 ;
		Lai_500m:add_offset = 0. ;
	short FparLai_QC(time, lat, lon) ;
		FparLai_QC:_FillValue = 255s ;
		FparLai_QC:coordinates = "time lat lon" ;
		FparLai_QC:grid_mapping = "crs" ;
		FparLai_QC:valid_min = 0s ;
		FparLai_QC:valid_max = 254s ;
		FparLai_QC:long_name = "MOD15A2H MODIS/Terra+Aqua QC for FPAR and LAI (8-day composite)" ;
		FparLai_QC:units = "class-flag" ;
		FparLai_QC:FparLai_QC_DOC = "\nFparLai_QC 5 BITFIELDS IN 8 BITWORD\nMODLAND_QC START 0 END 0 VALIDS 2\nMODLAND_QC   0 = Good Quality (main algorithm with or without saturation)\nMODLAND_QC   1 = Other Quality (back-up algorithm or fill value)\nSENSOR START 1 END 1 VALIDS 2\nSENSOR       0  = Terra\nSENSOR       1  = Aqua\nDEADDETECTOR START 2 END 2 VALIDS 2\nDEADDETECTOR 0 = Detectors apparently fine for up to 50% of channels 1,2\nDEADDETECTOR 1 = Dead detectors caused >50% adjacent detector retrieval\nCLOUDSTATE START 3 END 4 VALIDS 4 (this inherited from Aggregate_QC bits {0,1} cloud state)\nCLOUDSTATE   00 = 0 Significant clouds NOT present (clear)\nCLOUDSTATE   01 = 1 Significant clouds WERE present\nCLOUDSTATE   10 = 2 Mixed cloud present on pixel\nCLOUDSTATE   11 = 3 Cloud state not defined,assumed clear\nSCF_QC START 5 END 7 VALIDS 5\nSCF_QC       000=0 Main (RT) algorithm used, best result possible (no saturation)\nSCF_QC       001=1 Main (RT) algorithm used, saturation occured. Good, very usable.\nSCF_QC       010=2 Main algorithm failed due to bad geometry, empirical algorithm used\nSCF_QC       011=3 Main algorithm faild due to problems other than geometry, empirical algorithm used\nSCF_QC       100=4 Pixel not produced at all, value coudn\'t be retrieved (possible reasons: bad L1B data, unusable MOD09GA data)\n" ;
	short FparExtra_QC(time, lat, lon) ;
		FparExtra_QC:_FillValue = 255s ;
		FparExtra_QC:coordinates = "time lat lon" ;
		FparExtra_QC:grid_mapping = "crs" ;
		FparExtra_QC:valid_min = 0s ;
		FparExtra_QC:valid_max = 254s ;
		FparExtra_QC:long_name = "MOD15A2H MODIS/Terra+Aqua pass-through QC for FPAR and LAI (8-day composite)" ;
		FparExtra_QC:units = "class-flag" ;
		FparExtra_QC:FparExtra_QC_DOC = "\nFparExtra_QC 6 BITFIELDS IN 8 BITWORD\nLANDSEA PASS-THROUGH START 0 END 1 VALIDS 4\nLANDSEA   00 = 0 LAND       AggrQC(3,5)values{001}\nLANDSEA   01 = 1 SHORE      AggrQC(3,5)values{000,010,100}\nLANDSEA   10 = 2 FRESHWATER AggrQC(3,5)values{011,101}\nLANDSEA   11 = 3 OCEAN      AggrQC(3,5)values{110,111}\nSNOW_ICE (from Aggregate_QC bits) START 2 END 2 VALIDS 2\nSNOW_ICE  0 = No snow/ice detected\nSNOW_ICE  1 = Snow/ice were detected\nAEROSOL START 3 END 3 VALIDS 2\nAEROSOL   0 = No or low atmospheric aerosol levels detected\nAEROSOL   1 = Average or high aerosol levels detected\nCIRRUS (from Aggregate_QC bits {8,9} ) START 4 END 4 VALIDS 2\nCIRRUS    0 = No cirrus detected\nCIRRUS    1 = Cirrus was detected\nINTERNAL_CLOUD_MASK START 5 END 5 VALIDS 2\nINTERNAL_CLOUD_MASK 0 = No clouds\nINTERNAL_CLOUD_MASK 1 = Clouds were detected\nCLOUD_SHADOW START 6 END 6 VALIDS 2\nCLOUD_SHADOW        0 = No cloud shadow detected\nCLOUD_SHADOW        1 = Cloud shadow detected\nSCF_BIOME_MASK START 7 END 7 VALIDS 2\nSCF_BIOME_MASK  0 = Biome outside interval <1,4>\nSCF_BIOME_MASK  1 = Biome in interval <1,4>\n" ;

// global attributes:
		:title = "MCD15A2H.061 for aid0001" ;
		:Conventions = "CF-1.6" ;
		:institution = "Land Processes Distributed Active Archive Center (LP DAAC)" ;
		:source = "AppEEARS v3.32" ;
		:references = "See README.md" ;
		:history = "See README.md" ;

{
  "geo": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "Polygon",
          "coordinates": [
            [
              [
                7.083984,
                47.282959
              ],
              [
                7.083984,
                53.611084
              ],
              [
                14.888672,
                53.611084
              ],
              [
                14.888672,
                47.282959
              ],
              [
                7.083984,
                47.282959
              ]
            ]
          ]
        },
        "properties": {}
      }
    ],
    "fileName": "User-Drawn-Polygon"
  },
  "dates": [
    {
      "endDate": "12-31",
      "recurring": true,
      "startDate": "01-01",
      "yearRange": [
        2000,
        2016
      ]
    }
  ],
  "layers": [
    {
      "layer": "Fpar_500m",
      "product": "MCD15A2H.061"
    },
    {
      "layer": "Lai_500m",
      "product": "MCD15A2H.061"
    }
  ],
  "output": {
    "format": {
      "type": "netcdf4"
    },
    "projection": "geographic"
  }
}

Took the liberty of addressing my own comments. Recipe is running now, but it takes a long time...

East Frankfurt finished :-)

Germany also finished. Now waiting on points

OK, all downloads finished (it took about 10 hours, some of which queued) but test recipe failed with
raise ValueError(f"Indexes have overlapping values: {overlap}")
ValueError: Indexes have overlapping values: Index(['Fpar_500m_1', 'Fpar_500m_2', 'Fpar_500m_3', 'Fpar_500m_4',
       'Fpar_500m_5', 'Fpar_500m_6', 'Fpar_500m_7', 'Fpar_500m_8',
       'Fpar_500m_9', 'Fpar_500m_10', 'Fpar_500m_11', 'Fpar_500m_12',
       'Lai_500m_1', 'Lai_500m_2', 'Lai_500m_3', 'Lai_500m_4', 'Lai_500m_5',
       'Lai_500m_6', 'Lai_500m_7', 'Lai_500m_8', 'Lai_500m_9', 'Lai_500m_10',
       'Lai_500m_11', 'Lai_500m_12'],
      dtype='object')

I think this is expected behaviour, users should pick only one flavour for their recipe. In the (very) long run, we might want to add a better way to deal with this, but for now I'm happy to see that the downloads work as expected.


Support for 3D segmentation

Hi,
is it possible to directly use this for 3D segmentation or video segmentation?
thank you

what do you mean by derectly use?


Remove extra-hosts from docker-compose template

Coverage decreased (-0.3%) to 59.803% when pulling 07251181b9a5abd4a16013755a210cca932640a9 on reasonerjt:remove-extra-host into dcf16a84a686396ea21e9e64d633817053df4682 on vmware:master.


Texture info empty texure is null

Reference Issue

Adds test and fixes discussed in #2566

I just merged disabling the broken test runner. Please pull master and let's see if the tests pass now.


add n_batch to fill batch_size

possible fix for #3

Did you want me to merge this, @jamesmkrieger ?  I just asked @picossio if she could give you merge privilege on this repo---I don't have admin privileges to do it myself.

Thanks for merging the others.
With this one, we should probably check if deleting batch_size = args.batch_size and replacing is a good idea or if we should have both. @picossio, @ehthiede and @wstangfi, do you have any view on this? It's been a while since I did this one and don't remember the specifics.

Actually, I'd say that what I did was a quick fix and having both of them like this is a better answer.


Deleting a bin

Currently "Delete" deletes the specific revision (or "snapshot") of the bin, not the complete history.
I've had users specifically raise questions to me expecting the entire bin and all revisions to be deleted.
Options:

Don't support this, let users delete each revision individually - seems clunky
Delete all revisions by default - feels a bit scary
Offer both solutions (in the bin/file menu) - feels a bit "give the user more options"

Any preferences or alternatives?
I'm proposing option (3), the default keyboard action will delete the individual bin, and the notification that appears can include a link to delete the full history if that was what was intended.

I definitely agree with adding "delete all snapshots" for logged in users. I just started using JSBin, and was afraid of losing the work, so I hit Command + S very often assuming it will save my work. But later I found out in JSBin, Command + S stands for "create a new snapshot". Now I have like fifty snapshots for one bin. It's very annoying since for deleting each snapshot, I have to open that snapshot, hit Command + Shift + Delete, go back to all bins and open next one.

So how's this going? I'm having the same problem ShuningTong mentioned above...I've got 72 bins half of which I don't own ( whatever the reason for that is ). Why am i able to see them in myList of bins? I don't want to see bins that i don't own in my list. Can we get rid of those?
Also how does one create a bin anonymously?
I'd like to clean up myList but there's no way to select multiple bins or snapshots and delete them. I still have to select them one at a time and hit the weird shortcut.

There's not been any pull requests that I've seen for this.
On Fri, 11 Aug 2017, 17:08 copetus<EMAIL_ADDRESS>wrote:

So how's this going? I'm having the same problem ShuningTong mentioned
above...I've got 72 bins half of which I don't own ( whatever the reason
for that is ). Why am i able to see them in myList of bins? I don't want to
see bins that i don't own in my list. Can we get rid of those?
Also how does one create a bin anonymously?
I'd like to clean up myList but there's no way to select multiple bins or
snapshots and delete them. I still have to select them one at a time and
hit the weird shortcut.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jsbin/jsbin/issues/1494#issuecomment-321854037, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAA1hO0E5Jt174yyKGm1RyzgaQ0JKmqzks5sXHyAgaJpZM4B7p7I
.


Manual Scan should not be enabled as the vulnerability data are not ready yet.

The auto scan is disabled when the date is not ready, but the scan button is enabled.

OK, we'll take a look!
@pengpengshui will take a look at this issue!


Layout guides and constraint extensions

Description

Added new UIView extensions for creating constraints

More consistent naming
Returns array of new constraints (vs activating them at once previously)

Introduced LayoutGuideInterface and Layoutable protocols which makes it easier to work with layout guides
Added bunch of new extensions to make building UI easier:

NSLayoutConstraints - array activation, changing priority
UIEdgeInsets - initialization, math operations
UIStackView - convenience initialization, adding subviews
Corner radius - improved existing, added couple new
Layout priority (hug/resist) - now Int-expressible, convenience setter/getter
Size classes (regular/compact) - convenience setter/getter

Checklist:

[x] Have checked there is no same component already in catalog.
[x] Have created a sufficient example
[ ] Wrote tests
[x] Code is structured, well written using standard Swift coding style.
[ ] All public methods and properties have meaningful and concise documentation.
[x] Used public modifier for all method and properties that could be changed from user of your feature, and private for internal properties.
[ ] Removed any reference to the project that piece of code was created in.
[x] Reduced the dependencies to minimum.

@nikolamajcen @jabou @hhrvoic any chance one of you can take a look at this in the following days? 🙏

@manuelvrhovac, is it okay to review it until the end of the week?

I have finished with:

PR fixes
Adding documentation
Adding Unit Tests (my first try with Quick)

@nikolamajcen  Ready for another round of review!


fix for error, its string in place of object for luvit

please review and merge

@JoeBmc

Looks good.


How do you know which access modifier to use?

I am struggling with this as to which access modifier to use for each class. Can anyone possibly explain this to me?

@coreys079 Hi!
It depends on what your intent for the class is. Are you making a library for others to use? You'll probably be making a lot of  public classes then. In the library, are there things you need to hide from outside users but you will be using throughout the library for yourself? Then internal is what you want.
You can review the modifiers here: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/access-modifiers
Since this issue isn't related to a specific documentation article, I'm going to closet it. Hopefully some of the documentation in the link will help you understand it better. You can also explore some of the q & a articles related to this on Stack Overflow: https://stackoverflow.com/search?q=access+modifiers+c%23

I have one more question if I may ask? In Web Api Under;
Public class WebApplication2Controller : ApiController
Is there a default code configuration that goes under it, because different examples I have seen looks different, and some use valuecontrollers. Does it depend on the project your doing?
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: Andy De George<EMAIL_ADDRESS>Sent: Friday, December 14, 2018 3:32:31 PM
To: dotnet/docs
Cc: coreys079; Mention
Subject: Re: [dotnet/docs] How do you know which access modifier to use? (#9609)
@coreys079https://github.com/coreys079 Hi!
It depends on what your intent for the class is. Are you making a library for others to use? You'll probably be making a lot of public classes then. In the library, are there things you need to hide from outside users but you will be using throughout the library for yourself? Then internal is what you want.
You can review the modifiers here: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/access-modifiers
Since this issue isn't related to a specific documentation article, I'm going to closet it. Hopefully some of the documentation in the link will help you understand it better. You can also explore some of the q & a articles related to this on Stack Overflow: https://stackoverflow.com/search?q=access+modifiers+c%23
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/dotnet/docs/issues/9609#issuecomment-447498687, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AlzPGOC-4powo4698se60X-jheoTjeFfks5u5Cb_gaJpZM4ZUN9Q.

I don't know, you would be better off asking in that forum or stack overflow area, or even reading up on the ApiController documentation.


Make rustls-tls an optional feature.

rustls-tls uses webpki-roots which has a license considered copyleft
, MPL-2.0. Making this an optional feature allows this library to be
used under the intended MIT license by default.

LGTM.


Make params optional argument

For avoiding TS error without need to specify params type

Hi @mohammad0-0ahmad,
Thank you for the PR.
I assume you are running an old typescript version.
See review.
I close but feel free to submit an example of problematic usecase and I'll reopen.
Best

Hi @garronej !
Thanks for your quick response I will create new PR with link to an example repo.
I'm using TS v4.5.4
Best regards.


2_syntax/exercise/ confusions

https://formal-methods-mpi.github.io/Workshop.jl/stable/2_syntax/exercise/
slightly confused that I don't get the same nubmers given the same seed and doing commands in same order
also, confused with y += 500*randn(20)
what does += do?

The random number issue is fixed in #113 .
I will add short sentence that a += b is the same as a = a + b; (this syntax does not exist in R, but in Python for example).


Video preview is not properly saved on edit

See this edit: https://godotengine.org/asset-library/asset/edit/52
The video had a valid preview image, but the corresponding asset does not show it: http://godotengine.org/asset-library/asset/11
Instead, it tries to use the Youtube URL as preview, which fails.

The problem is that the web frontend completely disregards the thumbnails currently :smile: ..

Ok, that's bogus, the asset linked is clearly tagging the youtube video as an image:
{
  "preview_id":"20",
  "type":"image", // <----!--V
  "link":"https:\/\/www.youtube.com\/watch?v=zDdEbB4R9Jc",
  "thumbnail":"https:\/\/raw.githubusercontent.com\/khairul169\/khairul169.github.io\/master\/files\/cute_tps_game\/3bdb1b393632fb4f0d3a40a0c333edfe.jpg"
}

Tested locally, with proper type it works. (also, with wrong type it is incorrect in the editor as well..)


Add the ability to keep heartbeating while the worker is shutting down

Is your feature request related to a problem? Please describe.
The WorkerFactory.shutdown call starts killing the heartbeats like it says in the documentation with the ActivityWorkerShutdownException but what is the point of waiting N units of time with WorkerFactory.awaitTermination if right when the worker shutdown is called the heartbeats die and then the activities die off because the heartbeats are no longer going....
Describe the solution you'd like
I want the ability to keep heartbeating while the worker is shutting down so my activities can actually finish my activities work with WorkerFactory.awaitTermination when my activities have heartbeats.
For example: If I tell the awaitTermination call to wait 25 minutes my heartbeat calls should still be valid for 25 minutes and then the heartbeat call can start reporting the ActivityWorkerShutdownException
Describe alternatives you've considered
Call ActivityExecutionContext.useLocalManualCompletion() and then use the ManualActivityCompletionClient to heartbeat.
Additional context
See the Temporal Java SDK slack thread here: https://temporalio.slack.com/archives/CTT84KXK9/p1716488319315099

Do we have a timeline for the fix?


Add /debug/pprof routes

This is copy/pasta from Fletchling which adds the /debug/pprof routes to the gin router. These routes can be used by 'go tool pprof' or curling directly to store profile data.
This will allow us to download profile data to use for 'pgo'.
(https://go.dev/blog/pgo) (https://go.dev/doc/pgo)

Tested and works

No problem with this - just wonder if it should be behind a configuration option because these are unprotected and some users have golbat publically on the internet [I am assuming that the tools don't support adding a custom header to their requests]

Good question. The tools don’t necessarily need to talk directly. Can curl and save the data. So adding auth should be fine. If you want config option too I could add at same time.

++ for simple switch with default false in config

Shoot, I didn't look at this before adding auth. Well, I'll add the switch, too. :)  I think the auth should be there in case someone turns the switch on and has things wide open.

Ok, added 'profile_routes' boolean under tuning, defaulting to false.


Task - New combination - combination string

New combination once created, show entire string Name Author and year (not just genus species).


Create custom 404 page

The current 404 page is the default GitHub Pages one. I prefer one which does not use the GitHub branding, and this is a simple one.

If we're going to do a custom 404 page, we should do one with Bootstrap's navigation and what not. A new one-off page doesn't change much IMO. Thanks, though!

If we're going to do a custom 404 page, we should do one with Bootstrap's navigation and what not. A new one-off page doesn't change much IMO. Thanks, though!

OK. All that I want is a custom 404 page that is not the default one.

Can we re-consider this?


Merge upstream/fixroll into upstream/main

Summary

Ticket Link

Fixes
Release Note

Manually verified for DCO.


[Fix] Check the state does not actually change when no changes are expected

Proposal of fix for #1160.
I've also added 2 new tests to avoid regression.
Let me know what you think. Thank you! :)

Kudos to @mikchelbaev for the catch. 🙌🏻
Thank you!


dive.json file is not generated when running icon chain

Overview
Run icon chain, output says check for details in dive.json but json file is not generated
Steps to Reproduce
Steps to reproduce the behavior:

Run dive chain icon -d
Observe dive.json is not generated

Expected Behavior
dive.json should be generated.

@shreyasbhat0 dive.json is not generated when we decentralize already running icon chain.


Per host/url proxy rules supporting.

Hi,
Does pporxy support the proxy rule per host/url/site?
Best regards,
HY

Yes, it supports.
You can specify remote_proxy#rule_file to give a regex rule.

Yes, it supports.
You can specify remote_proxy#rule_file to give a regex rule.

Still, I'm not so clear on this feature, could you please direct me to some more specific documents?

You can see the README.md for the document of regex rule.

Thanks a lot, I noticed the examples. But I still want to know where is the location for the rules file. Can I specify the rules file relative/absolute path in the command, say, similar to the following:
$ pproxy -r http://aa.bb.cc.dd:8080?(relative|absolute)/path/to/rules -vv

relative/absolute path is both supported


[sqlcipher] Update to version 4.6.0

[x] Changes comply with the maintainer guide.
[x] SHA512s are updated for each updated download.
[x] The "supports" clause reflects platforms that may be fixed by this new version.
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

This PR updates sqlcipher to version 4.6.0.

Hi, could you look into adding Linux support for this package?

Hi, could you look into adding Linux support for this package?

This package already has Linux support as I know.

Hi, could you look into adding Linux support for this package?

This package already has Linux support as I know.

The port does not.
https://github.com/microsoft/vcpkg/blob/68f016e70164b093fd9777c2840447ee0b528d90/ports/sqlcipher/vcpkg.json#L7

Hi, could you look into adding Linux support for this package?

This package already has Linux support as I know.

The port does not.
https://github.com/microsoft/vcpkg/blob/68f016e70164b093fd9777c2840447ee0b528d90/ports/sqlcipher/vcpkg.json#L7

Hmm. Ok, I got it but after this PR, I can look into it.

Hi, could you look into adding Linux support for this package?

This package already has Linux support as I know.

The port does not.
https://github.com/microsoft/vcpkg/blob/68f016e70164b093fd9777c2840447ee0b528d90/ports/sqlcipher/vcpkg.json#L7

Hmm. Ok, I got it but after this PR, I can look into it.

Really appreciate it, thanks!

By the way, the PR is ready for merging @MonicaLiu0311

Thanks for the update!

All features are tested successfully in the following triplet:
x86-windows
x64-windows


Physics models for HTT anomalous couplings and combination with HZZ

Hi Henry,
This seems fine to me except for the commit which allows the renaming of systematics with params. What is the intent of this change? Is the idea to rename a nuisance parameter to one which already exists as a param or is it for something else?
Cheers,
Nick

Hi Nick, the problem is without this change, if there's a param anywhere in the card, you can't rename any systematic, not even an lnN.  This fixes that.  I'm not trying to do anything fancy.

Hi Henry,
I wasn't even aware that was the case, so indeed, this sounds like a good fix - thanks!


WSS can't pass through NGINX proxy

I've built the server behind nginx with reversed proxy, but when I enter the room, I got the error message "WebSocket connection to wss://........../socket.io/?peerId=xyyeshq5&roomId=kjbwvgax&EIO=3&transport=websocket&sid=YIUGjQLLcQ74oSSmAAAA failed: Error during WebSocket handshake: Unexpected response code: 400"
any help?

Did you find a solution? In that case, could you please share it here in case others have the same issue. Thanks!

I use this nginx config
location /socket.io/ {
proxy_pass http://<IP_ADDRESS>:6080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_read_timeout 86400;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Fowarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Fowarded-Proto $scheme;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
proxy_set_header Host $host;
}
location / {
proxy_pass http://<IP_ADDRESS>:6080;
proxy_http_version 1.1;
proxy_read_timeout 86400;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Fowarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Fowarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
proxy_set_header Host $host;
}
in server/config/config.js:
listeningPort         : 6080,
httpOnly              : true,
trustProxy           : 'loopback',
listeningHost: '<IP_ADDRESS>',
But I had to make a small change to server.js as there was a problem in React in setting session cookie:
const session = expressSession({
secret			: config.cookieSecret,
name			: config.cookieName,
resave			: true,
saveUninitialized	: true,
proxy			: config.trustProxy ? true : false,
store			: new RedisStore({ client: redisClient }),
cookie			: {
secure   : config.trustProxy ? false : true,
httpOnly : true,
maxAge   : 60 * 60 * 1000 // Expire after 1 hour since last request from user
}
});

here's my config. everything works.
server {
    server_name .......;
    location / {
        proxy_pass http://localhost:8888;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/......../fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/......./privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

Well, but this means that the websocket connection is not working. Look in the Chrome console, you should have an error:
WebSocket connection to 'wss://......../socket.io/?peerId=8jklhxfw&roomId=test11&EIO=3&transport=websocket&sid=9Swz-AVw0-Xzj7FGAAAK' failed: Error during WebSocket handshake: Unexpected response code: 400

No, I don't get the error. And I think it is using WS instead of pooling.

Hmm, let me try on my config.


Table isn't sortable, throws Uncaught ReferenceError: gData is not defined

So in playing around with this for my own project, I realized the table sort was broken because the function that handled that couldn't find gData. Some investigation (I'm no javascript pro) lead me to fix this by changing line 132 in index.html to window.gData = gData, 'hoisting' the variable into the global namespace. No idea if this is how you want to solve it, but I wanted to try and be a little more helpful than "it doesn't work".

Ah, that's bad. I'm afraid this whole thing should be re-written, I get really terrified when I look at it now :flushed:
I think that's a fine fix for this right now, if you want to do a PR that would be :sparkles:

OK! I'll see what I can do (my main branch has diverged far enough that I can't just pull out the commit, I think).
Heck, this might be a fun project to learn me some proper JS and try a cleanup/modernization pull request...

So I actually just put in the latest version and sheetsee.js (this project had a really old version) and it solved the issue you were having. I'm going to go ahead and push it, but there is still lots of clean up that could be done!

Ok, I spoke too soon :) I ended up breaking more things than I fixed, so let's go with your way for now!

Pull request done for that small change.
I'm seeing what you meant by the difficulty in upgrading sheetsee! I'm currently fighting with iCanHaz not having the templates available within the table() function... it's mystifying.

For the makeTable() bug, compare https://github.com/jlord/sheetsee.js/blob/master/js/sheetsee.js#L25273-L25282 with https://github.com/nyc-bookstores/nyc-bookstores.github.io/blob/62d257957b73d42bd008ca89d66035f22bcc74b5/js/sheetsee.js#L16171-L16182


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/75586

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/84449

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/93392

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/97559

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/115644

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/120037


DRILL-4580: Support for exporting storage plugin configurations

Added an "Export" button to enabled storage plugins to support exporting the configuration into a JSON file. This can be useful to backup storage plugin configurations for Upgrade or other purposes.

@Agirish we might consider adding button to export all enabled plugins in one json file as well, rather then doing one by one. What do you think?

@arina-ielchiieva, I thought about that - but it's a bit more complicated in how i'd like it to be: An "Export All" button" should export each of the storage plugin configurations into JSON files and generate a single compressed folder which contains each of these JSON files individually.
And an "Import" button which can support importing either a single JSON file or a compressed folder which can create one or more storage plugins.
I think having individual export button is helpful. We could keep it in the "Update" page (image 2 above). We could remove it from the main storage plugin list page (image 1) if you think it's cluttering the UI.
In a later PR, we can add support for the "Export All" and "Import" (one or more) buttons. Would that be okay?

Sounds fair regarding the enhancement Jira. I think keeping export button even in update mode is also good. Please create Jira for the enhancement for import / export all. Also why you think import all should export each plugin in different file, it can export all in one (similar as we have for bootstrap plugins)?

Filed DRILL-6562 to track this.
Regarding one vs multiple files, my reasoning was to keep it more human readable and flexible - giving options to selectively import any plugin as needed. So suggested a compressed folder with each of the plugin files. But your approach sounds good. I'm thinking the "Export All" option would be used for All or None scenarios. And the regular per plugin "Export" option being introduced in this PR can support the flexible per plugin import.

@kkhatua it can be useful, it you want to back all plugins rather then exporting one by one, the same as with upload. Anyway, it would just an option and up to the user which way to use.
@Agirish thanks for creating the Jira.
+1 for the current PR.

Thanks all, for the review!


Image in top page seems to be broken when it isn’t square.

Thank you for providing a cool theme.
I’ve found an issue, which is an image layout broken when it isn’t square like this.

So, I just fixed it and will send you a pull request. check it later.
Thanks.

Hi,
I just sent you a this pull request.
https://github.com/EmielH/hallo-hugo/pull/25


[bin wrappers] add --omit-wrappers-from-path to shellenv to prevent a binary from invoking a wrapped-binary.

Summary
Motivation
In elixir projects, iex -S mix <script> has the iex interpreter invoking the
mix build tool. However, the mix build tool has been wrapped by devbox in a bash script.
And this leads to a failure as iex is unable to interpret a bash script.
Fix
Binaries should be able to directly invoke other installed binaries.
We implemented the binary-wrappers so that the shell-environment is correctly
configured prior to the installed binary being invoked. In this case, the iex
binary wrapper will run thereby correctly configuring the environment. Any subsequent
binary invoked in the same sub-shell will inherit this up-to-date environment. So,
the other binaries can be directly invoked (instead of the binary-wrapper scripts).
Implementation
In this PR, we change the PATH that is set within a binary-wrapper.
Specifically, the PATH has the form:
<project-dir>/.devbox/virtenv/.wrappers/bin : <project-dir>/.devbox/nix/profile/default/bin

Within the binary-wrapper, we now omit the .wrappers/bin directory from PATH
by using a new hidden flag --omit-wrappers-from-path on devbox shellenv.
perf analysis
I expect the perf impact to be minimal.

Speed up: Binaries invoking other binaries will be a bit faster since they no longer first execute the binary-wrapper.

Slowdown: we remove one layer of caching. Previously, we'd check the shellenv-hash in the binary wrapper, and skip invoking devbox shellenv if the hash was up-to-date. Now, on every invocation of a binary-wrapper we'll call devbox shellenv. This should still be fast due to the internal caching we do within devbox shellenv.

Fixes #1142
How was it tested?
BEFORE: doing devbox run -- iex -S mix would result in the error in the linked issue.
AFTER:
> devbox run -- iex -S mix
* creating .nix-mix/archives/hex-2.0.6
* creating .nix-mix/elixir/1-14/rebar3
Resolving Hex dependencies...
Resolution completed in 0.015s
Unchanged:
  cowboy 2.9.0
  cowlib 2.11.0
  ranch 1.8.0
All dependencies are up to date
Erlang/OTP 25 [erts-13.2.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1]

Hello World!
Interactive Elixir (1.14.4) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> Goodbye World

15:14:23.204 [notice] Application elixir_hello exited: shutdown

BREAK: (a)bort (A)bort with dump (c)ontinue (p)roc info (i)nfo
       (l)oaded (v)ersion (k)ill (D)b-tables (d)istribution

Current dependencies on/for this PR:

main

PR #1151   👈

This comment was auto-generated by Graphite.

gah, I have a lot of local changes that didn't get added to the commit here. Updating!


Filter folder contents via a fuzzy search

What's the Problem?
Different than Search (which searches down from current folder) I find I'm often looking for files in the current folder but not its subfolders. I often deal with very large folders with hundreds or thousands of files in it. Its very difficult to find files I'm looking for when I remember/know only a subset of the file name and Its not the beginning. File explorer and Files both jump to the file that matches characters typed quickly in succession starting from the beginning of the filename. I often find this useless. (its nice to jump to a letter but I don't know full filenames of everything I'm looking for and Id like to filter to everything that contains x)
Solution/Idea
The type ahead default behavior from explorer has been carried over to Files (You can type a letter to jump to the next file that starts with that letter, and if you type quickly it will select a file that matches exactly what you've typed, I don't find that very useful though I know some do)
I'd like to see a setting to change the typeahead (typing when the folder has focus) behavior to filter the current view to only those items that match the fuzzy search of what is being typed (hiding the other items) possibly with a floating text box that appears or jumping to the search box with what is being typed.
Alternatives
in regular explorer I can use StExBar though its quite ugly since it was designed for older windows versions.

This could be implemented by allowing a search depth modifier that's easy to change and have it where you could set the search depth to 0 so it would only look in the current folder, though It's not my preference to have to change this setting back and fourth it would solve my issue.
Priorities

Capability
Priority

Filter the view with a fuzzy search matching typed text
Must

Still allow single letter typed to jump to the first matching file, allow typehead to filter
Should

have this as a setting not to bother those happy with the current config, possibly reuse the search box with filter or search based on a toggle or keyboard shortcut
Could

Files Version
Version: <IP_ADDRESS> OS Version: 10.0.22000.348
Windows Version
Windows 11 21H2 Build 22000.318
Comments
No response

Thank you for your feedback, this is on our todo list and is being planned in #14391. Please add a comment or subscribe to the issue to be notified when it's added.


[Metadata] Run sanity checks on sub / session organisation using meta-data.

When metadata is setup (e.g. date, time subjects were created) we can provide option to run sanity checks on the project stucture (e.g. each session should be at a later datetime than preceeding session).

Closing as don't think this will ever be possible because we don't mandate specific metadata fields. It may come up at someone wants to check some fields on subject / session foldername (e..g. dates are in increasing order), but this can be tackled if it is ever actually requested.