Getting a list of jobs for a storage policy copy

from cvpysdk.commcell import Commcell
commcell = Commcell("...")
from cvpysdk.policies.storage_policies import StoragePolicy
sp = StoragePolicy(commcell,"bk-c","129")
secondaryCopies = sp.get_secondary_copies()
from cvpysdk.policies.storage_policies import StoragePolicyCopy
spc = StoragePolicyCopy(commcell,"bk-c","copy2")
I want to use this function but it requires the job_id.
do_not_copy_jobs: (job_id: Any) -> None
Marks job(s) as Do Not Copy to a secondary copy
Args:
job_id (int or str or list): Job Id(s) that needs to be marked
There is no function to get all jobs per copy. from cvpysdk.job import JobController gives a dictionary of all jobs but it doesnt have any reference to the storage policy. I must select the clients associated with the storage policy to get a list of all jobs per client ?
What I need to do is the following:
storage policy hast copy1, copy2 and copy3.
I need to only copy certain jobs from copy2 to copy3.
So:
Select a storage policy -> copy -> Get list of jobs^ids with status "Available Retained"
Select Only mark the above jobs for copying by using pick_for_copy() for above jobs
run auxcopy for the destination copy

Hi @asshutossh,
We are checking this. We will get back once we have any findings.
Thanks,

Hi @spakhare
This could be worked around by getting the results by running a report. So I was trying to run a storage policy copy jobs report by calling the get function with the dataset of this report. But unfortunately its giving me a 404.
I got the dataset ID from the report REST API button as described on https://documentation.commvault.com/v11/essential/115046_rest_api_get_data_set.html:
https:///commandcenter/api/cr/reportsplusengine/datasets/695DADC9-BD89-4B86-B294-AF04D175FD06:1151d30e-fd18-4536-b115-73df02b973fc/data/?offset=0&fields=%5Bsys_rowid%5D%20AS%20%5Bsys_rowid%5D%2C%5BData%20Source%5D%20AS%20%5BDataSource%5D%2C%5BadminConsoleURL%5D%20AS%20%5BadminConsoleURL%5D%2C%5BParentJobID%5D%20AS%20%5BParentJobID1%5D%2C%5BCommcellID%5D%20AS%20%5BCommcellID%5D%2C%5BMediaAgent%5D%20AS%20%5BMediaAgent%5D%2C%5BStorage%20Policy%5D%20AS%20%5BStoragePolicy%5D%2C%5BStorage%20Policy%20Copy%5D%20AS%20%5BStoragePolicyCopy%5D%2C%5BJobID%5D%20AS%20%5BJobID%5D%2C%5BRetention%5D%20AS%20%5BRetention%5D%2C%5BSPCAgedStatus%5D%20AS%20%5BSPCAgedStatus%5D%2C%5BJobStatus%5D%20AS%20%5BJobStatus%5D%2C%5BAuxCopyStatus%5D%20AS%20%5BAuxCopyStatus%5D%2C%5BPhases%5D%20AS%20%5BPhases%5D%2C%5BClientId%5D%20AS%20%5BClientId%5D%2C%5BClient%5D%20AS%20%5BClient%5D%2C%5BHostName%5D%20AS%20%5BHostName%5D%2C%5BAgentType%5D%20AS%20%5BAgentType%5D%2C%5BInstance%5D%20AS%20%5BInstance%5D%2C%5BBackupSet%5D%20AS%20%5BBackupSet%5D%2C%5BSubClient%5D%20AS%20%5BSubClient%5D%2C%5BFilters%5D%20AS%20%5BFilters%5D%2C%5BBackupType%5D%20AS%20%5BBackupType%5D%2C%5BCycle_Seq%5D%20AS%20%5BCycle_Seq%5D%2C%5BStartTime%5D%20AS%20%5BStartTime%5D%2C%5BEndTime%5D%20AS%20%5BEndTime%5D%2C%5BRunLength%20(Sec)%5D%20AS%20%5BRunLengthSec%5D%2C%5BApplication%20Size%5D%20AS%20%5BApplicationSize%5D%2C%5BBackup%20Size%20(GB)%5D%20AS%20%5BBackupSizeGB%5D%2C%5BTransferred%20Size%5D%20AS%20%5BTransferredSize%5D%2C%5BData%20Written%5D%20AS%20%5BDataWritten%5D%2C%5BBarcode%5D%20AS%20%5BBarcode%5D%2C%5BMedia%5D%20AS%20%5BMedia%5D%2C%5BSize%20on%20Media%5D%20AS%20%5BSizeonMedia%5D%2C%5BDataStatus%5D%20AS%20%5BDataStatus%5D%2C%5BDedup%20Saving(%25)%5D%20AS%20%5BDedupSaving%5D%2C%5BRetainDataUntil%5D%20AS%20%5BRetainDataUntil%5D%2C%5BRetainedBy%5D%20AS%20%5BRetainedBy%5D%2C%5BEncrypted%5D%20AS%20%5BEncrypted%5D&parameter.timeframe=-P3M%20P0D&parameter.IsJobAged%5B%5D=0&parameter.datasource%5B%5D=2&limit=20
My request looks like this:
http://:81/SearchSvc/CVWebService.svc/CustomReportsEngine/rest/reportsplusengine/datasets/695DADC9-BD89-4B86-B294-AF04D175FD06:1151d30e-fd18-4536-b115-73df02b973fc/data
{'Host': '', 'Accept': 'application/json', 'Authtoken': 'QSDK 35caf550adea4f77e0cc5aebecb66a7847861d2fba411a6ce5ef591bcde2c6ce1c295f9f6bd0b798f13821158b98e76e7f76659831607f85bc66722df55b295e4564622c5c201f209c25c147bf6af25a42281ed0d0f59e03978414ee1feb74f863aba063193a3cedb7b2a54f4464c1a00ef68043a5c19138ccd5f092c8ae457df01742f15fe56e026578bf060109beaf5d272455d5aa18f18a5947f0dd88548fe917ad6124f4f9add3e134eb3edf89b68fd8a0cbfb121e0a1ab06b40f4b0cbb9fa0a6f683cf65f06a7a40cfc35080d0a0ec6ff851d979d07759d2fcfc964ea7f795c39d58ad42b2c935ad5c54a9e10037d648fb631d79ea7aa12def27462a6059'}
But this seems to fail:
<Response [404]>

Hi @asshutossh
We have a QScript for fetching the job details on the Copy.
We are adding a method to StoragePolicyCopy Object in storage_policy.py to use this QScript and fetch details of jobs on Copy.
While the change goes through regular process of review and test prior to Releasing, you can use the following code snippet meanwhile.
from cvpysdk.commcell import Commcell
from cvpysdk.exception import SDKException

def get_jobs_on_copy(copy_obj, from_date=None, to_date=None, backup_type=None, retained_by=0,
                     include_to_be_copied_jobs=False, list_partial_jobs_only=False):
    """Fetches the Details of jobs on Storage Policy Copy

    Args:
        copy_obj       (Object): Storage Policy Copy object

        from_date      (str): Start Date Range for the Jobs
                                [format-'yyyy/mm/dd'] [default: from start]

        to_date        (str): End Date Range for the Jobs
                                [format-'yyyy/mm/dd'] [default: till date]

        backup_type    (str): Filter by backup type
                                [possible values: 'full'/'incr'] [default: None(all backup types)]

        retained_by    (int): Filter by retention type of jobs
                                [possible values: 1(basic retention)/2(extended retention)/4(manual retention)]
                                [default: 0(all retention types)]

        include_to_be_copied_jobs   (bool): Include details on jobs that are in to be copied state
                                            [possible values: True/False] [default: False]

        list_partial_jobs_only      (bool): Get details of jobs that are in partially copied state only
                                            [possible values: True/false] [default: False]

    Returns:
        (list)  :   List of dict's with each dict containing details of a job
    Raises:
        SDKException:   if the response/fetch operation failed
    """
    command = f"qoperation execscript -sn QS_JobsinSPCopy -si @i_policyName='{copy_obj.storage_policy._storage_policy_name}' -si @i_copyName='{copy_obj.copy_name}'"
    if from_date:
        command = f"{command} -si @i_fromTime='{from_date}'"
    if to_date:
        command = f"{command} -si @i_toTime='{to_date}'"
    if backup_type:
        command = f"{command} -si @i_backupType='{backup_type.lower()}'"
    if retained_by:
        command = f"{command} -si @i_retention='{retained_by}'"
    if include_to_be_copied_jobs:
        command = f"{command} -si @i_includeToBeCopiedJobs='1'"
    if list_partial_jobs_only:
        command = f"{command} -si @i_includePartialJobsOnly='1'"

    response = copy_obj._commcell_object.execute_qcommand(command)
    if response.json():
        json_response = response.json()
        if json_response.get("ExecScriptOutput"):
            if isinstance(json_response.get("ExecScriptOutput").get("FieldValue"), list):
                return json_response.get("ExecScriptOutput").get("FieldValue")
            if isinstance(json_response.get("ExecScriptOutput").get("FieldValue"), dict):
                if json_response.get("ExecScriptOutput").get("FieldValue").get("@JobID"):
                    return [json_response.get("ExecScriptOutput").get("FieldValue")]
            return []
        else:
            response_string = copy_obj._commcell_object._update_response_(response.text)
            raise SDKException('Job', '105', response_string)
    else:
        response_string = copy_obj._commcell_object._update_response_(response.text)
        raise SDKException('Response', '101', response_string)

def fetch_job_ids_list(jobs_details_list):
    """Fetches the Details of jobs on Storage Policy Copy

        Args:
            jobs_details_list (list): List containing details of Jobs
    """
    return [job.get('@JobID') for job in jobs_details_list]

cs = Commcell('mohanlatestspcs.idcprodcert.loc', 'admin', 'Builder!12')

sp = cs.storage_policies.get('DefaultPlan')
spc = sp.get_copy('SecondaryCopy')

jobs_details_list = get_jobs_on_copy(spc, include_to_be_copied_jobs=True)
# jobs_details_list has all the details like "jobId, jobType, DataStatus(Status Of Job On Copy), AgentType, AppSize"
job_ids_list = fetch_job_ids_list(jobs_details_list)
# perform your operation (donotcopy/recopy/pickforcopy) using this job_ids_list
print(job_ids_list)
# spc.recopy_jobs(job_ids_list)

Note As you can see, this is using the QScript JobsInSPCopy to fetch the details. However, there is a known issue with this QScript. The DataStatus[Status of Job on that copy] might be wrong for [To-Be-Copied/Partially Copied] Jobs. We will be fixing this as well.


GCP Certification Testing Infrastructure

Description
Adds GCP Authenticating via Workload Identity Federation.
The GCP resources (Authentication/Authorization) have been already deployed to the Dapr GCP Project that will host the Certification Tests resources.
Here is the Dapr GCP Project: https://console.cloud.google.com/home/dashboard?project=dapr-tests
This workflow changes do not require secrets to gain access to GCP. The Authn/Authz is done through the use of the GCP Workload Identity Federation which is handled by 2 resources already deployed (through Terraform) in the GCP Project:

Workload Identity Pool & Workload Identity Provider Configured specifically for this Github repository -  (Authn)
A GCP IAM Service Account (SA) used to impersonate this Github Actions workflow within the GCP Project (Authz).  This SA has been assigned the roles roles/pubsub.admin and roles/datastore.owner which will be used for the GCP PusbSub and GCP Firestore Certification Tests.

For further information of how the Authn/Authz GCP <==> Github Actions works, see the google-github-actions/auth
This PR is part of  dapr/infra #169
Issue reference
PR will close: #2651

Today we don't use the the test/infra repo in contrib at all. Can you explain why this is done? This will make it difficult for contrib maintainers to maintain things.

@berndverst I've updated the PR description with more information. The GCP resources needed by this PR have been applied so it should work as it stands. I'll submit a PR to this repo with the Terraform code used to generate those resources.


Potential visualisation ideas - GitHut

Some great visualisation here, would be interesting to reproduce with d3fc:
http://githut.info/

Moved to #997


feat(pie-storybook): DSW-2593 improve logic for conditional rendering of stories

Describe your changes (can list changeset entries if preferable)
This PR aims to improve the logic for the conditional rendering of stories. Previously, only stories with the .test.stories.ts extension were rendered in the new Storybook Testing deployment.
With this PR, we've introduced test specific stories in pie-storybook/stories/testing as we look to migrate more of our tests to use Storybook for the testbed.
Component Variant Stories
A new createVariantStory has been introduced to replicate the functionality of the old WebComponentTestWrapper.
Storybook example here
// pie-chip.test.stories.ts
const sharedPropOptions = {
    disabled: [true, false],
    isSelected: [true, false],
    isLoading: [true, false],
    isDismissible: [true, false],
    showIcon: [true, false],
    slot: ['Hello World'],
};

const defaultPropOptions = {
    ...sharedPropOptions,
    variant: ['default'],
};

const ghostPropOptions = {
    ...sharedPropOptions,
    variant: ['ghost'],
};

const outlinePropOptions = {
    ...sharedPropOptions,
    variant: ['outline'],
};

export const DefaultPropVariations = createVariantStory<ChipProps>(Template, defaultPropOptions);
export const GhostPropVariations = createVariantStory<ChipProps>(Template, ghostPropOptions);
export const OutlinePropVariations = createVariantStory<ChipProps>(Template, outlinePropOptions);

@justeattakeaway/generator-pie-component

Updated and tested generator to align with new testing process

Docs - https://github.com/justeattakeaway/pie/wiki/Testing-of-PIE-Components
Author Checklist (complete before requesting a review)

[x] I have performed a self-review of my code
[x] I have reviewed the PIE Storybook/PIE Docs PR preview

Reviewer checklists (complete before approving)
Reviewer 1 - @fernandofranca

[x] I have reviewed the PIE Storybook/PIE Docs PR preview

Reviewer 2 - @jamieomaguire

[x] I have reviewed the PIE Storybook/PIE Docs PR preview

All looks good, but please can you write up some documentation before merging? Basically how do we write stories and where, with this new approach and explain when and how to use each, I think.

As discussed, this has already be done, and will be improved futher at the end of this epic 👍🏼


Add RayCluster SDK Oauth Authentication test

Issue link

https://issues.redhat.com/browse/RHOAIENG-55
What changes have been made

Added RayCluster SDK Oauth Authentication test
Verification steps

Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] Testing is not required for this change

Closing this PR as this tests supposed to be added in codeflare-sdk repo


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v4.14.259",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6644989642844de830f9b072cd65c553cb55946c"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "6644989642844de830f9b072cd65c553cb55946c",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "nfc: fix segfault in nfc_genl_dump_devices_done\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v4.14.259 by commit<PHONE_NUMBER>844de830f9b072cd65c553cb55946c. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2021-1002631


Remove 'hidden'-attribute from email button

Hi,
with #214 the button to send configs via e-mail has been hidden. This MR simply unhides it again so mails can be send via the UI.

thanks


Return TResult when calling mutate manually

If I'm not wrong, we should return TResult when calling mutate so the result is properly type checked.
Currently the result when calling mutate is any.

Related: #921 #910

similar to #876

It would be great if this could be merged.

It seems that nobody is really working on v4. No updates at all during the last month. That really kills vue right now, because no one can switch to vue 3/composition api/typescript and has to use react instead...

@Akryum could this be merged please?

Thanks! Fixed differently.


Local Refs not resolving properly

I think this was a breaking change between 1.x and 2.x, and the Changlog indicates I probably have to do something with my ref_resolver but I'm not quite sure what.
Take this example schema:
lib/schemas/user.json:
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://example.com/project/-/raw/main/json-schemas/user-model.json",
  "$ref": "#/definitions/UserModel",
  "definitions": {
    "UserModel": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        }
      }
    }
  }
}

In V1 we're calling and validating against it like so:
schemer = JSONSchemer.schema('lib/schemas/user.json')
hash = {"name" => 1234}
schemer.valid?(hash)
=> false

However in V2 we're getting this error
schemer = JSONSchemer.schema('lib/schemas/user.json')
hash = {"name" => 1234}
schemer.valid?(hash)

[2] pry(#<RSpec::Matchers::DSL::Matcher>)> schemer.valid?(hash)
KeyError: key not found: #<URI::File file:///Users/seanarnold/projects/proj/path...
from /Users/seanarnold/.asdf/installs/ruby/3.2.2/lib/ruby/gems/3.2.0/gems/json_schemer-2.0.0/lib/json_schemer/schema.rb:195:in `fetch'

I'd appreciate some help with adjusting my config to get these relative refs working <3

Hi @seanarnold—thanks for opening this. I think I've got a fix that you can try out: https://github.com/davishmcclurg/json_schemer/pull/147
You should note that draft 7 ignores sibling keywords (except definitions) when $ref if present ($id is ignored in your example). More info:

https://github.com/davishmcclurg/json_schemer/issues/44#issuecomment-1684675824
https://github.com/json-schema-org/JSON-Schema-Test-Suite/pull/493
https://github.com/json-schema-org/JSON-Schema-Test-Suite/pull/458

Let me know if you can try out the fix.

Thanks, that seems to fix it for us :) Any chance 2.1.0 could be released shortly? Thank you!

Thanks, that seems to fix it for us :) Any chance 2.1.0 could be released shortly? Thank you!

Fix just went out in 2.1.0


Iris/Shaders incompatibility

Hey, not here to bother you, but this mod is incompatible with shaders(Iris Mod). I am not sure if this is a planned fix, however you should list this Iris as incompatible.

I'll go ahead and work on a compatibility patch. Thank you for letting me know.

The issue should be resolved with version 0.1.1 on Modrinth @Paneled please let me know if it worked.

Hey, unfortunately this didn't fix the issue and is still giving
[13:21:53] [Render thread/INFO]: OpenGL debug message: id=1282, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION error generated. Wrong component type or count.'
[13:21:53] [Render thread/INFO]: OpenGL debug message: id=1282, source=API, type=ERROR, severity=HIGH, message='GL_INVALID_OPERATION error generated. The operation is invalid when the uniform is a matrix.'
While the entire screen turns into one color

Can you provide me the name of the shader causing this? I was unable to replicate it with Complimentary.

Update: I just realized the issue. The function I was using to tell it to reload doesn't get called when shaders are loaded through the menu. Fixing now.

Should be resolved once I add 0.1.2 to Modrinth

Fixed with release #0.1.2

Excuse me, Iris Shaders now works with 0.1.2 but rendering issues happen whenever I change dimensions.
Reloading/Toggling shaders fixes it.
https://user-images.githubusercontent.com/52627381/235540719-9236946b-fa30-49c9-a381-0608e7ff97d5.mp4
The log also spammed similar things to what Paneled mentioned too.
latest.log

I think I might know what's happening here. I'll go ahead and try to resolve it.

Should be resolved with the new version of 0.1.3, let me know.

I can confirm that it's now fixed.
https://user-images.githubusercontent.com/52627381/235820520-e15955a0-d2f7-4558-9111-8a4c5b228414.mp4

Thank you! Closing now.

Hey so it turns out this isn't fixed. I don't know if its a direct incompatibility between seaborgium and iris or some other mod I'm using (don't have the time to test though), but reloading shaders (or changing dimensions, changing settings, or anything that causes some rendering part of the game to reload (like physics mod options)) causes a variety of different issues with shaders.
Sometimes it's the whole screen going black (Complementary V4), or the whole screen being red with a massive cyan semicircle taking over the top half of the screen (FastPBR), sometimes the game seems to render no actual shader but instead uses normal maps instead of the normal textures, meaning metal things are green, rough things are red, etc. (Complementary V4). And there's more weird things I probably forgot).
Below is a screenshot of my mods folder, so again, no idea if this is a direct incompatibility between seaborgium and iris or if something else is making this mess, but I thought I should let you know. I don't have the time to test what is going on, I tried running just sodium, iris and seaborgium (all latest versions of mods & fabric on 1.19.4) but it crashed.

Hope you have luck in figuring this out, if not I guess it's ok if no one else complains :)


FormBuilderCheckbox required != "not equal to false" example

Please consider adding FormBuilderCheckbox validation example to documentation for case like "Accept T&C" checkbox, where we require user to check the checkbox. Probably many others will try to solve it with this:

                FormBuilderCheckbox(
                  name: 'acceptTermsAndPrivacy',
                  initialValue: false,
                  validator: FormBuilderValidators.compose([
                    FormBuilderValidators.required(context,
                        errorText: 'You must accept terms and conditions to continue'),
                  ]),
                  ...

And spend a lot of time wondering why error message is not popping up on validate.
And a bit later hopefully will understand that they ment
                  validator: FormBuilderValidators.compose([
                    FormBuilderValidators.notEqual(context, false,
                        errorText: 'You must accept terms and conditions to continue'),
                  ]),

as checkbox was available all the time, but it was not just checked. Maybe even remove option to add required validator, as this is super confusing and useless for FormBuilderCheckbox type.

I believe this is already in the example app.

Unfortunately it is not in the sample code where everybody will probably get their first code


utf16_length_from_utf8 may return an insufficient length due to invalid characters causing problems with convert_utf8_to_utf16le_with_errors

For arbitrarily-long potentially invalid input, we either:
A) need to know the length ahead of time, allocate, and then convert (1 pass over input)
B) check the length, allocate, convert + validate (2 passes over input)
C) validate, check the length, allocate, and convert (3 passes over input)
The problem with the 2nd approach is convert_utf8_to_utf16le_with_errors segfaults if the length returned from utf16_length_from_utf8 is insufficient. This seems to happen due to backtracking here:
template <endianness endian>
inline result rewind_and_convert_with_errors(const char* buf, size_t len, char16_t* utf16_output) {
  size_t extra_len{0};
  // A leading byte cannot be further than 4 bytes away
  for(int i = 0; i < 5; i++) {
    unsigned char byte = *buf;
    if ((byte & 0b11000000) != 0b10000000) {
      break;
    } else {
      buf--;
      extra_len++;
    }
  }

  result res = convert_with_errors<endian>(buf, len + extra_len, utf16_output);
  if (res.error) {
    res.count -= extra_len;
  }
  return res;
}

Have you considered either:

a variant of the conversion functions which both validate and accept a malloc / realloc function ptr? That way, it can internally count the length + allocate in a single pass. Only realloc if the initial length estimate was wrong
a variant of the length functions which also validate? On error, the user of the library could insert the unicode replacement character and then continue counting the length

@Jarred-Sumner That's a bug. It should not segfault. Can you help me produce a test case? We will quickly issue a patch release as soon as I can reproduce it. It seems that the rewind_and_convert_with_errors makes a bad assumption: that's entirely possible. Let us fix that!!!

a variant of the conversion functions which both validate and accept a malloc / realloc function ptr? That way, it can internally count the length + allocate in a single pass. Only realloc if the initial length estimate was wrong

We deliberately avoid doing memory allocation, for simplicity. Once you take in ownership of the memory, it gets complicated... I am not saying that I am opposed to it, but I'd like to see code. There is a gazillion different ways to management memory... and passing around allocators and deallocators is harder than it sounds.
Now, we definitively could bail out and say 'well, we transcoded from here to there, and it used that many bytes, but we can go no further". And then you could be responsible for the realloc.

a variant of the length functions which also validate? On error, the user of the library could insert the unicode replacement character and then continue counting the length

That would involve validating twice, so I'd prefer to avoid that.
We could transcode with replacement, however. As a first implementation, it would be much of like what you describe... transcode optimistically, stop on error, use a replacement, and continue.

We fuzz on random inputs:
https://github.com/simdutf/simdutf/blob/master/tests/basic_fuzzer.cpp

I will be extending the fuzzer tomorrow to try to cover the case you refer to.

(To be clearer: the expectation is that you ought to be able to use bad/adversarial inputs.)

We deliberately avoid doing memory allocation, for simplicity. Once you take in ownership of the memory, it gets complicated... I am not saying that I am opposed to it, but I'd like to see code. There is a gazillion different ways to management memory... and passing around allocators and deallocators is harder than it sounds.

Not allocating is great

We could transcode with replacement, however. As a first implementation, it would be much of like what you describe... transcode optimistically, stop on error, use a replacement, and continue.

This would be nice. Unicode replacement character is standard, but there are cases where one wants to stop on an error
It seems like this issue only occurs when the input is <= 4 characters
const char buf[] = "\x01\x9a\x84";
simdutf::convert_utf8_to_utf16le_with_errors(buf + 2, 1, utf16_output);

@Jarred-Sumner Transcoding with replacement is one of our open issues:
https://github.com/simdutf/simdutf/issues/147
To be solved in a future release.

@Jarred-Sumner We will definitively support transcoding with replacement in the future.

Thanks for the quick fix


Include new route to support update index while upload

Description

User might want to append new GeoJSON Features to existing index. Hence, add new route using PUT.
This route will accept same parameter as POST, except, it ignores, if index already exists. We need different API to support
users from not accidentally insert geoJSON to existing index and intentionally support append geoJSON to existing index.
Add new field called "feature_id" , to identify, most commonly used identifier in GeoJSON as feature id. This will be used as id, while indexing GeoJSON if it exists.

Issues Resolved
#29
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #34 (e01db23) into main (67e1b9b) will decrease coverage by 7.50%.
The diff coverage is 83.47%.

@@             Coverage Diff              @@
##               main      #34      +/-   ##
============================================
- Coverage     95.00%   87.50%   -7.50%
- Complexity       20       53      +33
============================================
  Files             4       11       +7
  Lines            60      168     +108
  Branches          8       17       +9
============================================
+ Hits             57      147      +90
- Misses            2       20      +18
  Partials          1        1

Impacted Files
Coverage Δ

...n/upload/geojson/UploadGeoJSONTransportAction.java
0.00% <0.00%> (ø)

...action/upload/geojson/RestUploadGeoJSONAction.java
14.28% <14.28%> (ø)

...ensearch/geospatial/geojson/FeatureCollection.java
92.85% <92.85%> (ø)

...on/upload/geojson/UploadGeoJSONRequestContent.java
93.75% <93.75%> (ø)

...va/org/opensearch/geospatial/GeospatialParser.java
94.73% <94.73%> (ø)

...ial/action/upload/geojson/UploadGeoJSONAction.java
100.00% <100.00%> (ø)

...al/action/upload/geojson/UploadGeoJSONRequest.java
100.00% <100.00%> (ø)

.../opensearch/geospatial/geojson/FeatureFactory.java
95.65% <100.00%> (+6.36%)
:arrow_up:

...opensearch/geospatial/plugin/GeospatialPlugin.java
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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

This will be rebased after #33


doc: add docstrings

Closed by https://github.com/uccross/arrow/commit/ea2a2f72cf1f9a0e73e51fe6c011deded8086708


Add Neutaro to chain-registry

Wow I was stumped on that last failure. Not sure how you knew that character was there.

Just luck, I've had something like that happen once and the - '' character error - looked familiar. But I can't tell you where it's from. I suspect from the browser editor GitHub has, but not sure.


README: add a reference to CONTRIBUTING.md

Insert a reference to CONTRIBUTING.md in the Howto Contribute section

Coverage remained the same at 99.92% when pulling be2a40c35d472401f2f9f7cf64161005a15990f7 on ftomassetti:refer-to-CONTRIBUTING-in-README into 00e8f0d41cfa13f3775b37155a71949b707ec2a4 on javaslang:master.

Coverage remained the same at 99.92% when pulling be2a40c35d472401f2f9f7cf64161005a15990f7 on ftomassetti:refer-to-CONTRIBUTING-in-README into 00e8f0d41cfa13f3775b37155a71949b707ec2a4 on javaslang:master.


AES ALGORITHM  - Website

Describe the project you want to add with tech stack
A website created using html,css,javascript to encrypt and decrypt the user entered message for a specific key.
Expected behavior
User input - plain text and key
Output - cipher text
User input - key and cipher text
Output - plain text

Hi! I would like to contribute to this issue under the GSSoC'23. It seems interesting and aligned with my skills. Kindly assign me the issue.@pranjay-poddar


[WinUI/ShadowContainer] ThemeResources used inside ShadowContainer are not changing when switching themes

Current behavior
ThemeResources used inside ShadowContainer are not changing when switching themes in the sample app. If the theme switching is done using RequestedTheme instead in App.xaml the issue is not present.
Expected behavior
ThemeResources used inside ShadowContainer should be properly updated when switching themes
How to reproduce it (as minimally and precisely as possible)

Current behavior when switching to Dark Theme with the snippet below

Expected behavior when switching to Dark Theme with the snippet below
(can be tested directly using RequestedTheme=Dark in App.xaml)

Snippet available on this branch: https://github.com/unoplatform/uno.toolkit.ui/tree/dev/agzi/ShadowContainerThemeSwitchingIssue
<!-- Test issue Theme Switching -->
							<Border>
								<Border.Resources>
									<ResourceDictionary>
										<ResourceDictionary.ThemeDictionaries>
											<!-- Shadow Styles ColorPaletteOverride -->
											<ResourceDictionary x:Key="Dark">
												<Color x:Key="OnSurfaceColor">#E6E1E5</Color>
												<Color x:Key="OnSurfaceVariantColor">#C9C5D0</Color>
												<Color x:Key="PrimaryColor">#C7BFFF</Color>

												<SolidColorBrush x:Key="OnSurfaceBrush"
																 Color="{StaticResource OnSurfaceColor}" />

												<SolidColorBrush x:Key="OnSurfaceVariantBrush"
																 Color="{StaticResource OnSurfaceVariantColor}" />

												<SolidColorBrush x:Key="PrimaryBrush"
																 Color="{StaticResource PrimaryColor}" />

												<!-- Shadow colors-->
												<Color x:Key="LightShadowColor">#3C3846</Color>
												<Color x:Key="ShadeShadowColor">#24222A</Color>

											</ResourceDictionary>
											<ResourceDictionary x:Key="Light">
												<Color x:Key="OnSurfaceColor">#1C1B1F</Color>
												<Color x:Key="OnSurfaceVariantColor">#8A8494</Color>
												<Color x:Key="PrimaryColor">#5946D2</Color>

												<SolidColorBrush x:Key="OnSurfaceBrush"
																 Color="{StaticResource OnSurfaceColor}" />

												<SolidColorBrush x:Key="OnSurfaceVariantBrush"
																 Color="{StaticResource OnSurfaceVariantColor}" />

												<SolidColorBrush x:Key="PrimaryBrush"
																 Color="{StaticResource PrimaryColor}" />

												<!-- Shadow colors-->
												<Color x:Key="LightShadowColor">#FFFFFF</Color>
												<Color x:Key="ShadeShadowColor">#AEAEC0</Color>
											</ResourceDictionary>
										</ResourceDictionary.ThemeDictionaries>

										<utu:ShadowCollection x:Key="NeumorphismBulgingTest">
											<utu:Shadow BlurRadius="10"
														IsInner="True"
														OffsetX="-5"
														OffsetY="-5"
														Opacity="1"
														Spread="0"
														Color="{ThemeResource LightShadowColor}" />
											<utu:Shadow BlurRadius="10"
														IsInner="True"
														OffsetX="4"
														OffsetY="4"
														Opacity="1"
														Spread="0"
														Color="{ThemeResource ShadeShadowColor}" />
										</utu:ShadowCollection>
									</ResourceDictionary>
								</Border.Resources>

								<utu:ShadowContainer Shadows="{StaticResource NeumorphismBulgingTest}">
									<Button Width="80"
											Height="80"
											Background="{ThemeResource OnSurfaceBrush}"
											BorderBrush="{ThemeResource OnSurfaceVariantBrush}"
											Content="Circular"
											CornerRadius="40"
											Foreground="{ThemeResource PrimaryBrush}" />
								</utu:ShadowContainer>
							</Border>

Nuget Package: Uno.Toolkit.UI
Package Version(s): 4.0.0-dev.67
Affected platform(s):

[X] Windows
[?] Double-check properly the other platforms

IDE:

[X] Visual Studio 2022
[ ] Visual Studio 2019
[ ] Visual Studio Code
[ ] Visual Studio for Mac
[ ] Rider Windows
[ ] Rider macOS

FYI @Xiaoy312 please also test the case where ShadowCollection is changed in the visual states when switching themes while the app is running. (Previous related PR for more details: https://github.com/unoplatform/uno.toolkit.ui/issues/697)

this setup works everywhere:
<utu:ShadowContainer Shadows="{ThemeResource NeumorphismBulgingTest}" />
...
<ResourceDictionary>
	<ResourceDictionary.ThemeDictionaries>
		<ResourceDictionary x:Key="Dark">
			<Color x:Key="LightShadowColor">Pink</Color>
			<Color x:Key="ShadeShadowColor">SkyBlue</Color>

			<utu:ShadowCollection x:Key="NeumorphismBulgingTest">
				<utu:Shadow BlurRadius="10" IsInner="True" OffsetX="-5" OffsetY="-5" Opacity="1" Spread="0" Color="{StaticResource LightShadowColor}" />
				<utu:Shadow BlurRadius="10" IsInner="True" OffsetX="4" OffsetY="4" Opacity="1" Spread="0" Color="{StaticResource ShadeShadowColor}" />
			</utu:ShadowCollection>
		</ResourceDictionary>
		<ResourceDictionary x:Key="Light">
			<Color x:Key="LightShadowColor">Orange</Color>
			<Color x:Key="ShadeShadowColor">Green</Color>

			<utu:ShadowCollection x:Key="NeumorphismBulgingTest">
				<utu:Shadow BlurRadius="10" IsInner="True" OffsetX="-5" OffsetY="-5" Opacity="1" Spread="0" Color="{StaticResource LightShadowColor}" />
				<utu:Shadow BlurRadius="10" IsInner="True" OffsetX="4" OffsetY="4" Opacity="1" Spread="0" Color="{StaticResource ShadeShadowColor}" />
			</utu:ShadowCollection>
		</ResourceDictionary>
	</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>

the shadow-collection itself needs to be duplicated in theme-dict
you can even inline the color on the Shadow itself if we arent reusing them

@eriklimakc can you test please and keep @Xiaoy312 updated if it is fixing the issue properly, thanks in advance

So Shadows colors are changing accordingly. But we have another problem.
For example for TextBox styles in Gallery, the ShadowContainer with Shadows is preventing the TextBox background from changing according to the Theme, but when I removed the Shadows from the ShadowContainer the TextBox background changes accordingly:
Without Shadows

With Shadows

cc @Xiaoy312 @agneszitte

ok... so i found the cause of ShadowContainer not reacting to theme switch...
the background SC's child actually get cleared to Transparent, and is re-implemented as the "foundation" for the shadow imagebrush
the problem being that, it doesnt listen for further updates on its background like direct assignment, binding and theme changes...
---
the challenge being that, we cant really just simply remove this mechanism, as the inner shadows would have to be applied on top of the background
one way of approaching this, is to listen for the bg changes and re-paint; but i ran into problem where i cant listen for the value change on certain setup like {ThemeResource}, because they are not binding. and even if we have Binding or TemplateBinding, it is still tricky to obtain new value, if we cleared the source binding by setting a transparent on where the binding would be...
---
to be explored: duplicate the skxamlcanvas, one for outer shadow and one for inner shadow, sandwiching the actual child

Not sure if it's the same issue, I think it's similar since it's all related to InnerShadows. To repro, checkout this branch dev/erli/shadow-themeswitching-repro in Gallery.
InnerShadows "dissapearing":

TextBox/PasswordBox/ComboBox
FAB
Strange behavior with Chips shadows
TabBarItem shadows not updating

the textbox border problem on skia should go away with #737

Re-Open issue as changes reverted in https://github.com/unoplatform/uno.toolkit.ui/pull/751
@Xiaoy312 is revisiting the problem

Re-Open still work in progress


Install Site Extension returns 400 Bad Request

Describe the bug
The Try It feature of the installsiteextension endpoint returns a cryptic HTTP 400 status.
The Try It feature works for both start and stop for the same site.
To Reproduce
Steps to reproduce the behavior:

Go to https://docs.microsoft.com/en-us/rest/api/appservice/webapps/installsiteextension
Click on Try It
Enter valid Azure App Service name
Enter valid Azure App Service resource group name
Enter valid Azure App Service Site Extension Id
See error

Expected behavior
The site extension should attempt install or return some actionable error.
Screenshots
Attempt to install the site extension

400 Response

Desktop (please complete the following information):

OS: Windows Pro
Browser: Chrome
Version 10.0.19041

The same exact behavior is present when hitting this endpoint through azure cli locally.
Issue opened in the docs repo: https://github.com/MicrosoftDocs/feedback/issues/3448

route to service team

appservice team may have insight for this

We are relying on this to work for our IaC - having a manuel step in the middle defeats the purpose of automation :)
+1

It has been nearly a year since opening the original issue and there has been no feedback or action?
https://github.com/MicrosoftDocs/feedback/issues/3448

Please try with JSON {} as a request body and Content-Type: application/json as a request header when using curl, wget, or Postman.

@horihiro Thank you, that workaround worked for me!

Work around provided, Closing the Issue.

btw, this is still broken on pulumi native provider because the hacky workaround.

Work around provided, Closing the Issue.

A workaround is not a solution, and doesn't work in all cases.

Please try with JSON {} as a request body and Content-Type: application/json as a request header when using curl, wget, or Postman.

How about when using Azure CLI?


Can't use java/adoptium-jdk

Version
0.2.1
OS
Linux PopOS 22.04
Describe the bug
After adding java/adoptium-jdk I can't install or use java versions. Only error message I get is:
java not supported, error: java not installed

vfox search for java works tho and I can install a version via search. It downloads the sdk but vfox use throws the same error.
Sidenote: a --debug flag would be nice so you can check what might be wrong on the fly

Hmm, you can't use java as sdk-name because of vfox use plugin filename adoptium-jdk as sdk-name before <= 0.2.1.
I've fixed this bug, using the name in the plugin as the sdk-name. b221f57e35667a1847504da11abc708a85dbd8b5. I'll be doing a 0.2.2 release this week.
Now, you can try again following steps:
# remove old plugin
vfox remove adoptium-jdk
# add new one and set an alias
vfox add --alias java java/adoptium-jdk

Sidenote: a --debug flag would be nice so you can check what might be wrong on the fly

Good idea. I've created an issue for this #26

0.2.2 has been released, so this issue is closed


Resolve Update Deadlocks

Is your feature request related to a problem? Please describe.
Let P and D be packages, each with two versions: v1 and v2, where Pv1 depends on Dv1 and Pv2 depends on Dv2.
A user that has installed Pv1 (and therefore got Dv1 installed automatically), cannot perform an update to Pv2.
This because such an update attempt would cause two conflicts:

P update to v2 is not possible, because it would require Dv2, but the actual D version is v1.
D update to v2 is not possible, because Dv1 is required by Pv1.

This is according to the update mechanism we currently have. It's intended to update one package at a time, and only updates that are valid changes to the current state, are allowed. So while technically correct, this could lead to update deadlocks where a user cannot update a package anymore.
Temporarily we should avoid such a situation to be possible in the package repository, but in the long term this will not be sufficient and not easy to understand.
Describe the solution you'd like
To be discussed.

I am interested in this. Could you provide more context on the update mechanism we currently have ?

Related to the possible refactoring #430


All jobs are forced to be reinstalled after upgrading bosh release

After we upgraded bosh release from 263.3 to 267.2, there forced to update all jobs in all deployments, found a change "logs"=>[] in debug log, it's really painful to have to update all jobs since we have many deployments and thousands fo jobs managed by one director. Any workaround to bypassing it? Thanks.
changed FROM:
{"name"=>"dummy_with_package", "templates"=>[{"name"=>"dummy_with_package", "version"=>"b819fee41c8e2c461e26f338bc0a510841d65c48", "sha1"=>"273f4a84da8ee73362d1c9cc2a25aec212eeae44", "blobstore_id"=>"edf86999-e32d-4d37-b547-3f7c350e741b"}], "template"=>"dummy_with_package", "version"=>"b819fee41c8e2c461e26f338bc0a510841d65c48", "sha1"=>"273f4a84da8ee73362d1c9cc2a25aec212eeae44", "blobstore_id"=>"edf86999-e32d-4d37-b547-3f7c350e741b"} TO:
{"name"=>"dummy_with_package", "templates"=>[{"name"=>"dummy_with_package", "version"=>"b819fee41c8e2c461e26f338bc0a510841d65c48", "sha1"=>"273f4a84da8ee73362d1c9cc2a25aec212eeae44", "blobstore_id"=>"edf86999-e32d-4d37-b547-3f7c350e741b", "logs"=>[]}], "template"=>"dummy_with_package", "version"=>"b819fee41c8e2c461e26f338bc0a510841d65c48", "sha1"=>"273f4a84da8ee73362d1c9cc2a25aec212eeae44", "blobstore_id"=>"edf86999-e32d-4d37-b547-3f7c350e741b", "logs"=>[]} on instance dummy_with_package/40bc03b8-32bd-44ff-9a6e-4ea7e4e71c6d (0)

It's due to the db migration change in https://github.com/cloudfoundry/bosh/blob/master/src/bosh-director/db/migrations/director/20171201153629_remove_unused_template_columns.rb

Hey @mattcui,
Can you provide us with the output of bosh task <task-number> --debug | grep "changes"? This should give us a good idea of what is causing all of these VMs to update.
Best,
@jfmyers9 && @GarfieldIsAPhilosopher, CF BOSH

@jfmyers9 I think it should grep changed, right? Below are msgs for changed:
D, [2018-08-13T03:41:42.348254 #18003] [] DEBUG -- DirectorJobRunner: job_changed? changed FROM: {"name"=>"dummy_with_properties", "templates"=>[{"name"=>"dummy_with_properties", "version"=>"4130de1cabfe9c169f0209c195ce7533fb5e5e7f", "sha1"=>"93a18da183df6aea459f7a648445d8f20152bfbc", "blobstore_id"=>"201f610b-6acc-4df8-917e-986cbdf42e01"}], "template"=>"dummy_with_properties", "version"=>"4130de1cabfe9c169f0209c195ce7533fb5e5e7f", "sha1"=>"93a18da183df6aea459f7a648445d8f20152bfbc", "blobstore_id"=>"201f610b-6acc-4df8-917e-986cbdf42e01"} TO: {"name"=>"dummy_with_properties", "templates"=>[{"name"=>"dummy_with_properties", "version"=>"4130de1cabfe9c169f0209c195ce7533fb5e5e7f", "sha1"=>"93a18da183df6aea459f7a648445d8f20152bfbc", "blobstore_id"=>"201f610b-6acc-4df8-917e-986cbdf42e01", "logs"=>[]}], "template"=>"dummy_with_properties", "version"=>"4130de1cabfe9c169f0209c195ce7533fb5e5e7f", "sha1"=>"93a18da183df6aea459f7a648445d8f20152bfbc", "blobstore_id"=>"201f610b-6acc-4df8-917e-986cbdf42e01", "logs"=>[]} on instance dummy_with_properties/993428d3-85ee-4170-bcb8-092aecf4bd46 (0)
D, [2018-08-13T03:41:42.352907 #18003] [] DEBUG -- DirectorJobRunner: job_changed? changed FROM: {"name"=>"dummy_with_package", "templates"=>[{"name"=>"dummy_with_package", "version"=>"b819fee41c8e2c461e26f338bc0a510841d65c48", "sha1"=>"273f4a84da8ee73362d1c9cc2a25aec212eeae44", "blobstore_id"=>"edf86999-e32d-4d37-b547-3f7c350e741b"}], "template"=>"dummy_with_package", "version"=>"b819fee41c8e2c461e26f338bc0a510841d65c48", "sha1"=>"273f4a84da8ee73362d1c9cc2a25aec212eeae44", "blobstore_id"=>"edf86999-e32d-4d37-b547-3f7c350e741b"} TO: {"name"=>"dummy_with_package", "templates"=>[{"name"=>"dummy_with_package", "version"=>"b819fee41c8e2c461e26f338bc0a510841d65c48", "sha1"=>"273f4a84da8ee73362d1c9cc2a25aec212eeae44", "blobstore_id"=>"edf86999-e32d-4d37-b547-3f7c350e741b", "logs"=>[]}], "template"=>"dummy_with_package", "version"=>"b819fee41c8e2c461e26f338bc0a510841d65c48", "sha1"=>"273f4a84da8ee73362d1c9cc2a25aec212eeae44", "blobstore_id"=>"edf86999-e32d-4d37-b547-3f7c350e741b", "logs"=>[]} on instance dummy_with_package/40bc03b8-32bd-44ff-9a6e-4ea7e4e71c6d (0)
D, [2018-08-13T03:41:42.356680 #18003] [] DEBUG -- DirectorJobRunner: job_changed? changed FROM: {"name"=>"dummy", "templates"=>[{"name"=>"dummy", "version"=>"289ecbf3fa7359e84d84e5d7c5edd22689ad81d4", "sha1"=>"4f8454e2984dd439c890d8d398facd48f0617141", "blobstore_id"=>"5423c0b6-3d50-4bfe-9880-2351c38d6ff1"}], "template"=>"dummy", "version"=>"289ecbf3fa7359e84d84e5d7c5edd22689ad81d4", "sha1"=>"4f8454e2984dd439c890d8d398facd48f0617141", "blobstore_id"=>"5423c0b6-3d50-4bfe-9880-2351c38d6ff1"} TO: {"name"=>"dummy", "templates"=>[{"name"=>"dummy", "version"=>"289ecbf3fa7359e84d84e5d7c5edd22689ad81d4", "sha1"=>"4f8454e2984dd439c890d8d398facd48f0617141", "blobstore_id"=>"5423c0b6-3d50-4bfe-9880-2351c38d6ff1", "logs"=>[]}], "template"=>"dummy", "version"=>"289ecbf3fa7359e84d84e5d7c5edd22689ad81d4", "sha1"=>"4f8454e2984dd439c890d8d398facd48f0617141", "blobstore_id"=>"5423c0b6-3d50-4bfe-9880-2351c38d6ff1", "logs"=>[]} on instance dummy/c7b8d0e6-bcef-4fd4-b607-9c0e634608ec (0)
D, [2018-08-13T03:41:42.415398 #18003] [] DEBUG -- DirectorJobRunner: packages_changed? changed FROM:  TO: {} on instance dummy/c8c28a8b-6f30-4ac1-9b5a-4986e0298e40 (1)
D, [2018-08-13T03:41:42.416390 #18003] [] DEBUG -- DirectorJobRunner: configuration_changed? changed FROM:  TO: b5bfc5773d6e563f242666a92ed638dcfe41f3dd on instance dummy/c8c28a8b-6f30-4ac1-9b5a-4986e0298e40 (1)
D, [2018-08-13T03:41:42.440139 #18003] [] DEBUG -- DirectorJobRunner: dns_changed? The requested dns record with name '1.dummy.default.gubin-slcpi-dummy.microbosh' and ip '<IP_ADDRESS>' was not found in the db.
D, [2018-08-13T03:42:32.190772 #18003] [instance_update(dummy/c8c28a8b-6f30-4ac1-9b5a-4986e0298e40 (1))] DEBUG -- DirectorJobRunner: dns_changed? The requested dns record with name '1.dummy.default.gubin-slcpi-dummy.microbosh' and ip '<IP_ADDRESS>' was not found in the db.

Hi @mattcui,
While we haven't specifically seen this happen, it seems like that change would potentially cause what you're seeing. But even though that's true, we expect users of BOSH to be upgrading their stemcells more often than their directors. Moreover, going from 263 to 267 is a huge leap and it will often contain enough changes that making guarantees about not updating the jobs interface becomes really hard.
So, while we agree that this is something that caused all your jobs to be updated, we don't intend to focus efforts on guaranteeing that this isn't going to happen on this version or in the future. Thanks for reporting!
Best,
@luan && @jfmyers9, CF BOSH Team


Fixed stuff, added info in file. char limit on git

As the title says, I added more info in file, accidentally pushed my token too but it auto resets on github when it detects your key is on the internet so its been reset poggers.

Going to clean up some of the code and make another PR


Update/Add Github Action runner for macos-13-arm64

Tool name
macos-13-arm64
Tool license
FOSS
Add or update?

[X] Add
[ ] Update

Desired version
apple arm64 support
Approximate size
No response
Brief description of tool
macos-13-arm64 runner that is NOT large runner.
URL for tool's homepage
No response
Provide a basic test case to validate the tool's functionality.
No response
Platforms where you need the tool

[ ] Azure DevOps
[X] GitHub Actions

Runner images where you need the tool

[ ] Ubuntu 20.04
[ ] Ubuntu 22.04
[ ] macOS 11
[ ] macOS 12
[ ] macOS 13
[X] macOS 13 Arm64
[ ] Windows Server 2019
[ ] Windows Server 2022

Can this tool be installed during the build?
No response
Tool installation time in runtime
No response
Are you willing to submit a PR?
No response

Hello, there is macOS-13-xlarge at the moment as described here there are currently no plans to introduce any new runners right now, please follow announcements in this repository to stay on top of things.


Deploying helm chart with existingSecret set on postgresql.auth and using SES email does not work

Current Behavior
Deploying helm chart with existingSecret on postgresql and using SES for email fails.
Expected Behavior
It should not fail.
Steps To Reproduce
Deploy helm chart with this customization.yml (minified)
forge:
  email:
    enabled: true
    from<EMAIL_ADDRESS>    ses:
      region: eu-west-1

postgresql:
  host: my-postgres-instance.rds.amazonaws.com
  port: 5432
  auth:
    existingSecret: rds-creds
    database: flowforge
    username: forge
    ssl: true

gives this error:
history.go:56: [debug] getting history for release flowforge
upgrade.go:158: [debug] preparing upgrade for flowforge
Error: UPGRADE FAILED: template: flowforge/templates/secrets.yaml:1:11: executing "flowforge/templates/secrets.yaml" at <include "forge.createSecret" .>: error calling include: template: flowforge/templates/_helpers.tpl:112:46: executing "forge.createSecret" at <.Values.forge.email.smtp.existingSecret>: nil pointer evaluating interface {}.existingSecret
helm.go:84: [debug] template: flowforge/templates/secrets.yaml:1:11: executing "flowforge/templates/secrets.yaml" at <include "forge.createSecret" .>: error calling include: template: flowforge/templates/_helpers.tpl:112:46: executing "forge.createSecret" at <.Values.forge.email.smtp.existingSecret>: nil pointer evaluating interface {}.existingSecret
UPGRADE FAILED

Environment

FlowFuse version: 2.9.0
Node.js version:
npm version:
Platform/OS:
Browser:

Linked Customers

Kunnusta

Hi, thanks for raising this we'll have a look.

{{- define "forge.createSecret" -}}
{{- if not (and .Values.postgresql.auth.existingSecret
    (not (and .Values.forge.email (not .Values.forge.email.smtp.existingSecret)))) -}}
true
{{- else -}}
false
{{- end -}}
{{- end -}}

Looks like this needs to be something like
{{- define "forge.createSecret" -}}
{{- if not (and .Values.postgresql.auth.existingSecret
    (not (and .Values.forge.email.smtp (not .Values.forge.email.smtp.existingSecret)))) -}}
true
{{- else -}}
false
{{- end -}}
{{- end -}}

Might need an extra and block to check for email first

@mortenmorten a new version of the helm chart is being released

@Shrek53 The forge.createSecret is a helper function which determines if the secret object should be or shouldn't be created based on multiple inputs. Having a single, configurable variable will increase helm chart configuration complexity.
However, as we are open to continuous improvement, feel free to raise a pull request with your proposal.


[Meta] Ability for platform admins to create/edit/remove a workflows and actions within a web-UI interface

Closing this issue because it's the same as Ability to use default/provided workflows, modify defaults, or create new workflows from scratch for funds/labs #294


feat!: add an implementation of DIP 0027 Credit Asset Locks

Issue being fixed or feature implemented
This is an implementation of DIP0027 "Credit Asset Locks".
It's a mechanism to fluidly exchange between Dash and credits.
What was done?
This pull request includes:
- Asset Lock transaction
- Asset Unlock transaction (withdrawal)
- Credit Pool in coinbase
- Unit tests for Asset Lock/Unlock tx
- New functional test feature_asset_locks.py
RPC: currently locked amount (credit pool) is available through rpc call getblock.
How Has This Been Tested?
There added new unit tests for basic checks of transaction validity (asset lock/unlock).
Also added new functional test "feature_asset_locks.py" that cover typical cases, but not all corner cases yet.
Breaking Changes
This feature should be activated as soft-fork because:

It adds 2 new special transaction and one of them [asset unlock tx]  requires update consensus rulels
It adds new data in coinbase tx (credit pool)

Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added or updated relevant unit/integration/functional/e2e tests
[ ] I have made corresponding changes to the documentation
To release DIP 0027
[x] I have assigned this pull request to a milestone

Please change PR title to follow conventional commits :)

Please rebase

rebased. Unit tests and functional tests succeed locally.

Bumped code to current develop:

bumped activation from v19 to v20
fixed couple minor bugs and typos
squashed several commits/reallocated changes between commits to avoid meaningless changes back-n-forward between commits

Check Merge Fast-Forward Only failed again 👀

Looks good! 👍
What about

Also would be nice to see a test for unlock txes with different fees (from 0 to >0.1 DASH).

?

Also would be nice to see a test for unlock txes with different fees (from 0 to >0.1 DASH).

added just now, thanks for reminding!

Ok, so this
diff --git a/test/functional/feature_asset_locks.py b/test/functional/feature_asset_locks.py
index 725d290f6e..32176e309c 100755
--- a/test/functional/feature_asset_locks.py
+++ b/test/functional/feature_asset_locks.py
@@ -295,7 +295,7 @@ class AssetLocksTest(DashTestFramework):

         self.log.info("Generating several txes by same quorum....")
         self.validate_credit_pool_amount(locked_1)
-        asset_unlock_tx = self.create_assetunlock(101, COIN, pubkey)
+        asset_unlock_tx = self.create_assetunlock(101, COIN, pubkey, fee=1)
         asset_unlock_tx_late = self.create_assetunlock(102, COIN, pubkey)
         asset_unlock_tx_too_late = self.create_assetunlock(103, COIN, pubkey)
         asset_unlock_tx_too_big_fee = self.create_assetunlock(104, COIN, pubkey, fee=int(Decimal("0.1") * COIN))

results in failures like

AssertionError: not([{'allowed': True, 'txid': '27d3357231f0f877d69a94d72d5f0e374a40fe8936974f868ba069439eb13aea'}] == [{'txid': '27d3357231f0f877d69a94d72d5f0e374a40fe8936974f868ba069439eb13aea', 'allowed': False, 'reject-reason': 'min relay fee not met'}])

That's exactly what I was worried about. 0f35ff36e3 should help. Or maybe we need to think more about unlocking vs min fees.

Why do we need to bypass limit? If fee is too low and tx is not mined - platform will generate new one after expiration. There's nothing special about asset-unlock. Tests works as I expected when implemented it...
For some txes such as quorum/etc there are nowhere to take reward/fee, so, checks are bypassed. But unlock txes are not special in this terms. If fee is too small - it's okay to request "more fee, please"

https://github.com/dashpay/dash/pull/5026/files#r1269915571
oh, so it's ok for unlock tx to fail? even when fees are up or mempool is full?


Option for Cucumber Expression or RegEx in generated snippet

Summary
New option in @CucumberOptions in runner class.
Expected Behavior
Can choose between Cucumber Expression or the usual regex when generating snippets.
Current Behavior
Only generates Cucumber Expressions since 3.x.x (I believe).
Possible Solution
Something like:
@CucumberOptions(... , snippets = SnippetType.UNDERSCORE, annotation = AnnotationType.REGEX)
public class RunCukesTest extends AbstractTestNGCucumberTests { // or JUnit
}

Context & Motivation
Useful to be able to generate both annotations. Though less intuitive, regex can handle complex matching conditions if need be.

I've moved this to the mono repo. This would require a change to the way cucumber expressions generate its expressions.

I'm closing this as nobody has volunteered to do it. It's not a priority.


Using c.req.formData(), bodyLimit and original middleware, it's loading all the time

What version of Hono are you using?
4.5.5
What runtime/platform is your app running on?
Bun 1.1.23
What steps can reproduce the bug?
import { Hono } from 'hono'
import { bodyLimit } from 'hono/body-limit'

const app = new Hono()

app.use(bodyLimit({maxSize: 1024 * 1024 * 10}))

const sleep = (time:number) => new Promise((resolve) => setTimeout(resolve, time));

app.use(async (c,next) => {
  await sleep(1)// Anything that uses "await
  await next()
})

app.post('/', async (c) => {
  const body = await c.req.formData()
  return c.text(String(body.get('test')))
})

export default app

Execute this code.send form data with the key "test".
What is the expected behavior?
return "test"
What do you see instead?
It loads all the time.
Additional information
No response

@taisan11 This is not a bug. You are calling the next() function after sleep(), which is incorrect. This means that the middleware is introducing a delay before processing the subsequent middleware and routes, potentially blocking the request processing.
The right way is👇
app.use(async (c,next) => {
  await next()
  await sleep(ms)// Anything that uses "await
})

In this case, the next() function is called first, which allows the subsequent middleware and routes to be executed. After that, the await sleep(ms) is executed, which introduces a delay of 2 seconds before the middleware finishes its execution. This approach ensures that the middleware doesn't block the request processing and allows other parts of the application to continue while the delay is in effect.

thank you!!


⚠ AlphaRatio has degraded performance

In 3f691c1, AlphaRatio ($AR) experienced degraded performance:

HTTP code: 200
Response time: 3077 ms

Resolved: AlphaRatio performance has improved in c842bc7 after 6 minutes.


Archiving target-s3

Hi Meltano Team,
I'm just letting you know that I am archiving my target-s3 variant. I am not actively using Meltano at the moment and because of that I do not plan to maintain it anymore. I believe all the functionality of my target is better covered in crowemi's multi-format variant, which also seems to be actively maintained, and I think users should be guided towards using that instead.

@jkausti thanks for letting us know! I'll go ahead and mark it as hidden moving forward so its not discoverable for new users but existing users also wont see a breaking change.


Portainer webhook support

Feature Description
I am currently using Portainer to deploy and update docker-compose stacks hosted on my gitea instance. I would like to be able to add a proper webhook to automatically update my stacks when pushing to the repos. Currently I make it work using the Gitea webhook.
References :
https://docs.portainer.io/user/docker/stacks/webhooks
https://docs.portainer.io/user/docker/stacks/add#gitops-updates
Screenshots
No response

Maybe we can do that after #19307

Closing/Merging this into https://github.com/go-gitea/gitea/issues/1089
A (temporary) workaround, as an alternative to what you are doing, could be to send a webhook via Gitea Actions. Although your workaround may be more effective


Feature/1367 course points displayed

In the interest of getting earlier feedback I'm sending this PR.
This touches a bunch of tickets, the main one is #1367, which would likely be resolved by this ticket, but also #1368, #1378, #1369 and #1485.
This adds the ability for the course grade settings to be applied to the student views, and have a fixed grade + percentage view for instructor with the option of including points. This is a reusable component which can be placed anywhere we need the course grade and fed some config options in the model.
Once I finalise #1369 then the points will be automatically rendered.
Note that the main spreadsheet cell is not yet updated. This is because the batch fetch only return the course grade string, not the actual course grade object. This will be done in conjunction with #1378 and #1485.
Feedback appreciated, especially post-merge so we can see the behaviour.

Looks good to me so far @steveswinsburg.
One question though, I noticed throughout that we only intend to show points if the gradebook isn't using weighted categories and not for basic categories.  In #1367 it's mentioned:

Points will only be available to select if Categories/Categories & Weighting is NOT enabled within the Gradebook.
And perhaps if Points are disabled for a Gradebook, then instead of the '-' we should just hide the column/display string from the user?

Categories are just a grouping so points should be fine, discussed on a call but we didn't update #1367. It's just the weighted categories. Points are excluded where GbCourseGradeLabel is displayed. The only place the '-' comes in is in the grade override log, is that what you were referring to?


Fix configuration export

PR Summary
@jhp-lanl found an issue where the exported singularity-eosConfig.cmake didn't have guards to check if a target has already been created for dependencies. This would cause an issue with builds where there are common dependencies downstream.
This update includes those guards, and also simplifies the logic.

PR Checklist

[ ] Adds a test for any bugs fixed. Adds tests for new features.
[ ] Format your changes by using the make format command after configuring with cmake.
[ ] Document any new features, update documentation for changes made.
[ ] Make sure the copyright notice on any files you modified is up to date.
[ ] After creating a pull request, note it in the CHANGELOG.md file
[ ] If preparing for a new release, update the version in cmake.

It blows my mind that with how much boilerplate this has that there isn't already CMake functionality for this. And I don't want to block anything, but would it make sense for this to be a macro wrapping find_package()? I'm also fine with these changes as-is

It blows my mind that with how much boilerplate this has that there isn't already CMake functionality for this. And I don't want to block anything, but would it make sense for this to be a macro wrapping find_package()? I'm also fine with these changes as-is

Probably this should be used. I can do this for this PR or later

@mauneyc-LANL do we need to run the CI on gitlab as well?

There's no test for this on the CI; there's been some discussion on doing this and maybe should plan for it. Locally I just copy the examples folder and have a CMake with find_package(singularity-eos). That would be easy to get onto the CI i think

@jhp-lanl I've updated to use find_dependency (from comment above) that should avoid find_package collisions without doing a manual check (though if it still has issues then we can do manual checks).

Okay the CMake configure stage seems to work now (which is where I was seeing the failure before). Merging


Language Localization

Issue to track localization of Audio Switcher 2.0.
It looks like the top languages for localization are:

Japanese
German
French
Spanish
Dutch

Additional languages

Korean
Portuguese
Russian
Swedish

If you'd like to help out by translating leave a message here and I'll make the language files available when they are complete.

I'll take a crack at providing a Spanish translation. I'm a native Spanish speaker.

@karasuhebi That'd be awesome, thanks!
When I have the English version finalised I'll post full instructions, and supporting files here.

No problem man, anything I can do to help. :)

Hey, I'm from Israel. I'm willing to work on an Hebrew translation if you'd like

I'd be happy to do the Dutch translations.

Did the language files ever become available?


Improve comments and explanations in playbooks

Add clarification, comments, and additional explanation to playbooks and roles. Correct errors found by ansible-lint.

@minrk Thanks for the review. I'll update the changes later today. :sunny:

@minrk I've made the changes that you and @zonca found. Thanks to both of you for the review.

Thanks, @willingc!


getting error while trying to run maven task

Question, Bug, or Feature?
Type: question
Enter Task Name: maven

Agent -  Private:
Windows server 2016

version: 10
Issue Description
I am trying to run a simple maven job instead i am getting below error.
Task logs
[Error 1]
No agent found in pool Test which satisfies the specified demands:
maven
Agent.Version -gtVersion 1.91.0
I have maven and java installed on agent below is copy paste from agent when i do

mvn -v

"Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T16:06:16+01:00)
Maven home: C:\Program Files\apache-maven-3.6.2\bin..
Java version: 11.0.4, vendor: AdoptOpenJDK, runtime: C:\Program Files\AdoptOpenJDK\jdk-<IP_ADDRESS>-hotspot
Default locale: en_GB, platform encoding: Cp1252
OS name: "windows server 2016", version: "10.0", arch: "amd64", family: "windows""

ok after setting path agent needs a restart, cant believe you have to restart it to take effect in 2019


Choose Software license

We should specify under which conditions this software can be used and add the proper license to the repository.

https://github.com/ShiftForward/apso/blob/master/LICENSE

my bad :)

I'm not sure that is being used correctly. It says "you cannot use this file". Shouldn't it say project or source code?


Homework-12

https://video.drift.com/v/abTwMWfy5sKcEsV5m9Joz8AFjNfYiJOYcDdHTQiNisII/

Metric
Value

alert_status
:white_check_mark: OK

bugs
0

code_smells
31

reliability_rating
A (0 Bugs)Note: A being best, E being worst

security_rating
A (0 Vulnerabilities)Note: A being best, E being worst

vulnerabilities
0


Implemented pod proxy

/kind feature

What this PR does / why we need it:
This PR presents REST APIs of pod.
Which issue(s) this PR fixes:
Fixes #266
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

This PR moved to new github & created new PR #277


Added Eric as maintainer

Description
Adds Eric Pugh as maintainer.
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
Checklist

[x] By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and subject to the Developers Certificate of Origin.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@opensearch-project/admin - Please add @epugh as a maintainer in the doc repo. Thank you.


az login fails: OSError: [WinError 0]

Azure CLI multiple issues after update to 2.30.0
Describe the bug
Command tested without success

az apim api versionset list
az ad signed-in-user show
az ad sp list
az group list
az login
...

Errors
The command failed with an unexpected error. Here is the traceback:
[WinError 0] : ''
Traceback (most recent call last):
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\knack\cli.py", line 231, in invoke
    cmd_result = self.invocation.execute(args)
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\core\commands\__init__.py", line 657, in execute
    raise ex
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\core\commands\__init__.py", line 720, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\core\commands\__init__.py", line 691, in _run_job
    result = cmd_copy(params)
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\core\commands\__init__.py", line 328, in __call__
    return self.handler(*args, **kwargs)
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\core\commands\command_operation.py", line 112, in handler
    client = self.client_factory(self.cli_ctx, command_args) if self.client_factory else None
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\command_modules\apim\_client_factory.py", line 10, in cf_apim
    return get_mgmt_service_client(cli_ctx, ApiManagementClient)
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\core\commands\client_factory.py", line 70, in get_mgmt_service_client
    client, _ = _get_mgmt_service_client(cli_ctx, client_type, subscription_id=subscription_id,
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\core\commands\client_factory.py", line 212, in _get_mgmt_service_client
    cred, subscription_id, _ = profile.get_login_credentials(subscription_id=subscription_id, resource=resource,
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\core\_profile.py", line 335, in get_login_credentials
    credential = self._create_credential(account, client_id=client_id)
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\core\_profile.py", line 588, in _create_credential
    return identity.get_user_credential(username_or_sp_id)
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\core\auth\identity.py", line 182, in get_user_credential
    return UserCredential(self.client_id, username, **self._msal_app_kwargs)
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\azure\cli\core\auth\msal_authentication.py", line 41, in __init__
    accounts = self.get_accounts(username)
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\msal\application.py", line 930, in get_accounts
    accounts = self._find_msal_accounts(environment=self.authority.instance)
  File "C:\Users\{username}\AppData\Roaming\Python\Python39\site-packages\msal\application.py", line 968, in _find_msal_accounts
    for a in self.token_cache.find(
  File "C:\Python39\lib\site-packages\msal_extensions\token_cache.py", line 54, in find
    self._reload_if_necessary()
  File "C:\Python39\lib\site-packages\msal_extensions\token_cache.py", line 35, in _reload_if_necessary
    self.deserialize(self._persistence.load())
  File "C:\Python39\lib\site-packages\msal_extensions\persistence.py", line 172, in load
    return self._dp_agent.unprotect(data)
  File "C:\Python39\lib\site-packages\msal_extensions\windows.py", line 111, in unprotect
    raise OSError(256, '', '', err_code)
OSError: [WinError 0] : ''

To Reproduce
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Update to the latest azure cli: pip install azure-cli --user --upgrade
try one of the following commands

az apim api versionset list --resource-group {} --service-name {} --subscription {}
az login ==> nothing happens
all the commands listed previously fails with the same errors

Expected Behavior
No errors when launching such commands
Environment Summary
Windows-10-10.0.19043-SP0,
Python 3.9.5
Installer: PIP

azure-cli 2.30.0

Extensions:
account 0.2.1
ad 0.1.0
aks-preview 0.5.26
azure-devops 0.20.0
portal 0.1.2
ssh 0.1.5
subscription 0.1.4

Additional Context
I installed the previous version 2.29.2 with the command pip install azure-cli==2.29.2 --user but now when I try to launch my az commands, I have a footer on each commands
New Azure CLI version available. Running 'az upgrade' to update automatically.
This command is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Your current Azure CLI version is 2.29.2. Latest version available is 2.30.0.
Please check the release notes first: https://docs.microsoft.com/cli/azure/release-notes-azure-cli
Do you want to continue? (Y/n):

Despite this is quite annoying to say no each time, my Terraform commands don't work since it tries to parse the last sentence Do you want to continue? (Y/n):
Error parsing json result from the Azure CLI: Error unmarshaling the result of Azure CLI: invalid character 'D' looking for beginning of value.

last version 2.30.0 uninstalled with the Application Settings panel
installed the previous version with the command
  $ProgressPreference = 'SilentlyContinue';
  $version = "2.29.2";
  $Uri = "https://azcliprod.blob.core.windows.net/msi/azure-cli-$version.msi";
  Invoke-WebRequest -Uri $Uri -OutFile .\AzureCLI.msi;
  Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet';
  rm .\AzureCLI.msi

version 2.29.2 successfully installed...

az login ==> works successfully
edit of the $HOME\.Azure\config to set as below

[auto-upgrade]
enable = no

This has fixed my terraform command issue, but not the az version 2.30.0 installation issue...
Anybody else is experiencing the same kind of issue ?

@Remi-Faydide - Please use 2.29.1 version. There were multiple breaking changes released in 2.30.0 that are being investigated.

@jiasli for awareness

WinError 0
For the OSError: [WinError 0] : '' error, as described in https://docs.microsoft.com/en-us/windows/win32/debug/system-error-codes--0-499-, it should be a successful execution

ERROR_SUCCESS
0 (0x0)
The operation completed successfully.

unprotect method failed at C:\Python39\lib\site-packages\msal_extensions\windows.py, line 111:
    def unprotect(self, cipher_text):
        ...
        err_code = _GET_LAST_ERROR()
        raise OSError(256, '', '', err_code)

+ MSAL developer @rayluo
You may try az config set core.token_encryption=false to temporarily turn it off. (⚠ This is an internal experimental config option. We may change it or drop it anytime.)
az upgrade message
As for the az upgrade message, you may follow https://docs.microsoft.com/en-us/cli/azure/update-azure-cli to turn it off (as you have already did).

Just fully uninstall my installation with
...
Then, re-installed the latest version with the command from the official doc
...
Here is the result of my az login command
The command failed with an unexpected error. Here is the traceback:
[WinError 0] : ''
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  ...
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/persistence.py", line 172, in load
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/windows.py", line 111, in unprotect
OSError: [WinError 0] : ''

Hi @Remi-Faydide , the uninstall-and-reinstall would not automatically reset the data file. Would you mind manually go find and delete this file ~/.azure/msal_token_cache.bin (encrypted), and then re-run az cli 2.30?

@diondrapeck
May I suggest to re-publish 2.29.1 as 2.30.1 in the meantime whilst you are investigating especially since you say it's not just one issue.

ok here is the status with your suggestions
suggestion 1:

delete this file ~/.azure/msal_token_cache.bin (encrypted), and then re-run az cli 2.30?

check the file before deletion
gci ~/.azure/msal_token_cache.bin

    Directory: C:\Users\{username}\.azure

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          04/11/2021    17:17           9264 msal_token_cache.bin

delete the file
gci ~/.azure/msal_token_cache.bin | remove-item -Force

confirm the version of az cli
az --version
azure-cli                         2.29.2 *

core                              2.29.2 *
telemetry                          1.0.6

Extensions:
account                            0.2.1
ad                                 0.1.0
aks-preview                       0.5.26
azure-devops                      0.20.0
portal                             0.1.2
ssh                                0.1.5
subscription                       0.1.4

Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\{username}\.azure\cliextensions'

Python (Windows) 3.8.9 (tags/v3.8.9:a743f81, Apr  6 2021, 13:22:56) [MSC v.1928 32 bit (Intel)]

Legal docs and information: aka.ms/AzureCliLegal

You have 2 updates available. Consider updating your CLI installation with 'az upgrade'

Please let us know how we are doing: https://aka.ms/azureclihats
and let us know if you're interested in trying out our newest features: https://aka.ms/CLIUXstudy

check if a command respond successfully
az group list -o table
Name                             Location    Status
-------------------------------  ----------  ---------
group-1                  location1  Succeeded
group-2                  location2  Succeeded
group-3                  location3  Succeeded
group-x                  locationx  Succeeded

perform the upgrade to 2.30.0
az upgrade
This command is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Your current Azure CLI version is 2.29.2. Latest version available is 2.30.0.
Please check the release notes first: https://docs.microsoft.com/cli/azure/release-notes-azure-cli
Do you want to continue? (Y/n): y
[...]
Upgrade finished.You can enable auto-upgrade with 'az config set auto-upgrade.enable=yes'. More details in https://docs.microsoft.com/cli/azure/update-azure-cli#automatic-update

confirm the version
az --version
azure-cli                         2.30.0

core                              2.30.0
telemetry                          1.0.6

Extensions:
account                            0.2.1
ad                                 0.1.0
aks-preview                       0.5.41
azure-devops                      0.22.0
portal                             0.1.2
ssh                                0.1.8
subscription                       0.1.4

Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\{username}\.azure\cliextensions'

Python (Windows) 3.8.9 (tags/v3.8.9:a743f81, Apr  6 2021, 13:22:56) [MSC v.1928 32 bit (Intel)]

Legal docs and information: aka.ms/AzureCliLegal

Your CLI is up-to-date.

check if the command az group list -o table works successfully
az group list -o table
User {username} does not exist in MSAL token cache. Run `az login`.

perform az login
az login
The default web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with `az login --use-device-code`.
The command failed with an unexpected error. Here is the traceback:
[WinError 0] : ''
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 657, in execute
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 720, in _run_jobs_serially
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 691, in _run_job
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 328, in __call__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/profile/custom.py", line 145, in login
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/_profile.py", line 155, in login
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/auth/identity.py", line 121, in login_with_auth_code
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/application.py", line 1488, in acquire_token_interactive
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oidc.py", line 280, in obtain_token_by_browser
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oauth2.py", line 660, in obtain_token_by_browser
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/application.py", line 135, in obtain_token_by_auth_code_flow
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oidc.py", line 204, in obtain_token_by_auth_code_flow
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oauth2.py", line 548, in obtain_token_by_auth_code_flow
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oauth2.py", line 714, in _obtain_token_by_authorization_code
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oidc.py", line 115, in _obtain_token
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/oauth2cli/oauth2.py", line 771, in _obtain_token
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/application.py", line 523, in <lambda>
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/token_cache.py", line 307, in add
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/token_cache.py", line 113, in add
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal/token_cache.py", line 229, in __add
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/token_cache.py", line 44, in modify
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/token_cache.py", line 35, in _reload_if_necessary
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/persistence.py", line 172, in load
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\msal_extensions/windows.py", line 111, in unprotect
OSError: [WinError 0] : ''
To open an issue, please run: 'az feedback'

remove once again the ~/.azure/msal_token_cache.bin file and perform az login once again ==> same result
suggestion 2

You may try az config set core.token_encryption=false to temporarily turn it off. (⚠ This is an internal experimental config option. We may change it or drop it anytime.)

az config set core.token_encryption=false
Command group 'config' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus

perform az login once again ===> it works !
check if a simple command works as expected
az group list -o table
Name                             Location    Status
-------------------------------  ----------  ---------
group-1                  location1  Succeeded
group-2                  location2  Succeeded
group-3                  location3  Succeeded
group-x                  locationx  Succeeded

The document for CryptProtectData says:
https://docs.microsoft.com/en-us/windows/win32/api/dpapi/nf-dpapi-cryptprotectdata#return-value

If the function succeeds, the function returns TRUE.
If the function fails, it returns FALSE. For extended error information, call GetLastError.

In MSAL extension's code:
https://github.com/AzureAD/microsoft-authentication-extensions-for-python/blob/0.3.0/msal_extensions/windows.py#L68-L82
        if _CRYPT_PROTECT_DATA(
                ctypes.byref(message_blob),
                u"python_data",
                entropy,
                None,
                None,
                _CRYPTPROTECT_UI_FORBIDDEN,
                ctypes.byref(result)):
            try:
                return result.raw()
            finally:
                _LOCAL_FREE(result.pbData)

        err_code = _GET_LAST_ERROR()
        raise OSError(256, '', '', err_code)

_CRYPT_PROTECT_DATA returned 0 indicating False for failure, but _GET_LAST_ERROR returned 0 for success. 🤔

This is still happening in v2.38
azure-cli                         2.38.0

core                              2.38.0
telemetry                          1.0.6

Dependencies:
msal                            1.18.0b1
azure-mgmt-resource             21.1.0b1

Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\<...>\.azure\cliextensions'

Python (Windows) 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 15:58:59) [MSC v.1929 32 bit (Intel)]

Temporarily fixed it by running az account clear but it came back after adding the azure-devops extension. Removing the extension again doesn't help. Neither does setting the token encryption to false.

Brand new Azure CLI install, never used before with this account or computer:
C:\windows\system32>az --version
azure-cli                         2.41.0
core                              2.41.0
telemetry                          1.0.8
Dependencies:
msal                            1.20.0b1
azure-mgmt-resource             21.1.0b1
Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\joshua.hillerup.azure\cliextensions'
Python (Windows) 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 15:58:59) [MSC v.1929 32 bit (Intel)]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
C:\windows\system32>az login
A web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with az login --use-device-code.
Decryption failed: [WinError 0] None. App developer may consider this guidance: https://github.com/AzureAD/microsoft-authentication-extensions-for-python/wiki/PersistenceDecryptionError
Please report to us via Github: https://github.com/Azure/azure-cli/issues/20278

az --version
azure-cli                         2.43.0
core                              2.43.0
telemetry                          1.0.8
Dependencies:
msal                              1.20.0
azure-mgmt-resource             21.1.0b1
Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\rankaspl.azure\cliextensions'
Python (Windows) 3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:37:59) [MSC v.1933 32 bit (Intel)]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
az login
A web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with az login --use-device-code.
Decryption failed: [WinError 0] None. App developer may consider this guidance: https://github.com/AzureAD/microsoft-authentication-extensions-for-python/wiki/PersistenceDecryptionError
Please report to us via Github: https://github.com/Azure/azure-cli/issues/20278

FYI. Statement az config set core.encrypt_token_cache=false resolved issue on my side.

Getting this error.  This machine is a build agent in Azure, and was a GEN1 box and working fine.  Now it was converted to a GEN2 box and gets this error.
C:>az login --service-principal -u  -p  --tenant
Decryption failed: [WinError 0] None. App developer may consider this guidance: https://github.com/AzureAD/microsoft-authentication-extensions-for-python/wiki/PersistenceDecryptionError
Please report to us via Github: https://github.com/Azure/azure-cli/issues/20278
C:>az --version
azure-cli                         2.53.1
core                              2.53.1
telemetry                          1.1.0
Dependencies:
msal                            1.24.0b2
azure-mgmt-resource             23.1.0b2
Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\matt.hrynkow.so.azure\cliextensions'
Python (Windows) 3.10.10 (tags/v3.10.10:aad5f6a, Feb  7 2023, 17:05:00) [MSC v.1929 32 bit (Intel)]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
az config set core.encrypt_token_cache=false  Fixed this for me.


WIP: Adapt cluster-api-provider-bootstrap to cluster-api v1alpha2.

Did not add support for migration
Remove vendor and use go modules instead
Did not adapt the core of the adaptor yet, aka the convertion cluster-api to baremetal.
Update kustomize files to better leverage kustomize.
Use updated version for codegen , deepcopy tools...

Prematured. Need to merge additional work

@jbrette is this being worked in conjunction with https://github.com/metal3-io/cluster-api-provider-baremetal/issues/101
Arvinder already has a branch it looks like toward this effort and some design documentation.  I just wanted to make sure we weren’t overlapping efforts.


home-assistant: add override for pyowm

3.0 is not compatible with home-assistant

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@mweinelt should I add you to maintainers in home-assistant?

Sure, why not.
On 23 June 2020 02:18:43 CEST, "Jörg Thalheim"<EMAIL_ADDRESS>wrote:

@mweinelt should I add you to maintainers in home-assistant?
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/91273#issuecomment-647833035
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.