[Keyboard Manager] Fix focusable elements should have different names accessibility issue

Summary of the Pull Request
What is this about?
This PR adds code to dynamically update the AutomationProperties.Name for each row/column pair in the grid in Remap Keys/Shortcuts. This solves the accessibility issue as sibling elements will always have different names.
The names for each stackpanel/textbox/button was given as Row {rowNum}, ColumnName, to make it uniform.

The PR also makes a two line change to clean up some code for calculating rowIndex to be more scalable for future changes (using Grid.GetRow rather than manually calculating row index).

PR Checklist

[X] Applies to #6671
[X] CLA signed. If not, go over here and sign the CLA
[X] Tests passed

Info on Pull Request
What does this include?
Remap Keys

The stackpanel in the first column for each row is given the name "Row {rowNum}, Key:"
The stackpanel in the second column for each row is given the name "Row {rowNum}, Mapped To:" (the old Remapped to string was removed so that the format is standardized to use the column name).
The delete button for each row is given the name "Row {rowNum}, Delete Remapping"

Remap Shortcuts

The stackpanel in the first column for each row is given the name "Row {rowNum}, Shortcut:"
The stackpanel in the second column for each row is given the name "Row {rowNum}, Mapped To:" (the old Remapped to string was removed so that the format is standardized to use the column name).
The textbox for target app for each row is given the name "Row {rowNum}, Target App:" along with the code which was added in #6379 for adding in All Apps depending on if the box is empty. (the For target application string was removed so that the format is standardized to use the column name).
The delete button for each row is given the name "Row {rowNum}, Delete Remapping"

In both the windows above, the accessible names are set on initialization when the row is created, and in the Delete button handler, when a row is deleted, the accessible names for the rows after that row are updated (since the row index would change). We don't need to add extra logic for updating existing rows when a new row is added since rows only get added at the end.

In the KeyDropDownControl file, the ComboBox was named "Key Drop Down {index}", and this is initialized to 1 (for the first drop down in shortcut controls, and for the only drop down in single key controls). A different value is set in the AddDropDown method to the number of drop downs (Since when this gets called a drop down is added only at the end). When a drop down is deleted, all the drop downs after it are updated (since the index changes).

As part of code cleanup, two areas where rowIndex was calculated in KeyDropDownControl were changed to use Grid.GetRow rather than manually calculating it (making the code futureproof).

Validation Steps Performed
How does someone test & validate?

Run accessibility insights on the Remap keys and remap shortcuts window and validate the above issue doesn't appear.
Validate with Narrator that the correct indexes are setting on adding/deleting rows, and adding/deleting drop downs.
Validate remappings are applied correctly on adding/removing rows

Zoom issue for KBM windows - https://github.com/microsoft/PowerToys/issues/6716.

The accessible name was not showing up as expected in accessibility insights. It should say KeyDropDown 2 instead of 1.

As discussed offline this seems to be a bug in Accessibility insights since it shows the incorrect name in the highlight box but it shows up correctly in the Accessibility Insights Live Inspect window. Narrator reads out the correct name as well.

Generally in list view or any grouping (group of radio buttons or navigation view), it reads out item 1 of 10(total count). I think we should add that as well instead of just having row number.

I thought about adding this, but it might add a lot more overhead (since whenever a new row is added at the end we would have to update the names for all the controls in all rows and this could get worse if a user has many remappings, and similarly within the KeyDropDownControl as well). It would also require changes in more areas, while this should in theory get solved by the ListView change. While this is not the "ideal accessible experience" it does still resolve the major accessibility bug, so I think this could be something that gets solved with ListView rather than adding several more workarounds for the functionality.

I noticed that a lot of exceptions were being thrown especially when I was using accessibility insights. Just wanted to raise it though it doesn't seem like it is from the changes in this PR.

These seem to be Xaml Islands exceptions. Could be happening because Xaml Islands don't behave well with apps that interfere with window elements (such as the blank settings bug). This should get solved by migrating to WinUI 3.


man prints terminal escapes instead of overstrikes

Issue description
In other operating systems, man(1) prints manpages with keywords and whatnot highlighted or bolded using overstrikes.
See http://www.iitk.ac.in/LDP/HOWTO/Text-Terminal-HOWTO-17.html#ss17.12
In nixOS, keywords are highlighted or bolded using the actual terminal escape codes like ^[[1m for beginning bold mode.
This is a problem because some programs want the raw text of a manpage and expect col -b, which removes backspaces, to sanitize man output. However, since man on nixOS is printing terminal escapes, col -b does not properly sanitize man output.
Steps to reproduce

man printf > /tmp/somefile
Open somefile in an editor and look at the escape codes
Repeat steps 1-2 on macOS

Technical details

System: (NixOS: nixos-version, Ubuntu/Fedora: lsb_release -a, ...) 17.03pre99759.f66d782 (Gorilla)
Nix version: (run nix-env --version) nix-env (Nix) 1.11.6
Nixpkgs version: (run nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion) "17.03pre99759.f66d782"

Are there any updates to this issue, please?

Going to close as it has been a long time and I'm not sure if this is relevant anymore.


Download multiple episodes within same torrent

Hello guys, first of all I would like to thank you for your great work with Elementum, on my opinion it is the best torrent player available for kodi!
I am running:
Elementum v0.1.16
LibreELEC with Kodi v18.1
Raspberry Pi 3 B
and it works like a charm! It gives me an option to download all the episodes within the same torrent at once, but this option is gone after the latest updates, so I had to go back to v0.1.16.
It would be great if this option could be brought back into the newest releases and also if it could be made explicit available, like an popup option.
The steps that I am current following to download multiple episodes within same torrent on v0.1.16 are:

Setup Elementum to download torrents using files, and not the memory option;
Open Elementum and search for torrent using Elementum Burst;
Choose the torrent to downlod from the list generated;
Wait for the popup screen shows up and list all the files or episodes available within the torrent chosed;
Since I want to download all of them, I press the back button and do not choose any of the listed episodes within the torrent;
Elementum then starts the download of all the files or episodes inside the torrent.

Thanks again for your work and patience!
Best Regards

@tupc10 actually, that was a bug, because not choosing anything means nothing should be downloaded.
Kodi does not allow adding simple button to that dialog or choosing file.
But I will look on other options.

Hello @elgatito, thanks for your quick reply! I see, it really makes sense that was a bug and not meant to happen..
I would be very pleased if you really could take a look at this, it is nothing pleasant to download all the episodes within a torrent clicking one by one kkk...
I know very little about Kodi interface, specially after Leia update, but some ideas that come to my mind and seem simpler to implement are:
-> Add an item named for example "All content" into the list of episodes, for downloading all of them (maybe need to be done at Elementum Burst side);
-> Enable Kodi Context Menu over the list of torrent generated by Elementum Burst, with an option for "Download all content" of the chosen torrent;
-> Return the "bug" and its original funcionality to Elementum, allowing to download all content of torrent when no item is chosen from the episodes list.
I hope to have helped and not created a big problem for you by asking this.
Anyway, thanks again for understanding and for your consideration!
Best Regards

Regarding for a Season torrent, In quasar you could chose the specific episode and download, then it was changed so instead selecting the specific episdoe it was donw automatically for you according to the episode you press on.

Is there any option for downloading the whole season?
Is there a setting for disable/enable this option of automatically selection of episode for downloading?

I think, the best behavior for this - auto-download the next one episode, when the current episode began to play, and fully downloaded. This behavior was implemented in the "torrenter" kodi plugin, and it was very convenient.

Hello again,
Any news about this topic? For me it really doesn't matter to have an user-friendly option for this funcionality or to have it enhanced. Just having it back as it was on v0.1.16 would be really great. Then I could update my addon to the last version that has better torrent pause/resume perfomance and won't be stuck on this old version anymore.
Please, if it is not asking too much and it is not a big deal, rollback this funcionality as it was on v0.1.16! Thanks again and best regards!

There are few options for this issue.
If you add torrent with multiple files (and you use files for downloading, not memory), then you can go to list of torrents, and in context menu check "Download all" to start downloading all files.
Another option. If you go to list of episodes and in context menu check "Play from ... " (which adds all episodes in the playlist), and check torrent with multiple files, then torrent will start downloading at the end of current episode, and torrent will not be closed until you stop the playlist.
This is so-called auto-play for next episode.

Regarding the first option, when I press on "Download all", will it add all the episodes to the Torrents list and download them separatly or it still remains as one torrent so after the current episode will be done it will start to download all the others?
Additional option I think about is to open a dialog with all the contained episodes in the Season torrent, mark only the episode you want from the list, so it will download only the marked episodes. Is it possible?

Regarding the first option, when I press on "Download all", will it add all the episodes to the Torrents list and download them separatly or it still remains as one torrent so after the current episode will be done it will start to download all the others?

No. You can't add same torrent twice. Download starts when you are almost done with current episode.

Additional option I think about is to open a dialog with all the contained episodes in the Season torrent, mark only the episode you want from the list, so it will download only the marked episodes. Is it possible?

Not possible with Kodi.

Hello, I never had the opportunity to thank you! I tested the "Download ALL" option that you created and it works as expected, thank you for your great work, @elgatito! I just had some difficulties to use this option when the torrent comes from elementum Burst search, because it starts downloading before I could check the option to "Download ALL". Anyway, I believe to have found a way to use it with Burst, I just need to go to torrents section and pause or restart the download after choosing the "Download ALL" option. Thanks again! Best regards


Validates that value template refs must have unique property URIs.

closes #1529

This can be tested with test:RT:bf2:RareMat:Instance, which is available as a fixture.


Doesn't work with current version of verb

Hi,
doesn't seem to work with the current/latest version of verb.
Regards
Stefan

Never mind, was my problem, figured out how to get it working.


Refactor epics tests fixtures for action$, state$ and latest$

Description
Currently, our epics tests fixtures are each one done in its own way. Some with action/state passed with of, some with Subject/BehaviorSubject constructed in place, some with it done per suite.
We need to standardize it, and also make sure they're always re-defined/initialized between tests.
Acceptance criteria

epics tests are standardized, and can use latest$ properly
fixtures and mocks are reset and re-initialized, for independent testing

this should fix one test affecting the following ones

Tasks

[x] action$ is a Subject provided from fixture
[x] state$ is a BehaviorSubject started with initial state from fixture
[x] latest$ is wired from action$ & state$ with getLatest$
[ ] They're all completed afterEach test, and initialized beforeEach
[ ] All test suites (at least unit, for now) should survive mockReset afterEach, be pristine after each, and any default mock be put again in place.

The fixtures were implementeded. The transfers tests were converted in #1068 . Transport was done as well.

I did the fixtures, and some tests, but the channels.spec.ts still needs to be finished, and someone else could do it. Nonetheless, this is releated and may be done in the scope of the tests refactoring at #1268

Sure either I or Thomas can do it.

Superseded by #1377


Global DB select

Hi, this is more like a question then an issue.
Is there way for selecting DB for all connection, using predis client?
I have in parameters.yml parameter, array of my redis servers (for load balance).
I am using all this servers, but I want select different database for each client.
When I am using one redis server it looks like this:
clients:

    default:
        type: predis
        alias: default
        dsn: %redis_dsn%
        logging: false
        options:
            replication: true

    doctrine:
        type: predis
        alias: doctrine
        dsn: %redis_dsn%/1
        options:
            replication: true

But there is problem when 'redis_dsn' contains array. I would need something like this:
    doctrine:
        type: predis
        alias: doctrine
        dsn: %redis_dsn%
        select: 1
        options:
            replication: true

I hope it is clear what I want to achieve.

I think you'll have to run with duplicates dsns per client to achieve this, as it would require modifying the dsns to apply the select, might get tricky, and it's not possible right now.
If you'd like to work on a patch doing it I don't think it's impossible but not a very common feature I think so I'm closing the issue for now.

I've made some "hot fix" for it for now. In parameters.yml I set database number for the client that has to have data aside of other clients data. In methods that are calling redis and this client I am doing firstly SELECT.
It is not very nice solution but it does it's job.
I will think about the patch if I found more places to use this approach.


lncli sendpayment/payinvoice hangs with no response when capacity is insufficient

I've observed this behavior on multiple nodes so it isn't isolated. Calling lncli payinvoice or lncli sendpayment --pay_req when channel capacity is insufficient causes the commands to hang.
From the receiving node:
$ lncli addinvoice --value 100000
{
        "r_hash": "2a5630d4f1fdd01b45ade6194930a43d9ae0c4658993e998d970b8dc43066468",
        "pay_req": "lntb1m1pdydtu8pp59ftrp483lhgpk3dducv5jv9y8kdwp3r93xf7nxxewzudcscxv35qdqqcqzys9q062arzhw759uv6twpndw0dscrc3u7m8vxhdzf62gcacv3kdq2kqyha9tcleghxkt20yszlvp4efw44fv4fr6r6yj98d79pg7sjfqgqwjefzx"
}

Then trying to pay the invoice on the sending node using one of the commands above then causes the console to hang. I grabbed the following from the lnd output:
2017-12-29 21:12:47.722 [ERR] CRTR: Attempt to send payment 2a5630d4f1fdd01b45ade6194930a43d9ae0c4658993e998d970b8dc43066468 failed: TemporaryChannelFailure: insufficient capacity in available outgoing links: need 100002200 mSAT, max available is 52796000 mSAT
2017-12-29 21:12:49.450 [ERR] CRTR: Attempt to send payment 2a5630d4f1fdd01b45ade6194930a43d9ae0c4658993e998d970b8dc43066468 failed: TemporaryChannelFailure

If you look at the logs for Mission Control, do you see any lingering activity? Atm, we don't have an upper bound on our number of attempts, which itself is a bug. If your machine is slow, or is doing a ton of other activities, then with the way our timeouts are considered, it may prune an edge, attempt another payment, then by the time the payment fails, that edge is unpruned again.

I don't see Mission Control in the logs but I do see multiple lines of Attempt to send payment over ~2 minutes or so, I think that's about how long I waited before killing the command . One machine I observed this on was slow, the other was using modern hardware. If I see this again I'll let it run for a while and keep a close eye on the logs.

I have been getting sending/routing hangs as well. I hadn't correlated it to a funding issue, but for example i sent small payments to htlc.me which worked then shortly after a larger payment which hangs. Subsequent attempts with lower amounts are also hanging until a service restart. queryroutes often hangs as well even with small amounts.

Update: queryroutes did work with small amounts but took an hour and returned 100s of results!


chore: fix auto license update

Coverage remained the same at 100.0% when pulling b814a7ed98d7c6ba8c6f85ba3ffb8f3230752f63 on fix-auto-license-update into 625b86295abc615879b20335729a820e7f7059f4 on main.

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Voicemail Group(s) option

Can we get the Voicemail / Voicemail (Shared) options for Auto Attendant and for Call Queues updated to it included Distribution Groups?  Its not just M365 Groups, Distribution Groups also work and have been for more than 2 years since I've noticed.
In the TAC Instead of just "Search for a Microsoft 365 Group" it should be "Search for a Microsoft 365 Group, Distribution Group or Mail Enabled Security Group".  Security groups, or basically non-mail-enabled groups are all that do not work.
Korbyn

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

ID: ba71bea5-f386-7dcd-0c24-053f9ed0f4f1
Version Independent ID: ba71bea5-f386-7dcd-0c24-053f9ed0f4f1
Content: Plan your call routing flow for Microsoft Teams - Microsoft Teams
Content Source: Teams/plan-your-call-routing-flow.md
Service: msteams
GitHub Login: @DaniEASmith
Microsoft Alias: danismith

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

There’s nothing to resolve.  I, and many many customers love the fact we can use DG’s and mail-enabled Security Groups instead of M365 groups.  I’m suggesting that the web page documenting Voicemail Shared and the Teams Admin Console be updated to reflect this.
From: Manuela Scanu @.>
Sent: Monday, July 10, 2023 8:51 PM
To: MicrosoftDocs/OfficeDocs-SkypeForBusiness @.>
Cc: Korbyn72 @.>; Author @.>
Subject: Re: [MicrosoftDocs/OfficeDocs-SkypeForBusiness] Voicemail Group(s) option (Issue #10172)
Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/10172#issuecomment-1630066986, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AG32UAJVSR4IDJHBUVVJZP3XPTER7ANCNFSM6AAAAAA2CDMZ5U.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

I have tested this. and it seems we can add Distribution list and mail-enabled security groups under voicemail option.
@get-itips can you please look into this and confirm the same?

Can we get an ETA when this doc will be updated? Many of our customers need to see our public docs to ensure confidence in supportability.

Hello I am looking into this


Update docs chronos

Added Chronos 2.4.0 to the list of versions tested by Travis.
Updated the docs a little.

So great!


Decouple the pipeline package from the datastore.

Thepipeline.Response type currently handles persisting to the queue and event store directly. queue.Queue is notified about new messages via an observer. This logic could be much more direct, since it's not optional.
The queue package is already the one place that reads from the queue store, and it's already handling the writes for CommandExecutor, it makes sense to localise all of this related behavior.
The same thing will need to be done for the eventbuffer, or whatever the thing that #74 introduces ends up being called.

The pipeline package no longer exists as of #251.


Confusing behavior with single quotes in filename

Just so happened that the video I used for trying this out contained a single quote character :)
% ab-av1 crf-search --temp-dir /tmp --preset 8 -i Australia\'s\ 3,488\ Mile\ Long\ Fence-qKX9Oq8UvBI.mkv
[…] Encode with: ab-av1 encode -i "Australia\'s 3,488 Mile Long Fence-qKX9Oq8UvBI.mkv" --crf 48 --preset 8

The suggested command uses both escaping and double quoting, which is incorrect — it makes zsh pass the escaping slash as a literal slash in the argument…
% ab-av1 encode -i "Australia\'s 3,488 Mile Long Fence-qKX9Oq8UvBI.mkv" --crf 48 --preset 8 -o /tmp/test.webm
Error: ffmpeg yuv4mpegpipe exit code Some(1)

…and then, seems like ab-av1 doesn't check the input file's existence, leaving that to ffmpeg, and hides ffmpeg's output (#1) so the result is a very unhelpful message.

Fair point, I've just been using the Path/PathBuf debug impl as it seemed to mostly work. We can fix this by actually escaping the path for a shell.
And yeah I need to get around to #1 for sure.

I've added shell escaping for that hint, it'll be in the next release.


[Bug] [Helm] sharedFilesystemPath Missing

The config.json field sharedFilesystemPath is not set in the ConfigMap template, despite being present in the values.yaml. This means that instances deployed by helm cannot use the ReadWriteMany access mode.

Thank you for the fix. I think we should generate the deply manifest from the heml chart to avoid this kind of bug in the future

Hi,
I have the same issue in v0.0.23. it ignores the sharedFileSystemPath parameter, and as nodePathMap is set to [] , the storageclass doesnt work.
Thanks for the fix, hope it will be soon included.
Regards,


change Endpoint to Azure

Since the open AI API is available in azure, is there a possibility to change to endpoint to azure.
or will there be a plan to add this feature

Hi @timmoh
Thank you for raising this issue.
I took a closer look into the Azure documentation and it looks like it is not enough to just change the endpoint url. It additionally requires an api-version query parameter.
See: https://learn.microsoft.com/en-us/azure/cognitive-services/openai/reference#completions
And the endpoint url itself is not static too as it contains your personal resource-name and deployment-id
Are you using Azure and can you confirm my findings?

Just jumping in here, I can confirm this. The  URL structure is for example:
{openai_api_base}/openai/deployments/{deployment_name}/completions?api-version={openai_api_version}

Hi @duellsy
Thank you for the confirmation.
I think the upcoming change to the package would help here: https://github.com/openai-php/client/pull/75
The only thing we would have to add is a new method to the factory where arbitrary values can be passed to be used as query parameters:
->withQueryParams(['api-version' => '<version>'])

Neat 🙌
I couldn't see how that would end up with the correct full endpoint as above though?
Unless you were meaning that it's currently a big step in that direction, in which case my apologies.

Sorry, if it wasn't clear 😅  Here is the full example:
$client = OpenAI::factory()
    ->withBaseUrl('https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}')
    ->withHttpHeader('api-key', '{your-api-key}')
    ->withQueryParams(['api-version' => '{version}'])
    ->make();

Ha! Beat me to it, I was just about to say the entire URL up to /completions could be used as the base URL ✌

This should now work using the newly introduced factory:
$client = OpenAI::factory()
    ->withApiKey('<your-api-key>')
    ->withBaseUri('{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}')
    ->withHttpHeader('api-key', '{your-api-key}')
    ->withQueryParam('api-version', '{version}')
    ->make();

@duellsy Could you please verify this for us?

Nice one. It works well, a few notes:
->withApiKey() is not needed, since ->withHttpHeader() handles it.
So the setup needed is just:
$client = OpenAI::factory()
    ->withBaseUri('{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}')
    ->withHttpHeader('api-key', '{your-api-key}')
    ->withQueryParam('api-version', '{version}')
    ->make();

With Azure, you need to deploy a model (which is the {deployment-id}) so the model is already baked into that, meaning you don't need to supply the model when making the calls as it's part of the BaseUri (it does nothing if you supply it, so not a cause for concern).
So a minimal sample completion call is just:
$result = $client->completions()->create([
    'prompt' => 'PHP is'
]);

@duellsy I thought it would be nice to have a section in the Readme about this.
Glad if you could give it a look as I am not into Azure at all ;)
https://github.com/openai-php/client/pull/109/files

LGTM 👍


Refactor proposal schema & add All tab to proposal list

Changes
Backend
Redefined proposal schema for proposal history

renamed ProposalFilter to ProposalStatusFilter
modified FollowingAddress into AddressFilter
added comments for documentation

Frontend

created useSearchParamsObject hook
added All tab for proposal list

refs oursky/likedao#175, oursky/likedao#180

@hochiw I realised I made a few mistakes when refactoring the react-app part of this PR and have re-written all the react-app commits. sorry for any inconveniences caused 🙇


Make dotnet build work on non-Windows platform (*nix, MacOS)

As of the moment, running dotnet build fails on non-Windows platforms due to net46 being among the default target frameworks.
Small nuance, but nice to have instead of having to change the target frameworks manually.

Fixed by #1065


ME simulation for FMI3 [BETA]

check implementation of ME simulation for FMI3 (missing dynamics)

should work in v0.14 now


What is the purpose of the new HTTPPost operator

What is the purpose of the new HTTPPost operator or
why can the operator com.ibm.streamsx.inet.http::HTTPRequest not be used in this case?
Are there features missing?

Hi Joerg,
I explained this to you sometime in May/2020. It was requested by a customer for them to test and accept the use of IBM Streams in a public cloud deployment. Following are some of the key reasons. I can discuss more details with you if you can ping me via slack later this week.

They wanted simplicity in this operator to have the exact features they needed without other bells and whistles and for it to be in the same toolkit as the C++ WebSocket operators they needed for their work.
They had severe performance issues in sending data from the Cloud Data Center (in city A) to their corporate network (in city B that is 1200 miles away) over a non-dedicated network link via the public Internet. So, we had to iteratively build a slim operator that met their acceptance criteria.
They wanted an easy way to send text/binary data and receive text/binary data from/to their applications all using a single operator. It was an important requirement they had.
Customer wanted to send many request headers and receive many response headers from/to their applications as a map. That is the approach they preferred.

Oh Sorry I forgot this.


Spelling fixes in the README

Coverage remained the same at 100.0% when pulling 50e31b46bdee71823f81f52eb50d3bcfdef05232 on alexwlchan:readme-corrections into 336f218999297c0dd8b5fb41216be062c5c1b04c on PyconUK:master.


fix: Correct issue where custom launch template is not used when EKS managed node group is used externally

Description

correct issue where custom launch template is not used when EKS managed node group is used externally
update documentation and provide example of utilizing containerd runtime on EKS managed node group
update static AMI IDs in examples to use data source; ensures the current AMI is always pulled when testing
minor formatting for correct use of EOT and left aligning text

Motivation and Context

Closes #1816
There have been a number of questions regarding the EKS managed node group user data and configuring the bootstrap process (specifically around enabling the containerd runtime) and hopefully this helps clear things up for users

Breaking Changes

No

How Has This Been Tested?

[x] I have tested and validated these changes using one or more of the provided examples/* projects
- Using the eks-managed-node-group example
- eks-manged-node-group example was deployed as its defined today
- Added in sub-module snippet provided in issue here https://github.com/terraform-aws-modules/terraform-aws-eks/issues/1816
- 2nd apply created new node group using external sub-module - confirmed that the node group was not using the custom launch template
- Found issue and made correction on line 33 (see below) - re-ran plan and apply - only the external sub-module node group was affected and it was an update to use the custom launch template (desired affect)

This PR is included in version 18.2.5 :tada:


Istio k8s Ingress fails to route to backend if k8s ingress is using named port

Bug description
Istio k8s Ingress fails to route to backend if k8s ingress is using named port
[ ] Docs
[ ] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
Istio k8s Ingress is able to route to backend if k8s ingress is using named port
Steps to reproduce the bug

deploy goldpingger and enable ingress
test ingress:

curl -I http://goldpinger.mydomain
HTTP/1.1 404 Not Found
date: Wed, 16 Sep 2020 23:26:04 GMT
server: istio-envoy
transfer-encoding: chunked
X-Content-Type-Options: nosniff

Edit ingress resource and change servicePort from http to 80:

....
spec:
  rules:
  - host: goldpinger.mydomain
    http:
      paths:
      - backend:
          serviceName: goldpinger
          servicePort: http
        path: /*

Test ingress:

curl -I http://goldpinger.mydomain
HTTP/1.1 200 OK
accept-ranges: bytes
content-length: 21108
content-type: text/html; charset=utf-8
last-modified: Wed, 08 Apr 2020 12:34:59 GMT
date: Wed, 16 Sep 2020 23:38:11 GMT
x-envoy-upstream-service-time: 1
server: istio-envoy
X-Content-Type-Options: nosniff

Version (include the output of istioctl version --remote and kubectl version --short and helm version if you used Helm)
istioctl version --remote
client version: 1.6.7
control plane version: 1.6.7
data plane version: 1.6.7 (2 proxies)

kubectl version --short
Client Version: v1.15.12
Server Version: v1.15.12

 helm version
version.BuildInfo{Version:"v3.2.3", GitCommit:"8f832046e258e2cb800894579b1b3b50c2d83492", GitTreeState:"clean", GoVersion:"go1.13.12"}

How was Istio installed?
using helm
Environment where bug was observed (cloud vendor, OS, etc)
BYO GCE K8s

#24843 this was added in Istio 1.7

ok, thank you


Show newly available namespaces when loading dependencies

There are dependencies where the names and the packages provided differ, sometimes substantially.
In my experience, it's annoying to add a dependency and then having to search which packages have actually become available.
It would be cool if amm provided some helpful hints when loading a dependency, like:
loaded foo-bar, new available packages: org.foo.bar, org.foo.internal

Closing this as a wishlist item; if anyone wants to take a crack at it, go ahead


Installing 0.9.0 has some warnings around multikueue

What happened:
I ran kubectl apply --server-side -f https://github.com/kubernetes-sigs/kueue/releases/download/v0.9.0/manifests.yaml and I see the following warnings:
Error from server (Invalid): CustomResourceDefinition.apiextensions.k8s.io "multikueueclusters.kueue.x-k8s.io" is invalid: status.storedVersions[0]: Invalid value: "v1alpha1": must appear in spec.versions
Error from server (Invalid): CustomResourceDefinition.apiextensions.k8s.io "multikueueconfigs.kueue.x-k8s.io" is invalid: status.storedVersions[0]: Invalid value: "v1alpha1": must appear in spec.versions

What you expected to happen:
I don't expect to see this warnings.
How to reproduce it (as minimally and precisely as possible):
Install Kueue 0.9.0 (ie kubectl apply --server-side -f https://github.com/kubernetes-sigs/kueue/releases/download/v0.9.0/manifests.yaml)
Anything else we need to know?:
Environment:

Kubernetes version (use kubectl version): 1.31
Kueue version (use git describe --tags --dirty --always): 0.9.0
Cloud provider or hardware configuration:
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

/close
This may have been a user error.


refactor: implement helper to abstract Configure & Metadata provider …

…methods

IMHO, to reduce duplicate boilerplate, I’m not a fan of introducing six different structs and additional methods to achieve the goal. To me, this approach introduces more complexity instead of simplifying the structure.
I believe we can achieve a more straightforward and concise solution, like the one below:
There will be two structs (one for data sources and one for resources) that work regardless of whether they are in the dedicatedserver or publiccloud package.
// For data source
type DataSourceAPI struct {
    Name   string
    Client client.Client // Generalized for both DedicatedServerAPI and PublicCloudAPI
}

func (b *DataSourceAPI) Configure(
    _ context.Context,
    req datasource.ConfigureRequest,
    resp *datasource.ConfigureResponse,
) {
    // Common client assignment logic
    coreClient, ok := req.ProviderData.(client.Client)
    b.Client = coreClient
}

func (b *DataSourceAPI) Metadata(
    _ context.Context,
    req datasource.MetadataRequest,
    resp *datasource.MetadataResponse,
) {
    resp.TypeName = fmt.Sprintf("%s_%s", req.ProviderTypeName, b.Name)
}

// For resource
type ResourceAPI struct {
    Name   string
    Client client.Client // Generalized for both DedicatedServerAPI and PublicCloudAPI
}

func (b *ResourceAPI) Configure(
    _ context.Context,
    req resource.ConfigureRequest,
    resp *resource.ConfigureResponse,
) {
    // Common client assignment logic
    coreClient, ok := req.ProviderData.(client.Client)
    b.Client = coreClient
}

func (b *ResourceAPI) Metadata(
    _ context.Context,
    req resource.MetadataRequest,
    resp *resource.MetadataResponse,
) {
    resp.TypeName = fmt.Sprintf("%s_%s", req.ProviderTypeName, b.Name)
}

To use the struct, data source and resource
// Example usage in a data source
type credentialDataSource struct {
    utils.DataSourceAPI
}

func NewCredentialDataSource() datasource.DataSource {
    return &credentialDataSource{
        DataSourceAPI: utils.DataSourceAPI{
            Name: "public_cloud_credential",
        },
    }
}

// Example usage in a resource
type credentialResource struct {
    utils.ResourceAPI
}

func NewCredentialResource() resource.Resource {
    return &credentialResource{
        ResourceAPI: utils.ResourceAPI{
            Name: "public_cloud_credential",
        },
    }
}

I understand, it’s a trade-off and difficult to reach a consensus on.
Let's see if other team members have any opinions or any different way to approach this.

IMHO, to reduce duplicate boilerplate, I’m not a fan of introducing six different structs and additional methods to achieve the goal. To me, this approach introduces more complexity instead of simplifying the structure.
I believe we can achieve a more straightforward and concise solution, like the one below:
There will be two structs (one for data sources and one for resources) that work regardless of whether they are in the dedicatedserver or publiccloud package.
// For data source
type DataSourceAPI struct {
    Name   string
    Client client.Client // Generalized for both DedicatedServerAPI and PublicCloudAPI
}

func (b *DataSourceAPI) Configure(
    _ context.Context,
    req datasource.ConfigureRequest,
    resp *datasource.ConfigureResponse,
) {
    // Common client assignment logic
    coreClient, ok := req.ProviderData.(client.Client)
    b.Client = coreClient
}

func (b *DataSourceAPI) Metadata(
    _ context.Context,
    req datasource.MetadataRequest,
    resp *datasource.MetadataResponse,
) {
    resp.TypeName = fmt.Sprintf("%s_%s", req.ProviderTypeName, b.Name)
}

// For resource
type ResourceAPI struct {
    Name   string
    Client client.Client // Generalized for both DedicatedServerAPI and PublicCloudAPI
}

func (b *ResourceAPI) Configure(
    _ context.Context,
    req resource.ConfigureRequest,
    resp *resource.ConfigureResponse,
) {
    // Common client assignment logic
    coreClient, ok := req.ProviderData.(client.Client)
    b.Client = coreClient
}

func (b *ResourceAPI) Metadata(
    _ context.Context,
    req resource.MetadataRequest,
    resp *resource.MetadataResponse,
) {
    resp.TypeName = fmt.Sprintf("%s_%s", req.ProviderTypeName, b.Name)
}

To use the struct, data source and resource
// Example usage in a data source
type credentialDataSource struct {
    utils.DataSourceAPI
}

func NewCredentialDataSource() datasource.DataSource {
    return &credentialDataSource{
        DataSourceAPI: utils.DataSourceAPI{
            Name: "public_cloud_credential",
        },
    }
}

// Example usage in a resource
type credentialResource struct {
    utils.ResourceAPI
}

func NewCredentialResource() resource.Resource {
    return &credentialResource{
        ResourceAPI: utils.ResourceAPI{
            Name: "public_cloud_credential",
        },
    }
}

I understand, it’s a trade-off and difficult to reach a consensus on. Let's see if other team members have any opinions or any different way to approach this.

This wont' work as the client can be either publicCloudAPI or dedicatedServerAPI. In that case in every single resource you would have to call client.dedicatedServerApi.doSomething instead of client.doSomething. I've simplified the helpers as much as possible in the latest commit.

IMHO, to reduce duplicate boilerplate, I’m not a fan of introducing six different structs and additional methods to achieve the goal. To me, this approach introduces more complexity instead of simplifying the structure.
I believe we can achieve a more straightforward and concise solution, like the one below:
There will be two structs (one for data sources and one for resources) that work regardless of whether they are in the dedicatedserver or publiccloud package.
// For data source
type DataSourceAPI struct {
    Name   string
    Client client.Client // Generalized for both DedicatedServerAPI and PublicCloudAPI
}

func (b *DataSourceAPI) Configure(
    _ context.Context,
    req datasource.ConfigureRequest,
    resp *datasource.ConfigureResponse,
) {
    // Common client assignment logic
    coreClient, ok := req.ProviderData.(client.Client)
    b.Client = coreClient
}

func (b *DataSourceAPI) Metadata(
    _ context.Context,
    req datasource.MetadataRequest,
    resp *datasource.MetadataResponse,
) {
    resp.TypeName = fmt.Sprintf("%s_%s", req.ProviderTypeName, b.Name)
}

// For resource
type ResourceAPI struct {
    Name   string
    Client client.Client // Generalized for both DedicatedServerAPI and PublicCloudAPI
}

func (b *ResourceAPI) Configure(
    _ context.Context,
    req resource.ConfigureRequest,
    resp *resource.ConfigureResponse,
) {
    // Common client assignment logic
    coreClient, ok := req.ProviderData.(client.Client)
    b.Client = coreClient
}

func (b *ResourceAPI) Metadata(
    _ context.Context,
    req resource.MetadataRequest,
    resp *resource.MetadataResponse,
) {
    resp.TypeName = fmt.Sprintf("%s_%s", req.ProviderTypeName, b.Name)
}

To use the struct, data source and resource
// Example usage in a data source
type credentialDataSource struct {
    utils.DataSourceAPI
}

func NewCredentialDataSource() datasource.DataSource {
    return &credentialDataSource{
        DataSourceAPI: utils.DataSourceAPI{
            Name: "public_cloud_credential",
        },
    }
}

// Example usage in a resource
type credentialResource struct {
    utils.ResourceAPI
}

func NewCredentialResource() resource.Resource {
    return &credentialResource{
        ResourceAPI: utils.ResourceAPI{
            Name: "public_cloud_credential",
        },
    }
}

I understand, it’s a trade-off and difficult to reach a consensus on. Let's see if other team members have any opinions or any different way to approach this.

This wont' work as the client can be either publicCloudAPI or dedicatedServerAPI. In that case in every single resource you would have to call client.dedicatedServerApi.doSomething instead of client.doSomething. I've simplified the helpers as much as possible in the latest commit.

One solution could be, specify both clients in base structs, for both cases data source & resource
type DataSourceAPI struct {
    Name   string
    PublicCloudClient publiccloud.PubliccloudAPI
    DedicateServerClient dedicatedserver.DedicatedserverAPI
}

and then from configure, initialize both client like
func (b *DataSourceAPI) Configure(
    _ context.Context,
    req datasource.ConfigureRequest,
    resp *datasource.ConfigureResponse,
) {
    // Common client assignment logic
    coreClient, ok := req.ProviderData.(client.Client)
    b.PublicCloudClient = coreClient.PubliccloudAPI
    b.DedicateServerClient = coreClient.DedicatedserverAPI
}

And then, we can use as PublicCloudClient.doSomething()
FYI, I haven't tested it.
If this doesn't work, or we're not happy in this way. Then I feel, time comes to think again, do we really need these types of changes or not?

@imtiazPabel That should work, I'm fine with this solution.

@imtiazPabel That should work, I'm fine with this solution.

Thanks for your effort. I'm okay with this approach. Just wanted to confirm if the rest of the team is aligned or if they have any other suggestions.


Support aufs resin sync

Must be merged after https://github.com/resin-io-modules/resin-sync/pull/100
Closes #415

@emirotin @pimterry verified that this PR supports AUFS resin sync on both staging and production. Am I good to merge? The resin ssh bug mentioned in this thread was already existing, so we will be able to publish a new resin-cli version after the next resin-api deployment

I have no objections.


Heapster Deployment Broken

The heapster deployment seems to be broken because in the Ansible playbooks because of a recent-ish change to the controller definition to allow for dynamic configurations. I suspect this is usually handled by Salt, but this does not occur during an Ansible based deployment. Here is the relevant commit that seems to introduce this issue:
https://github.com/kubernetes/kubernetes/commit/eee87558e06e07ee62362c61c3d0b49e29de4fdf
Removing the templating from the top of the service file seems to allow for creation as expected.

@rsmitty I haven't tested #339, but it should fix your problem. Are you able to test?


use routing-controllers

I have immodest question - why not to use routing-controllers? I think it have all features you need...

Yea I like what you've done with routing-controllers, however due to architecture decisions with how the ubiquits framework is bootstrapped, there would have to be a huge amount of coercing routing-controllers to work how I require.
Besides, I've implemented most (all?) of the features routing-controllers offers already and 100% unit tested

😞


Ensure chart.ctx exists during deferred updates

Ensure the chart instance is still alive. It may have been destroyed during a delay and calling chart.update() will fail. The most common reason for such scenario is user navigation.
Steps:

open a view with the chart that has a deferred render;
close a view before the delay timer expires.

After the second step both chart.ctx and chart.canvas won't exist.
Note that chart.canvas is a reference of chart.ctx.canvas.
Fixes #13

Merged in ed96880df3a93490c05fda44942334ce0bdabf83.
Thanks a lot @BR0kEN-!


Namespace switch

It changed from javax to jakarta and OSGi Technology Whiteboard Implementation for Jakarta RESTful Web Services moved to the Eclipse Foundation. It is probably time for an update here as well.

Hi @Mailaender.   This provider was written to use the HTTP Service (registerServlet), as there was no whiteboard OSGI spec at the time.
I have no objection to moving to the whiteboard API and impls and I don't think it will be incredibly hard to do so.   However, it will take a significant amount of refactoring of the existing ECF code, and it's probably going to be necessary for me to do much of that refactoring to avoid removing already-present extensibility in the provider (e.g. the ability to use jersey or other jaxrs impls).
One additional thing to look for: Is there an OSGi HTTP Service-like spec and implementation that uses jakarta servlet (new) namespace?...i.e. without  using whiteboard (i.e. with a registerServlet that has jakarta servlet classes as arguments).

Okay, then I misunderstood. I only want to change from javax → jakarta, actually.

Easier said then do though as an upstream project still relies on javax
[ERROR] Cannot resolve dependencies of project org.eclipse.ecf.jaxrs:org.eclipse.ecf.provider.jaxrs.server:eclipse-plugin:1.11.1-SNAPSHOT
[ERROR]  with context {osgi.os=win32, osgi.ws=win32, org.eclipse.update.install.features=true, osgi.arch=x86, org.eclipse.update.install.sources=true}
[ERROR]   Software being installed: org.eclipse.ecf.provider.jaxrs.server 1.11.1.qualifier
[ERROR]   Missing requirement: com.fasterxml.jackson.jaxrs.jackson-jaxrs-base 2.17.1 requires 'java.package; javax.ws.rs.core [2.0.0,2.2.0)' but it could not be found
[ERROR]   Cannot satisfy dependency: org.eclipse.ecf.provider.jaxrs.server 1.11.1.qualifier depends on: java.package; com.fasterxml.jackson.jaxrs.base 2.9.2:

although I am not sure where exactly.

Easier said then do though as an upstream project still relies on javax
[ERROR] Cannot resolve dependencies of project org.eclipse.ecf.jaxrs:org.eclipse.ecf.provider.jaxrs.server:eclipse-plugin:1.11.1-SNAPSHOT
[ERROR]  with context {osgi.os=win32, osgi.ws=win32, org.eclipse.update.install.features=true, osgi.arch=x86, org.eclipse.update.install.sources=true}
[ERROR]   Software being installed: org.eclipse.ecf.provider.jaxrs.server 1.11.1.qualifier
[ERROR]   Missing requirement: com.fasterxml.jackson.jaxrs.jackson-jaxrs-base 2.17.1 requires 'java.package; javax.ws.rs.core [2.0.0,2.2.0)' but it could not be found
[ERROR]   Cannot satisfy dependency: org.eclipse.ecf.provider.jaxrs.server 1.11.1.qualifier depends on: java.package; com.fasterxml.jackson.jaxrs.base 2.9.2:

although I am not sure where exactly.

Yeah.   This is why I didn't do the changeover years ago unfortunately (the references to javax.servlet...in OSGI HTTPService and ECF provider code and javax.jaxrs...in ECF provider code and jersey, and jersey's dependencies [in this specific case, fasterxml but there could be others].
If you want to continue this changeover effort I will help as much as possible.   Note I've already got a branch named:  jersey_3_0_0 where I got much of the way...but was stopped by the OSGi HTTP Service requiring/using javax.servlet (for HTTPService registerService in jersey.server bundle).  I can't remember at the moment whether there were other deps unresolved (e.g. jackson).


Unable to video stream using ROS tello driver

Greetings,
I have trouble streaming live video using ROS Tello package (specifically the tello_driver tello_node.launch). I run into this error:
[ERROR] [1548937379.184698]: fgrab: pyav stream failed - [Errno<PHONE_NUMBER>] Invalid data found when processing input: ''

For me, this typically means that the Wifi connection to the drone is unstable and noisy. Try again with the drone next to the WiFi antenna, and/or use a WiFi dongle with full-length antenna, and/or use a WiFi repeater.
Good luck.

I encountered the similar problem, The words taht "[ERROR] [1553923975.539334]: fgrab: pyav stream failed - Expected bytes, got VideoStream" always are sent. How can we resolve it?

I encountered the similar problem, The words taht "[ERROR] [1553923975.539334]: fgrab: pyav stream failed - Expected bytes, got VideoStream" always are sent. How can we resolve it?

I encountered the same issue, got any solutions？　Thank you.

I'm not sure why this is happening, but I suspect that there might be a mismatch in code versions. Can you report the following?

what OS are you using? include whether it's 32 bit or 64 bit.
what ROS distro are you using, and which version of python is being used by ROS?
what version of pyav are you using?
what are the git commit hashes for your TelloPy and tello_driver packages?

Hello, anqixu～
I've met with this problem too. I run this code in Linux ubuntu16, 64bit ROS kinetic, python 2.7,  pyav 0.1.3.  Is that match with your code versions?

I tested with pyav 0.5.2 on 64-bit Ubuntu 18.04 and ROS Melodic, Python 2.7.15+.
The error traces to pyav's open function, which appears to be expecting a bytes object rather than a file object. While I couldn't find the specific codebase for pyav 0.1.3, I suspect that it's because of this outdated pyav that the codebase broke. Unfortunately, I did not write the pyav + stream integration, and simply derived from the original TelloPy repo. Later versions of pyav can work with file-like objects, rather than expecting raw bytes, and my understanding is that TelloPy utilizes this fact to hook up a lazy UDP client class to pyav that streams packets when they arrive.
Aside: I loaded Ubuntu 16.04 on docker, installed python-pip, and tried to pip install av. While I couldn't install and test successfully due to difficulties such as ffmpeg version incompatibility etc., pip did try to install pyav 0.6.2. So my first recommendation to you would be to try to upgrade your pyav version: pip2 install --upgrade av (either with --user also, or pre-appended with sudo -H). Otherwise, I unfrotunately don't have the time currently to work on making TelloPy backwards-compatible with pyav 0.1.3, but do welcome contribution from community :)

I tested with pyav 0.5.2 on 64-bit Ubuntu 18.04 and ROS Melodic, Python 2.7.15+.
The error traces to pyav's open function, which appears to be expecting a bytes object rather than a file object. While I couldn't find the specific codebase for pyav 0.1.3, I suspect that it's because of this outdated pyav that the codebase broke. Unfortunately, I did not write the pyav + stream integration, and simply derived from the original TelloPy repo. Later versions of pyav can work with file-like objects, rather than expecting raw bytes, and my understanding is that TelloPy utilizes this fact to hook up a lazy UDP client class to pyav that streams packets when they arrive.
Aside: I loaded Ubuntu 16.04 on docker, installed python-pip, and tried to pip install av. While I couldn't install and test successfully due to difficulties such as ffmpeg version incompatibility etc., pip did try to install pyav 0.6.2. So my first recommendation to you would be to try to upgrade your pyav version: pip2 install --upgrade av (either with --user also, or pre-appended with sudo -H). Otherwise, I unfrotunately don't have the time currently to work on making TelloPy backwards-compatible with pyav 0.1.3, but do welcome contribution from community :)

Thanks for your detailed answer, I've solved this problem by resetting the environment. Now I found that when using 'rqt_image_view', the image had a delay about 10 seconds. Do you meet with this problem?
Best Regards

the delay should be temporary, since pyav buffers the first 10-30 seconds of frames. but then it should catch up. If not, I don't know the solution, maybe try a faster computer?


Parser rewrite to add proto3 and full proto2 support

Rewrite of the AST and Parser to support strict proto2 syntax (fixes #8) and support proto3 syntax (fixes #6).
This is a full rewrite of the parser to use Discriminated Unions rather than objects, and a significant expansion of the unit tests.
The old AST interface was retained but moved to Froto.Parser.Model and given 3 static methods to simplify calling from C#.  These support parsing protos from string, stream, and file.
NOTE: The C# Model is largely compatible with the old AST, but like the old model does not provide access to the full proto2 syntax.  Unsupported elements are silently dropped (to retain compatibility with the old model); dropped elements include everything listed as unsupported in #8.  This issue extends to the Roslyn code generation.
TODO: Highly recommend the model be rewritten/expanded to provide access to the entire proto2 and proto3 syntax in a C# friendly manner.

Thank you for the great contribution! :+1:


Enable ModelVerifier to check if a message-handling method is formed correctly

For example, it should break the compilation when facing the following construct:
@Assign
private void handle() {
    // This command handler is invalid, as it violates several rules.
}

@serhii-lekariev, if it's not yet done, please talk to @dmdashenkov on priorities.

Fixed by https://github.com/SpineEventEngine/core-java/pull/930.


Replace the current file uploading behavior

The file should be associated to a specific field, and while uploading data to this field, the file is attached.
Thus the backend will 1) store the file in the minio 2) update the value of the field to be the id of this file.

Resolved in https://github.com/ideafast/ideafast-portal/pull/1409


Add Playground component/page

Feature request 🚀
Playground component/page is play the component online
Expected:

No breaking changes

Examples:
Refer to Zeit Playground

Uh huh..
This component needs to implement paste and component render, It looks heavy. I suggest ignore it for now,  whats your opinion 🤔

Yes. I find vuep is good implement.
I think can find ideas from it.

Well, do you want take it?

Yeah, I will try implement it.
witt<EMAIL_ADDRESS>于2020年3月12日周四 下午5:09写道：

Well, do you want take it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/zeit-ui/vue/issues/160#issuecomment-598080769, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABVMC5PPNEPDBZ3KDLG2MY3RHCRDPANCNFSM4LGGSW7A
.

🎉
OK, You can create PR at any time, and don't forget to keep the Playground as simple and small as possible.

#162


Fix bad merge

Summary
Fix bad merge
Ticket Link
Follow up on https://github.com/mattermost/mattermost-plugin-jitsi/pull/113

Codecov Report

Merging #174 (9755527) into master (c6b2c62) will increase coverage by 44.95%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master     #174       +/-   ##
===========================================
+ Coverage        0   44.95%   +44.95%
===========================================
  Files           0        7        +7
  Lines           0      803      +803
===========================================
+ Hits            0      361      +361
- Misses          0      417      +417
- Partials        0       25       +25

Impacted Files
Coverage Δ

server/command.go
60.08% <0.00%> (ø)

server/manifest.go
100.00% <0.00%> (ø)

server/configuration.go
14.28% <0.00%> (ø)

server/main.go
0.00% <0.00%> (ø)

server/randomNameGenerator.go
64.00% <0.00%> (ø)

server/plugin.go
61.41% <0.00%> (ø)

server/api.go
0.00% <0.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 c6b2c62...9755527. Read the comment docs.


fix: only web env deal with openNewWindow external prop

Types

[x] 🐛 Bug Fixes

Background or solution
close #35
不能打开 http://<IP_ADDRESS>:8000 是因为 Electron 环境不需要处理 localhost 的路径。Web 会通过 external 属性替换 localhost。
Changelog

only web env deal with openNewWindow external prop

Codecov Report

Merging #485 (b474b72) into main (b4fa15d) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #485   +/-   ##
=======================================
  Coverage   59.01%   59.01%
=======================================
  Files        1200     1200
  Lines       73916    73916
  Branches    15293    15293
=======================================
  Hits        43623    43623
  Misses      27611    27611
  Partials     2682     2682

Impacted Files
Coverage Δ

packages/core-browser/src/window/window.service.ts
76.66% <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 b4fa15d...b474b72. Read the comment docs.


Add a footer

Add a footer that acts a site map, and includes some information about the pod, such as:

Blog
About
Socials
Projects

I would also be interested to work on this.


Randomization of parameters

As per issue #367, this pull request implements randomization functionality for parameters. The code is minimal, with parameters now being able to randomly reset themselves and models being able to randomize all children. Priors have been modified to have a sample method.
If possible it samples from priors, otherwise it defaults to a weak but universal alternative where it samples a free unconstrained state from a standard normal and then propagates it through the forward transform to obey constraints.
The implemented tests verify that parameters are modified, that it obeys "fixed" flags, that priors supersede default behavior, that all priors work, and that randomization can be passed down through the model hierarchy appropriately.
edit: codeship appears to be throwing an error, but I cannot view the details of it without admin privileges?

Codecov Report

Merging #372 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #372      +/-   ##
==========================================
+ Coverage   99.73%   99.73%   +<.01%
==========================================
  Files          28       28
  Lines        2265     2286      +21
==========================================
+ Hits         2259     2280      +21
  Misses          6        6

Impacted Files
Coverage Δ

GPflow/priors.py
100% <100%> (ø)
:white_check_mark:

GPflow/param.py
99.43% <100%> (+0.01%)
:white_check_mark:

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 3a713e8...e29f26b. Read the comment docs.

This doesn't appear to work for params that have size greater than 1.
In [1]: m = GPflow.param.Parameterized()

In [2]: m.p = GPflow.param.Param(np.random.randn(3))

In [3]: print(m)
unnamed.p transform:(none) prior:None
[ 0.40870328 -0.25011942  0.03627796]

In [4]: m.randomize()

In [5]: print(m)
unnamed.p transform:(none) prior:None
0.7736654332138937

That's a pretty silly oversight on my part...
What's the assumption for priors on multivariate quantities? i.i.d.?

yes.

@jameshensman: got it fixed now.

Hi @Bonnevie ,
This is pretty good!  I like that you've used the style used in the rest of GPflow, e.g. the abstract base classes, and you've made good use of the tree structure.  Thanks for adding some pretty comprehensive tests too.
I added a few comments to address some specific things. Please also add a test that covers the shaping that I pointed out in the comment above (i.e. a test that would have failed in the previous version of the code).

@jameshensman: sorry for the weekend silence. I did add a few new lines to the tests to take multi-dimensional parameters into account, but I can see from review that I forgot an assert. Will look at your other comments :)

@jameshensman: I think I covered all of your comments. Dropped the np.array wrapping and changed the default shape.

One teeny extra array(...) that we dont need :)

ah, yeah, that shouldn't matter anymore either. Removed it!

all of a sudden I'm getting some peculiar errors with respect to "referenceRbfKernel" and stuff like that.

The failing tests were a problem with tokens on coveralls, which is an alternative coverage site to codecov. Not your code :)
I think this is ready to merge.

Hi, do you have an example or test to explain how to use the restarting optimization function?
Thank you very much.


Notes & Bookmarked Notes UI Improvisation

Describe the feature
The All Notes button & the bookmarked notes button have a default cursor and they donot even show hover effects which makes it look quite dull & boring. I would want to work on this by changing the cursor to pointer & generating enhanced hover effects.
Please assign this issue to me under the GSSoC 2024 label.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'24 contributor
[X] I want to work on this issue

@hereisSwapnil Kindly assign me with this issue.

@Manaswini123456 Done

@hereisSwapnil Is this issue still open. I am sorry for the late reply, but I guess there is an issue with my Github account, couldn't view the comment and assigning part. I am really sorry. Please let me know the further procedure.


[app/router] [features/routing] Refine resolution strategy and SkipDNSResolve handling

This PR is a continuation of https://github.com/v2fly/v2ray-core/pull/1973. Unlike the base PR it contains changes to existing features API, so created as a separated PR.
This PR removes GetSkipDNSResolve() method from routing.Context interface, and adds a new Unwrap() method to interface for intelligent controlling of routing behavior.
SkipDNSResolve is moved out of routing.Context because compared with other data fields, it works more like a control flag. For separation of control and data channel, it is moved out of routing.Context and specially treated during the creation of ContextWithDNSClient.
ContextWithDNSClient and ContextWithOriginalDestination now returns a second boolean flag, indicating whether the returned context is different from the received context. If:

For ResolvableContext, the SkipDNSResolve is set in the context to wrap.
For OriginDestContext, the session.Content does not contain original destination IP.

Then the received original context is directly returned, with the second updated flag set to false. So:

By returning the original context, no IP resolving capability is added to context.
By knowing the context didn't get updated, the second round of routing rules traversal (from IPIfNonMatch) could just be skipped.

Codecov Report
Base: 38.88% // Head: 38.70% // Decreases project coverage by -0.18% :warning:

Coverage data is based on head (82f0059) compared to base (2e0ea88).
Patch coverage: 33.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1975      +/-   ##
==========================================
- Coverage   38.88%   38.70%   -0.19%
==========================================
  Files         616      609       -7
  Lines       36336    36248      -88
==========================================
- Hits        14128    14028     -100
- Misses      20630    20646      +16
+ Partials     1578     1574       -4

Impacted Files
Coverage Δ

app/router/command/config.go
96.07% <0.00%> (-3.93%)
:arrow_down:

common/session/session.go
70.58% <ø> (ø)

features/routing/session/context_origindest.go
0.00% <0.00%> (ø)

app/router/config.pb.go
12.86% <5.26%> (-0.44%)
:arrow_down:

infra/conf/synthetic/router/router.go
64.64% <37.50%> (-5.24%)
:arrow_down:

app/dispatcher/default.go
29.71% <39.13%> (+0.30%)
:arrow_up:

features/routing/dns/context.go
38.46% <42.85%> (-2.72%)
:arrow_down:

app/router/router.go
28.93% <56.52%> (+1.34%)
:arrow_up:

features/routing/session/context.go
67.27% <100.00%> (+0.60%)
:arrow_up:

app/router/command/errors.generated.go
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 26 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Java Exception class supplement

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

This issue is waiting to be assigned

assign to me

Already implemented.


Undefined is not a function - inexplicable error

Hello,
I'm working with version 0.9.4 and AngularJS 1.3.5.  I have an issue that doesn't usually cause any problem, but nevertheless shows up as an error in the console.
I have pretty much standard code - I'm trying to get a basic dropdown to function in a dead-simple scenario, so I can use it for more.  Here, where $scope.genders is an arrray: ['male','female'], I'm trying to make a super simple select with just these two options.  The great thing is that it almost always works as it should.  The problem is that it also throws two errors I just can't figure out that I think sometimes cause it to malfunction (maybe 1 in 20 times).  Since it mostly works, I'm wondering if this is an error with compatibility with angular 1.3.5 or something like that.   Here is my code, and then the error. Help very much appreciated. Using Select2 theme.
<ui-select ng-model="formData.gender" ng-disabled="disabled">
                    <ui-select-match placeholder="Gender">{{$select.selected}}</ui-select-match>
                    <ui-select-choices repeat="genderOption in genders | filter: $select.search">

                            {{genderOption}}

                    </ui-select-choices>
                </ui-select>

And the errors:
 TypeError: undefined is not a function     at Function.$$addBindingInfo (http://localhost:1112/js/angular.js:6800:18)     at ngBindHtmlLink (http://localhost:1112/js/angular.js:21922:18)     at invokeLinkFn (http://localhost:1112/js/angular.js:8141:9)     at nodeLinkFn (http://localhost:1112/js/angular.js:7653:11)     at compositeLinkFn (http://localhost:1112/js/angular.js:7009:13)     at nodeLinkFn (http://localhost:1112/js/angular.js:7648:24)     at compositeLinkFn (http://localhost:1112/js/angular.js:7009:13)     at nodeLinkFn (http://localhost:1112/js/angular.js:7648:24)     at delayedNodeLinkFn (http://localhost:1112/js/angular.js:7902:11)     at compositeLinkFn (http://localhost:1112/js/angular.js:7009:13)
 angular.js:11500 TypeError: undefined is not a function     at Function.$$addBindingInfo (http://localhost:1112/js/angular.js:6800:18)     at ngBindHtmlLink (http://localhost:1112/js/angular.js:21922:18)     at invokeLinkFn (http://localhost:1112/js/angular.js:8141:9)     at nodeLinkFn (http://localhost:1112/js/angular.js:7653:11)     at compositeLinkFn (http://localhost:1112/js/angular.js:7009:13)     at nodeLinkFn (http://localhost:1112/js/angular.js:7648:24)     at compositeLinkFn (http://localhost:1112/js/angular.js:7009:13)     at compositeLinkFn (http://localhost:1112/js/angular.js:7012:13)     at publicLinkFn (http://localhost:1112/js/angular.js:6888:30)     at link (http://localhost:1112/js/select.js:1235:42)

I am getting this same error and posted it a while back.  Glad to see I am not the only one.
https://github.com/angular-ui/ui-select/issues/517
In Firefox it shows up as "Error: c.push is not a function"

I am getting this same error and posted it a while back.  Glad to see I am not the only one.
https://github.com/angular-ui/ui-select/issues/517
In Firefox it shows up as "Error: c.push is not a function"

No luck so far...  Anybody have any ideas?

So I've got a workaround in the interest of not flooding the logs with error messages.  The errors are caused by the ng-bind-html attributes used in ui-select.  Replace the three instances in the ui-select.js with standard {{}} syntax and replace the ui-select instances of ng-bind-html in your views with the same {{}} syntax.  After doing that you shouldn't see the error any more.
I imagine there is a more appropriate fix and the bug leads me to believe that it has something to do with the ngSanitize, but I'm not going to be taking the time to look into it beyond the temporary fix that I have.

Awesome, thanks for the fix @Arkh1.  That fixed it for me.

I'm having this issue and I am using html so this fix won't work for me :( i'll need to figure something else out

If you want to look into an actual fix I imagine this is a good place to start.
https://github.com/angular/angular.js/commit/dae694739b9581bea5dbc53522ec00d87b26ae55

Anyone fixed this issue yet?

Going to close as this is confusing and needs more information - feel free to open a new issue with appropriate reproduction in Plunker based on the latest release.


Fix small file path typos

Part-8.md should say src/commands/order/index.ts instead of src/commands/order.ts

Thank you


can ITelemetryInitializer and ITelemetryProcessor be used in .net core console application?

can ITelemetryInitializer and ITelemetryProcessor be used in .net core console application?
if yes, could you please provide some samples?

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

ID: 26b3e91f-c240-fffa-6ae9-d676deb7ad4c
Version Independent ID: bbfa099e-3ed6-09ea-fbde-f2a3ed13139a
Content: Filtering and preprocessing in the Azure Application Insights SDK
Content Source: articles/application-insights/app-insights-api-filtering-sampling.md
Service: application-insights
GitHub Login: @mrbullwinkle
Microsoft Alias: mbullwin

adding @lmolkova and @cijothomas. I know we have examples on the wiki for ITelemetryInitializer's and Processors for ASP.NET Core. I don't know if we have any console app centric examples for .NET core, but I would be happy to add them to the docs if we do.

This issue is addressed - please-close

Thank you @cijothomas , @lmolkova and @mrbullwinkle  .
@imeya Hope your query has been answered, will go ahead and close the issue. Feel free to revert back if you have any further queries. Thank you

@lmolkova You mentioned that using TelemetryConfiguration.Active should be avoid, but what is the reason? I've seen in the documentation that configuring ITelemetryInitializers with the TelemetryConfiguration.Active.TelemetryInitializers.Add is not allowed in .Net Core. But I am doing it like this and I don't get any errors and the initializers are working correctly

https://github.com/microsoft/ApplicationInsights-dotnet/issues/1152 Active is deprecated for .NET Core.


Progress bar

I tried different progress bars, but none of them exhibit the desired behavior of the rustc's building process, i.e., a progress bar at the bottom and appear above it some text without blinking. I ended up making my own progress bar and minimizing the number of Printfs to the stdout as much as possible.
Additionally, there was a race condition for the stdout: the printing is now done asynchronuously, not to slow down the TestingBatch.
I also added --no-progress option so that users that don't like blinking or those whose console doesn't support cursor moving around to still be able to work correctly.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
550

Relevant Lines:
559

💛  - Coveralls


Update zio, zio-test, zio-test-junit, ... to 2.1.7

About this PR
📦 Updates

dev.zio:zio
dev.zio:zio-test
dev.zio:zio-test-junit
dev.zio:zio-test-magnolia
dev.zio:zio-test-sbt

from 2.0.22 to 2.1.7
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Superseded by #175.


Abuse

Today i received the following message from the remote.moe service hosting provider:
Dear Mr Kristian Mide,

We have received a notification regarding phishing from [soc@phishlabs.com](mailto:soc@phishlabs.com).

Please check the notification for the details of the problem, and then resolve this issue as soon as possible.

We also request that you send a statement within 24 hours to us and to the complainant. This statement should make it clear how the issue occurred, and what you have done to prevent it from happening again.

How to proceed:
- Solve the issue
- Send us a statement by using the following link: <removed>
- Send a response by email to the complainant

The statement you send us will be checked by a staff member, who will then coordinate any further proceedings. If you fail to comply within the stated deadline, the IP may be locked.

Important note:
When replying to us, please leave the abuse ID [AbuseID:<removed>] unchanged in the subject line.

Kind regards

Abuse department

Hetzner Online GmbH
Industriestr. 25
91710 Gunzenhausen / Germany
Tel: +49 9831 505-0
Fax: +49 9831 505-3
[abuse<EMAIL_ADDRESS>[www.hetzner.com](http://www.hetzner.com/)

Register Court: Registergericht Ansbach, HRB 6089
CEO: Martin Hetzner, Stephan Konvickova, Günther Müller

For the purposes of this communication, we may save some
of your personal data. For information on our data privacy
policy, please see: [www.hetzner.com/datenschutzhinweis](http://www.hetzner.com/datenschutzhinweis)

> During an investigation of fraud, we discovered a compromised website (iu...2a.remote.moe) that is being used to attack our client and their customers.
>
> In addition to the website owner, we have addressed this report to the responsible authoritative providers who have the ability to disable the malicious content in question. Based on your relationship to the content in question, please see our specific request below.
>
> This threat has been active for at least 0.1 hours.
>
> hXXps://iuf..52a.remote.moe/
>
> First detection of malicious activity: 11-21-2022 12:12:44 UTC
> Most recent observation of malicious activity: 11-21-2022 12:15:54 UTC
> Associated IP Addresses:
> <IP_ADDRESS>
>
> ===   HOSTING  PROVIDER   ===
> If you agree that this is malicious, we kindly request that you take steps to have the content removed as soon as possible.  It is highly likely that the intruder who set up this phishing content has also left additional fraudulent material on this server such as illegitimate access points.
>
> ===     WEBSITE OWNER     ===
> We recommend taking the following actions to secure the web site and prevent the attackers from returning:
>     - Update your web applications including CMS, blog, ecommerce, and other applications (and all add-on modules/components/plugins).
>     - Search all of your web directories for suspicious files as attackers commonly leave backdoors.
>     - Scan the computer from which you login to your web hosting control panel or ftp server with anti-virus software.
>     - Change your web hosting provider if this is an ongoing issue.
>
> If your provider has disabled your account because of this incident, you must coordinate a resolution with them directly as PhishLabs has no control over this aspect.
>
> If we have contacted you in error, or if there is a better way for us to report this incident, please let us know so that we may continue our investigation.
>
> We are grateful for your assistance.
>
>
> Kind regards,
> SOC Team
> PhishLabs Security Operations
><PHONE_NUMBER>1
> Available 24/7
>
>
> [PL-3342487]
>

I will try to explain to these guys what remotemoe is all about, but it might very well be the end of "remote.moe the service" (of cause, not the software). But we will see how this plays out
Around that same time, it seems to be impossible to resolve the remote.moe domain - I have no idea if these is somehow related - maybe the PhishLabs guys also contacted one.com and made them deactivate the domain
To be continued...

Is it possible to use remote.moe using its IP address in the absence of DNS?
(You could kindly keep us posted of any IP changes, if not static.)

Is it possible to use remote.moe using its IP address in the absence of DNS? (You could kindly keep us posted of any IP changes, if not static.)

That should indeed be possible - you won't be able to verify certificates, but it should be reachable.
btw, it's at <IP_ADDRESS>

Awesome. Thank you!

A possible future solution for this is discussed in #14


Don't put comments on JSXIdentifier nodes in create-element-to-jsx

Previously, this code:
React.createElement(
  Foo, // This is a comment
  {bar: baz}
);

would change to this code:
<// This is a comment
Foo bar={baz} />

This is technically correct, but really ugly, so this commit changes the script
to reposition the comment to be on the outer JSXElement instead of the
JSXIdentifier directly. As we traverse the first arg to React.createElement,
we collect all comments and add them to the array of comments that we'll
eventually add to the outer JSXElement.
Note that this depends on a fix to recast that was just released in version
0.11.22. See this PR for more details: https://github.com/benjamn/recast/pull/364
Without that change, the repositioned comment could sometimes cause the
resulting code to be incorrect if it's at the start of the expression part of a
return statement. The latest jscodeshift has recast 0.11.22 in its version
range, so a fresh install makes everything work, but an old install might fail.

Build is failing because the build system doesn't have an updated recast. I actually just noticed that this repo uses yarn, so that should hopefully make that easy to fix. I'll see if I can fix by updating the yarn.lock.

Thanks!


deprecate notary support in v1alpha2

only allow the kpack controller to create builds with notary configs

Codecov Report

Merging #836 (526d73b) into main (949cbfe) will increase coverage by 0.05%.
The diff coverage is 100.00%.

:exclamation: Current head 526d73b differs from pull request most recent head bf6b013. Consider uploading reports for the commit bf6b013 to get more accurate results

@@            Coverage Diff             @@
##             main     #836      +/-   ##
==========================================
+ Coverage   68.72%   68.77%   +0.05%
==========================================
  Files         114      114
  Lines        5042     5051       +9
==========================================
+ Hits         3465     3474       +9
  Misses       1207     1207
  Partials      370      370

Impacted Files
Coverage Δ

pkg/apis/build/v1alpha2/build_validation.go
89.74% <100.00%> (+0.70%)
:arrow_up:

pkg/apis/build/v1alpha2/image_validation.go
98.05% <100.00%> (+0.07%)
:arrow_up:

Continue to review full report at Codecov.

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


Upgrade bad subtitution line 380

Hi,
When using arkmanager upgrade, I get this error:
/usr/local/bin/arkmanager: line 380: A new version was found! Do you want to upgrade ARK Server Tools to v${$arkstLatestVersion}?: bad substitution
Server is on debian.
On Ark Server Tools 1.2
Sorry for my bad english.

Now this error
/usr/local/bin/arkmanager: ligne 383: sudo : commande introuvable
(23) Failed writing body

In relation to your first error, this is a duplicate of #153, #134, #111 and #109.
Please try re-installing arkmanager as suggested in https://github.com/FezVrasta/ark-server-tools#install-ark-server-tools
Perhaps we should add to the readme these sorts of known issues with older versions.
In relation to your second error ([FR]command introuvable = [EN]command not found), this means you don't have sudo installed.


Incomplete Readme information on Startup

The current README doesn't seem to properly demonstrate the steps necessary to launch the UPC examples. I will update the README to reflect these necessary steps.

I submitted a PR in #14 which should at least partially address these issues.

One existing issue is that if you don't have a public IP address or are running from localhost then you may be unable to connection the server used to coordinate across multiple machines with the controller (if the controller is running in docker because docker containers loopback to themselves when trying to connect to localhost). To avoid this either move the controller out of the docker container (which I can explain in a followup) or run on a machine with a public IP address and make sure to use that IP in the configuration.


Wrong properties set when using ESDTIssueBuilder

Description
When setting all issue arguments to False using ESDTIssueBuilder, the issued token ends up with the following properties as True: can_upgrade and can_add_special_roles.
tx = ESDTIssueBuilder(
    config=token_management_builders.get_builder_config(),
    issuer=sender_account.address,
    token_name="TokenTest",
    token_ticker="TKT",
    initial_supply=100,
    num_decimals=1,
    can_add_special_roles=False,
    can_burn=False,
    can_change_owner=False,
    can_freeze=False,
    can_mint=False,
    can_pause=False,
    can_upgrade=False,
    can_wipe=False
    ).build()

devnet transaction
issued token on the devnet

Cause
I suspect that mx-sdk-py-core assumes that the default values of each properties is False so as a result, in the above example, it doesn't specify any properties inside the transaction. However, some of the properties' default is True on the blockchain.
The faulty code part is in the method _build_payload_parts below: *(args_to_strings(["canUpgrade", "true"]) if self.can_upgrade else []) and *(args_to_strings(["canAddSpecialRoles", "true"]) if self.can_add_special_roles else []) are not correct.
    def _build_payload_parts(self) -> List[str]:
        return [
            "issue",
            arg_to_string(self.token_name),
            arg_to_string(self.token_ticker),
            arg_to_string(self.initial_supply),
            arg_to_string(self.num_decimals),
            *(args_to_strings(["canFreeze", "true"]) if self.can_freeze else []),
            *(args_to_strings(["canWipe", "true"]) if self.can_wipe else []),
            *(args_to_strings(["canPause", "true"]) if self.can_pause else []),
            *(args_to_strings(["canMint", "true"]) if self.can_mint else []),
            *(args_to_strings(["canBurn", "true"]) if self.can_burn else []),
            *(args_to_strings(["canChangeOwner", "true"]) if self.can_change_owner else []),
            *(args_to_strings(["canUpgrade", "true"]) if self.can_upgrade else []),
            *(args_to_strings(["canAddSpecialRoles", "true"]) if self.can_add_special_roles else [])
        ]

Possible Solutions
Solution 1
Replace:

*(args_to_strings(["canUpgrade", "true"]) if self.can_upgrade else [])  by *(args_to_strings(["canUpgrade", "false"]) if not self.can_upgrade else [])
*(args_to_strings(["canAddSpecialRoles", "true"]) if self.can_add_special_roles else []) by *(args_to_strings(["canAddSpecialRoles", "false"]) if not self.can_add_special_roles else [])

This solution is easy but we will have to maintain the consistency between these default values and the ones on the blockchain.
Solution 2
We always specify the values of all properties, regardless of the default values:
    def _build_payload_parts(self) -> List[str]:
        return [
            "issue",
            arg_to_string(self.token_name),
            arg_to_string(self.token_ticker),
            arg_to_string(self.initial_supply),
            arg_to_string(self.num_decimals),
            *(args_to_strings(["canFreeze", str(self.can_freeze).lower()])),
            ...
            *(args_to_strings(["canAddSpecialRoles", str(self.can_add_special_roles).lower()]))
        ]

This will make the transaction consume more gas but you will be sure that the end result will always be what the user specified, regardless of the default values on the blockchain.
Next Steps
I'll be happy to write the PR if you need, just let me know if there is a solution you prefer (from the two above or anything else).
Thank you :smile:

Thank you for your answer and for taking care of this @popenta !
I have nothing more to add on this issue then.
I didn't notice that this library was shifting towards transaction factories instead of builders, so I'll look into it once v1.0.0 is out.
Have a nice day :grin:

Indeed, we are shifting towards transaction factories. The sdk specifications are still in progress, but if you'd like you can take a look here. Since the fix will only come in a future release I'll leave this issue open until then.
Thank you again for reporting this problem and have a nice day!

This is fixed. Every property is now explicitly set to either true or false.

Wonderful, thank you for your work 💪


Removing a bottleneck

Hi,
while experimenting with your libraries I noticed a very high cpu usage that lead to a low framerate ( around 24fps with a frame resolution of 1366x768).
The code taking so much time is the double loop that copies pixels from the NDI buffer to the ofPixels, namely this (in ofxNDIGrabber3.cpp):
      for(int y = 0; y < video_frame.yres; y++){
        for(int x = 0; x < video_frame.xres-3; x++){
          auto index = (x*4 + y*_pixels.getWidth()*4);
          _pixels.setColor(x,y,
                           ofColor(video_frame.p_data[index+2],
                                   video_frame.p_data[index+1],
                                   video_frame.p_data[index]));
        }
      }

I only need to draw the picture on screen, so instead of an ofImage I used an ofTexture, replacing the above with
if(!texture.isAllocated()){
        texture.allocate(video_frame.xres, video_frame.yres, GL_RGBA);
      }
texture.loadData(video_frame.p_data, video_frame.xres, video_frame.yres, GL_BGRA);

and then of course
texture.draw(x, y, width, height);
Doing this drastically improved performance, now the playback stays at 60 fps and the cpu usage is negligible. May be you could double check this results and consider adding this modifications to the library.
regards
Davide

cool. Thanks.I'll transfer this issue over to the repo by thomasgeissl


REST GET .../submissions should return instanceName or update API docs

Currently REST endpoint GET forms/id/submissions doesn't return instanceName, we need to fix that or update API docs where we say that instanceName is only supported for ODATA endpoints
curl 'https://test.getodk.cloud/v1/projects/390/forms/Simple/Submissions' -H  ...

Response:
[
    {
        "instanceId": "uuid:08349870-0941-4a7c-8843-11fdd9a70908",
        "submitterId": 17150,
        "deviceId": null,
        "createdAt": "2022-08-30T15:34:22.162Z",
        "updatedAt": null,
        "reviewState": null
    }
]

REF: https://forum.getodk.org/t/odk-central-api-not-returning-instancename-of-submission/38729/6

instanceName is also available using the REST API endpoints for a submission's versions or for a particular submission version. I think this relates to #481: the API distinguishes between submissions and submission versions (the two return different data), but the API docs don't always reflect that.


Add cryptoFacile.io to the list of Tools

cryptoFacile.io  (cryptocurrency exchanges comparison web app)

Please open an issue using the template for merchants if you want to add one.


Run on top of Jenkins

Note to self -- if https://github.com/quilt/quilt/pull/813 is merged before this, the updated Spark test needs to be copied over.


new-selfsignedcertificateex : Exception calling "Build" with "1" argument(s): "Cannot find the certificate and private key for decryption."

Tried on Win 10 / Server 2016, all with PS5.1
I’m retrieving our in-house CA cert with
$sc = get-item Cert:\CurrentUser\ca\8CD9F4687EACECE660B6D7F5919EBC436FE433B9
But when I attempt to use that signing cert with a new cert request as
new-selfsignedcertificateex -keyspec Signature -subject "cn=mach01.domain.com" -EnhancedKeyUsage "Server Authentication","Client Authentication" -KeyLength 2048 -issuer $sc
this error pops:
new-selfsignedcertificateex : Exception calling "Build" with "1" argument(s): "Cannot find the certificate and private key for decryption.
It seems that the private key from the signing cert isn’t available. I’m not sure if that’s a problem with our signing cert or just the way I’m trying to use it.

Does your certificate has associated private key? Say, when you open the certificate in Certifificates MMC, do you see that private key is there?

If I look at the Details pane on the signing cert, I don’t see a private key. Is that where I should see it?
Jay Meerdink
Database Administrator IV
ConServe
An ACA International PPMS Certified Agency
A Business Ethics Award Recipient
P:<PHONE_NUMBER> ext. 3205
F:<PHONE_NUMBER>
From: Vadims Podans<EMAIL_ADDRESS>Sent: Tuesday, April 07, 2020 12:28 PM
To: PKISolutions/PSPKI<EMAIL_ADDRESS>Cc: Meerdink, Jay<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [PKISolutions/PSPKI] new-selfsignedcertificateex : Exception calling "Build" with "1" argument(s): "Cannot find the certificate and private key for decryption." (#99)
Does your certificate has associated private key? Say, when you open the certificate in Certifificates MMC, do you see that private key is there?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/PKISolutions/PSPKI/issues/99#issuecomment-610488423, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AM6F4HJHI2CWASQWDIONIU3RLNICDANCNFSM4MDHL2YA.

It is on General tab, at the bottom. You should see something like this:

No – that message isn’t on that cert.
Jay Meerdink
Database Administrator IV
ConServe
An ACA International PPMS Certified Agency
A Business Ethics Award Recipient
P:<PHONE_NUMBER> ext. 3205
F:<PHONE_NUMBER>
From: Vadims Podans<EMAIL_ADDRESS>Sent: Tuesday, April 07, 2020 1:46 PM
To: PKISolutions/PSPKI<EMAIL_ADDRESS>Cc: Meerdink, Jay<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [PKISolutions/PSPKI] new-selfsignedcertificateex : Exception calling "Build" with "1" argument(s): "Cannot find the certificate and private key for decryption." (#99)
It is on General tab, at the bottom. You should see something like this:
[image]https://user-images.githubusercontent.com/6384119/78702086-b61ccd80-7910-11ea-9a01-1c587e601028.png
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/PKISolutions/PSPKI/issues/99#issuecomment-610528451, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AM6F4HLDGWEQ3PNGVWR3DKTRLNRGHANCNFSM4MDHL2YA.

Then you cannot use this certificate to sign other certificates, because signing requires private key.

OK – I was confused between validating the cert through the chain, and using the cert to sign.
Thank you!
Jay Meerdink
Database Administrator IV
ConServe
An ACA International PPMS Certified Agency
A Business Ethics Award Recipient
P:<PHONE_NUMBER> ext. 3205
F:<PHONE_NUMBER>
From: Vadims Podans<EMAIL_ADDRESS>Sent: Tuesday, April 07, 2020 2:29 PM
To: PKISolutions/PSPKI<EMAIL_ADDRESS>Cc: Meerdink, Jay<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [PKISolutions/PSPKI] new-selfsignedcertificateex : Exception calling "Build" with "1" argument(s): "Cannot find the certificate and private key for decryption." (#99)
Then you cannot use this certificate to sign other certificates, because signing requires private key.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/PKISolutions/PSPKI/issues/99#issuecomment-610549291, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AM6F4HJNH45MXVBJRG2UHLLRLNWIBANCNFSM4MDHL2YA.

yes, these are two different and almost unrelated things.


Make selection only if it's necessary

Improves performance (however there are still many performance issues)

Great. Thank you


Adding db2 performance data collection sample scripts.

Adding db2 performance data collection sample scripts. This would avoid us to upload the scripts to ecurep.

@dineshgyl I finally got a chance to follow up with Philip and he's good with this happening so, great idea.  If you can complete the DCO sign-off that this came from you, then I can merge it.  It's described here:
https://github.com/IBM/db2-samples/blob/master/CONTRIBUTING.md#legal
Thanks