bug converting cDNA to genomic position with Mutalyzer API v3

Hi team,
We are trying to use your API to convert cDNA sequenced to genomic positions: https://v3.mutalyzer.nl/positionconverter?referenceId=NM_000334.4&fromSelectorId&fromCoordinateSystem=c&position=9877&toSelectorId&toCoordinateSystem=g&includeOverlapping=true
The results obtain is not valid with this version of the API, in this example it should be: NC_000017.10:g.62013765C>T as we correctly obtain when using Mutalyzer v2: https://mutalyzer.nl/position-converter?assembly_name_or_alias=GRCh37&description=NM_000334.4%3Ac.9877G>A
Thanks!
Leslie Matalonga
--
Leslie Matalonga, PhD
Clinical Genomics Specialist
CNAG-CRG
Tel:934020828

I think the lack of documentation is the main problem here. In your query, a conversion from NM_000334.4:c. to NM_000334.4:g. is requested.
You probably wanted something like this.
I will leave this issue open to make sure we add proper documentation.

Thank you very much for the quick reply! Yes, the conversion requested is from NM_000334.4:c. to NM_000334.4:g. but we do not have the reference ID (NC_000017.10) that seems to be mandatory in v3 and not in v2?
Our input is NM_000334.4:c.9877G>A for GRCh37.

Indeed, in the old version, the reference ID was given implicitly by specifying a build (GRCh37 in your case). We now have support for all builds and assemblies, with the slight downside that the reference ID must be provided.

Thanks, we will try to see how to easily get the reference ID to overcome this. Just as a suggestion, it would be easier for use to be able to just state the version of the genome we are using (e.g. GRCh37) in the input instead of the reference ID as in our case we do not have the chr associated to the information - we would need to first get it from the gene.
Thanks again for the support!
Leslie

We could perhaps think about a separate endpoint that returns a reference ID, given a transcript ID and a genome build. On the other hand, I would expect such a service from the NCBI.


fix: various typos

Why:
Took another pass with cSpell for the non-restricted folders
What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[ ] I have reviewed my changes in staging (look for the "Automatically generated comment" and click the links in the "Preview" column to view your latest changes).
[ ] For content changes, I have completed the self-review checklist.

Telegram hesapları mı kullanmak istiyorum

Yardım

@nschonni Thanks for opening a PR! We appreciate you taking the time to submit this ✨
However, some of these changes we won't be able to accept, some are in code comments, and some, I think, are in auto-generated content. Due to the size of this PR, the untangling between what we can and cannot accept, and because most of our staff are on holiday break and won't be returning full force until late January, I'm going to go ahead and close this PR 💛
For future PRs of this nature, we encourage folks to open an issue first so we can verify the need for the proposed change and catch the things we can't accept or modify. 👍

@cmwilson21 it's been awhile since I contributed here (still No. 33 in contributors https://github.com/github/docs/graphs/contributors).
I excluded the the generated files mentioned in https://github.com/github/docs/pull/22770#issuecomment-1356868410 except for script because I used scripts from the message above for the ignore list, which is also a typo in a file you no longer accept fixes for


APPS: Make sure ext_ctx structure gets properly initialized

This fixes #14175 regarding a crash of the ca app when the ext_ctx structure is not initialized
and a more subtle initialization bug for the ext_ctx structure w.r.t. any CSR given with the -csr option.
Checklist

[x] documentation is added or updated

This pull request is ready to merge

Merged. Many thanks!

Closing this PR since it is merged already.


Throw UnknownHostException not IllegalArgumentException for bad host …

…chars
Before this change HttpURLConnection would parse the bad ASCII
characters like \u0001, but fail when setting them in the host
header.
After this change HttpURLConnection throws UnknownHostException.
Earlier versions of OkHttp would escape the bad characters, but
this behavior has not been retained.
Fix for issue #1833.
This change involves a public API change to Headers (addHeaderLenient)
to enable building of MockResponse objects containing response headers
that OkHttp considers invalid, and a behavior change for HttpUrl, and
consequently HttpURLConnectionImpl.

LGTM

Works for me!


eyedropper: 0.5.1 -> 0.6.0

Description of changes
https://github.com/FineFindus/eyedropper/releases/tag/v0.6.0

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Basic testing is done and most of the worked except I cannot export palettes. The following image is the error window when the "Save palettes..." button is clicked.

I'm almost sure this is an issue with my portals setup but I could be wrong. (It is the first time I've used the export palettes feature so I didn't noticed.)

Developer of the app here (thanks for packaging the app), yes, most likely indicates an issue with the org.freedesktop.portal.FileChooser portal. The app still uses the GTK FileChooserNative Dialog, which uses the portal underneath.
Also, the currently listed description is out of date, it changed to Pick and format colors with the 0.6.0 release to be more inline with the GNOME guidelines.

Thanks for the explanation, @FineFindus. I also updated the package description of the app now.
I also rebased the changes on top of 234cd6bb95c870203bb13fa66ca12c67686f544b.


Trim whitespace in encoder values

Added trim() method to clean up input encoder values before processing in ContentTransferEncoding.java. Updated test cases in ContentTransferEncodingTest.java to cover the new behavior.

Release note: this change makes it so that "7bit    " is recognized treated the same as "7bit", rather than throwing an exception.

Released in v8.12.0.


modprobe fails

Hi,
I'm testing hubicfuse (https://github.com/TurboGit/hubicfuse) and all works fine, but I cannot use it because:
root@BESTIA:~# mkdir /mnt/hubic
root@BESTIA:~# hubicfuse /mnt/hubic -o noauto_cache,sync_read,allow_other
fuse: device not found, try 'modprobe fuse' first
root@BESTIA:~# modprobe fuse
modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/3.4.0+/modules.dep.bin'

Any idea/workaround?

Thanks for the interest in WSL.
Fuse is not currently supported.  We have a User Voice page on Fuse here.  I would recommend heading over and voting there (already one comment about hubiC).
Knowing WSL was shipping as a beta, we created a list of the high priority features on our FAQ page.  We will be updating this with new features as we get into the next release.

@russalex Pretty impressive to see how far the project has come from those goals only a few months ago (although all of those things don't work absolutely perfectly yet, they are all more or less functional for many use cases)

@russalex Yes Alex, I know, I don't know why but I have two accounts here... the comment was mine.
I reported here because I don't find any bug report on Fuse.

Federico@BESTIA ~ % lsmod
libkmod: ERROR ../libkmod/libkmod-module.c:1619 kmod_module_new_from_loaded: could not open /proc/modules: No such file or directory
Error: could not get list of modules: No such file or directory

For what it's worth, #412 is relevant to FUSE

#17 looks to be the github landing zone for FUSE and the User Voice was already cited. #412 is (of late and for better or worse) acting as a LZ for outstanding USB devicey stuff.


Upload.UploadVideo amplify_video

Hi,
When using Upload.UploadVideo i hadn't set the mediaCategory optional parameter, as the docs said it was set to amplify_video by default: https://github.com/linvi/tweetinvi/wiki/Upload.
However, I got an error from Twitter:
Upload STATUS can only be invoked on uploads with processing metadata. Set the `media_category` to `amplify_video` to solve this isue.

So I set it mediaCategory to amplify_video and now it works!
Either this is an easy bug, or the docs need updating :)
Cheers,
Josh

Changed the documentation. As most developers currently do not use the STATUS endpoint.

Note for anyone that comes accross this in future, the code for the latest version of Tweetinvi is:
// Upload the video
DefaultLog.Debug("Uploading video to Twitter");
IUploadVideoParameters parameters = new UploadVideoParameters(fileVideo.FileContent)
{
    QueryMediaType = fileVideo.ContentType,
    QueryMediaCategory = "amplify_video"
};
IMedia twitterVideo = Upload.UploadVideo(parameters);
DefaultLog.Debug("Video uploaded to Twitter with Media ID {0}", twitterVideo.MediaId);

The fix is the same, but parameter names have changed, so would be kinda hard to figure out from this issue if you hadn't used the old method aswell :)


[FEATURE] Add custom folder path option for Smithy-generated handlers

Describe the feature
Add an option in the Smithy handler trait to define a custom folder path for the generated handers.
Use Case
Current settings generate all handlers inside the src and test folders with a flat hierarchy. Need an option to customize the individual handler path.
Proposed Solution
Add a new optional subdir option to the Smithy handler trait?
Other Information
We may also need to add this option for async handlers.
Acknowledgements

[X] I may be able to implement this feature request
[ ] This feature might incur a breaking change

PDK version used
0.23.66
What languages will this feature affect?
Typescript, Java, Python
Environment details (OS name and version, etc.)
Linux, Windows etc

I think the tricky part for typescript will be getting the esbuild command right to bundle all the handlers - I wonder if we'd need to make it more generic so it finds all ts files in the target directory which export a function called handler? :) Not sure exactly the best way to achieve this though - could maybe add a new script to run.ts but it might increase the size of the bundled run.js that ends up in the PDK distributable as that itself would then include esbuild!

I think we may need an index file to store the paths of the generated handlers. Is it possible to read handler data from the model/.api.json file?  I'm not quite sure how these projects are linked together.  If we choose to scan all files in src/**/* directory, we can run a command with a regex and pass the result to the current esbuild command.

We can read the model/.api.json at build time (just not at project synthesis time as users should be able to add an operation and just rebuild rather than having to re-synthesize too).
So yes I think we could have a script/command read model/.api.json to find where all the handlers are and pass that to the esbuild command :) Ideally I think we'll want this as a node.js script which we can then pass the output to esbuild, so it's as platform agnostic as possible :)


Dockerfile does not support branches

Expected behavior
Building a docker when you are in a given branch should build this branch source code
Actual behavior
It builds the master version
Steps to reproduce the actual behavior
git clone go-spacemesh
cd go-spacemesh
git checkout develop
docker build

The Development approaches as proposed here looks like the right one:
https://stackoverflow.com/questions/42761820/how-to-get-another-branch-instead-of-default-branch-with-go-get
git clone
cd
git checkout
go build


chore: add dependency on datastore for codegen-ui types

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #691 (5c68348) into main (7451bb8) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #691      +/-   ##
==========================================
- Coverage   90.72%   90.71%   -0.01%
==========================================
  Files          98       97       -1
  Lines        3686     3685       -1
  Branches      991      991
==========================================
- Hits         3344     3343       -1
  Misses        317      317
  Partials       25       25

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 7451bb8...5c68348. Read the comment docs.


Step op

To resolve the problem as shape requires a standard input shape...

Do we want to add parsing for steps in Slice, even if it's currently only positive values?


base64 encoding for object binding

In the Encoding documentation says:

Functions expect a base64 encoded string.

Later at Usage - C# documentation states:

Object - The Functions runtime deserializes a JSON payload

This combination never works. As if the message is base64 encoded Object binding fails (it tries do decode base64 as json).
Object binding should first de-serialize base64 and then JSON (binding should do both (if necessary?)).
Or update documentation accordingly.

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

ID: f723af92-4ebb-07db-6485-1ceb7422c74b
Version Independent ID: f33b432f-f14d-54ec-b784-18451b146a5f
Content: Azure Queue storage trigger for Azure Functions
Content Source: articles/azure-functions/functions-bindings-storage-queue-trigger.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

@matejskubic Thanks for the question! We will review and get back to you!

@matejskubic In addition to sending Base64 Encoded strings, you also need to set the QueueClientOptions.MessageEncoding property on the client. Could you confirm you are observing issues even with this set?

@PramodValavala-MSFT where could I set this option in the Azure Function context.
I can't find option in the host.json neither in the [QueueTrigger] attribute.
Maybe is this issue related to https://github.com/Azure/azure-sdk-for-net/pull/16929?

@matejskubic If you programmatically send the message to the queue you can either try:
await queueClient.SendMessageAsync(Base64Encode(serializedCommand), cancellationToken);         private static string Base64Encode(string plainText)         {             var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);             return System.Convert.ToBase64String(plainTextBytes);         }
( refer to this )
OR, can use QueueClientOptions.MessageEncoding
something similar to :
queueClient = new QueueClient(connectionString, queueName, new QueueClientOptions         {     MessageEncoding = QueueMessageEncoding.Base64     });     var message = "some message";     await queueClient.SendMessageAsync(message);

@matejskubic Following up to understand whether my previous comment helps and works out for the mentioned problem statement.


[Docs] Update npm browser run command

[ ] PR has tests / docs demo, and is linted.
[ ] Commit and PR titles begin with [ComponentName], and are in imperative form: "[Component] Fix leaky abstraction".
[ ] Description explains the issue / use-case resolved, and auto-closes the related issue(s) (http://tr.im/vFqem).

Initially the command to run the browser was "npm run browser:development". Since a script was created to do this operation with "npm start" command, it was updated in the docs.

@pratimary We have added the npm start script for conveniency as it's a standard command.
I think that we should keep the README like this to explicit the browser specificity of the command.

Thanks anyway, I'm gonna close the PR.


Better use of number testing and localization function,

for #2266, #2267, #2269.

@camgnostic Same same, merging but flagging you for review just in case.


[Suggestion] Backport to Hephaestus 3.6.3

There is currently a major bug in the 3.6.4 version of Hephaestus which voids items in container blocks, such as the crafting station and smeltery controller, when they are destroyed. The issue is detailed here. It has not been addressed since being opened on April 25th, 2024.
At the time of writing, this bug affects all 3.6.4 releases, meaning that any players who use those versions are at risk of having their items destroyed. However, it does not affect version <IP_ADDRESS> or earlier, so backporting this mod to that or any earlier version of Hephaestus would allow players to use both together safely.

ill def consider it!
ive been on a bit of hiatus due to how busy my job has been but this should be fairly easy to do!


How to add an example for type Array

/// <summary>  /// List Pet Name  /// </summary> /// <example>"Dog"</example> [DataMember(Name="PetName ")] public List<string> PetName { get; set; }
Genarate
{
"PetName ": [
"string"
]
}
I want
{
"PetName ": [
"Dog"
]
}

You can only use the <example> tag for primitive types that can be easily expressed as a string.
For more complex examples, you'll need to do it manually through a custom ISchemaFilter. See the following for inspiration: https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/master/test/WebSites/Basic/Swagger/ExamplesSchemaFilter.cs


Smoking Health Assessment

Deep Learning Simplified Repository (Proposing new issue)
:red_circle: Project Title : Smoking Health Assessment
:red_circle: Aim : The main purpose of this project is to develop machine learning models capable of predicting gross income based on demographic and behavioral factors.
:red_circle: Dataset : https://www.kaggle.com/datasets/utkarshx27/smoking-dataset-from-uk
:red_circle: Approach : Develop and evaluate machine learning models to predict income using demographic and behavioral factors, followed by performance evaluation and visualization.
models used:

One of the EDA:

📍 Follow the Guidelines to Contribute in the Project :

You need to create a separate folder named as the Project Title.
Inside that folder, there will be four main components.

Images - To store the required images.
Dataset - To store the dataset or, information/source about the dataset.
Model - To store the machine learning model you've created using the dataset.
requirements.txt - This file will contain the required packages/libraries to run the project in other machines.

Inside the Model folder, the README.md file must be filled up properly, with proper visualizations and conclusions.

:red_circle::yellow_circle: Points to Note :

The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Follow Contributing Guidelines & Code of Conduct before start Contributing.

:white_check_mark: To be Mentioned while taking the issue :

Full name : Sarvajith Adyanthaya
GitHub Profile Link : https://github.com/Chillthrower
Email ID<EMAIL_ADDRESS>Participant ID (if applicable):
Approach for this Project :
What is your participant role? (Mention the Open Source program)
Contributor, GGSOC'24

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Hi  @Chillthrower as this project repo mainly focuses on deep learning issues, I'd recommend you to please focus on the same instead of machine learning techniques.

Oh my bad i will keep that in mind


Added support for Python 3

Looks great. Thanks very much! I will merge now, give it a couple of days to bake (and test it internally) and do a release towards the end of the week.

Sounds great. Thanks!


Reinforced Plasma Windows

About the PR
A lot stronger better and good to keep plasma from getting out and ("fire resistant") like fire can even damage windows right now still not a lie
Screenshots

Changelog

:cl: Seth

add: Added Reinforced Plasma Windows

committed submodule needs to be removed

dammit how do I remove those again

Crashes in-game

what?


[DOC] Expired slack link under "Where to ask questions"

Fixes expired link to Slack under the "Where to ask questions" section of the README.
Related to #3014

where is this "Where to ask questions" section?

are you on the "stable" version of the website?


After the server restarts BUG

spigot-1.12-R0.1-SNAPSHOT-b1349
Quest2.8.7
This BUG has been around for a long time.It exists almost every version.
Players do not complete the quest after receiving the quest, and then I restart the server, the count of the quest count will be reset.
Such as digging 100 stones, I have dug 20, after the restart, it becomes 0.
The console does not have any error, it's just a BUG.

This does not happen for me when tested with the default Stone Miner quest.
Given the number of stones in your example (100), this could be related to #40

Closing as dead end and likely duplicate.

In the latest version of the current issue of such a problem, players out of the game and then add a more of the same quest goals, and when the quest is reached, the quest will not be completed.


/_next/webpack-hmr takes forever to load in ssr-caching example

Examples bug report
Example name
ssr-caching
Describe the bug
I ran npm run dev to start the dev server, then quickly opened the pages (http://localhost:3000/, http://localhost:3000/blog/first, http://localhost:3000/blog/second, http://localhost:3000/blog/last) in 6-10 tabs, the last several tabs will stuck on loading. I then found that it was due to http://localhost:3000/_next/webpack-hmr loading forever causing entire app not responding
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Check out the code
Go to sources\ssr-caching
Run npm install
Run npm run dev
Open the pages in 6-10 tabs quickly in Chrome
You would see server start not responding

Expected behavior
Server should still respond as fast as the first several tabs. /_next/webpack-hmr should either respond quickly or timeout
Screenshots
If applicable, add screenshots to help explain your problem.

System information

OS: Windows
Browser (if applies) Chrome
Version of Next.js: latest 6 and 7

Additional context
I tried set timeout on express server but still stuck. The only way I found to get around this is to turn off hmr or block the /_next/webpack-hmr endpoint on the server. Any other idea or workaround?

@ijjk we've recently updated the example so maybe this is already fixed.

@timneutkens I believe the issue is related to this comment. A warning is shown now and there's not much we can do since it's a browser limitation so I'm closing this issue now.


Unable to create virtual machine in Azure Stack

I am using this module indirectly via Ansible.
I have temporarily worked around the issue https://github.com/Azure/msrestazure-for-python/issues/64 by setting the storage endpoint so VM's can be created. However I am now receiving the following error when trying to create a new VM.
The full traceback is:
  File "/tmp/ansible_NIQncc/ansible_module_azure_rm_virtualmachine.py", line 1353, in create_or_update_vm
    poller = self.compute_client.virtual_machines.create_or_update(self.resource_group, self.name, params)
  File "/usr/lib/python2.7/site-packages/azure/mgmt/compute/compute/v2015_06_15/operations/virtual_machines_operations.py", line 186, in create_or_update
    body_content = self._serialize.body(parameters, 'VirtualMachine')
  File "/usr/lib/python2.7/site-packages/msrest/serialization.py", line 452, in body
    SerializationError, "Unable to build a model: "+str(err), err)
  File "/usr/lib/python2.7/site-packages/msrest/exceptions.py", line 48, in raise_with_traceback
    raise error

fatal: [localhost]: FAILED! => {
    "changed": false,
    "invocation": {
        "module_args": {
            "ad_user": null,
            "admin_password": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "admin_username": "admin",
            "allocated": true,
            "append_tags": true,
            "cli_default_profile": null,
            "client_id": null,
            "cloud_environment": null,
            "data_disks": null,
            "image": {
                "offer": "UbuntuServer",
                "publisher": "canonical",
                "sku": "16.04-LTS",
                "version": "16.04.20171011"
            },
            "location": null,
            "managed_disk_type": null,
            "name": "testvm001",
            "network_interface_names": [
                "testnic001"
            ],
            "network_interfaces": "testnic001",
            "open_ports": null,
            "os_disk_caching": "ReadOnly",
            "os_type": "Linux",
            "password": null,
            "profile": null,
            "public_ip_allocation_method": "Static",
            "remove_on_absent": [
                "all"
            ],
            "resource_group": "Testing",
            "restarted": false,
            "secret": null,
            "short_hostname": null,
            "ssh_password_enabled": true,
            "ssh_public_keys": null,
            "started": true,
            "state": "present",
            "storage_account": "testaccount001",
            "storage_account_name": "testaccount001",
            "storage_blob": "testvm001.vhd",
            "storage_blob_name": "testvm001.vhd",
            "storage_container": "testvm001",
            "storage_container_name": "testvm001",
            "subnet_name": null,
            "subscription_id": null,
            "tags": null,
            "tenant": null,
            "virtual_network_name": null,
            "virtual_network_resource_group": null,
            "vm_size": "Standard_D1"
        }
    },
    "msg": "Error creating or updating virtual machine testvm001 - Unable to build a model: <DiskCreateOptionTypes.from_image: 'fromImage'> is not valid value for enum <enum 'DiskCreateOptionTypes'>, DeserializationError: <DiskCreateOptionTypes.from_image: 'fromImage'> is not valid value for enum <enum 'DiskCreateOptionTypes'>"
}

It appears that I get this error against Azure itself so this might be a wider issue?

Hi @charliejllewellyn
This one I can answer :)
When you call a RestAPI, you need to specify an API-Version. It's a requirement of Azure, there is no default ApiVersion. However, the SDK does this for you, for simple scenario on public Azure (but you can configure that of course).
Now, when you call an operation, the object you give as parameter changes depending of the ApiVersion. This is known as "models", meaning when you call an operation with a specific ApiVersion, you need to use the model from the same ApiVersion to talk to Azure. Otherwise there is mismatch and your request will be refused.
The specific error you got, is when you called an operation with the non-default ApiVersion, but using the default model from public Azure. I know the message is impossible to understand, I'm working to make this more explicit...
When you (or Ansible) do:
import azure.mgmt.compute.models

You don't specifiy an ApiVersion, so you get the default models definition (the public Azure ones). Then you can't use this syntax if you customize the ApiVersion of the client.
On the package used by Ansible right now, you need  to get models using the models class method of the client:
models = azure.mgmt.compute.ComputeManagementCliemt.models("2015-06-15")
vm = models.VirtualMachine(...)

It's a little cumbersome, since you defined the ApiVersion twice: one for the client, and one for the models. Then, and recent packages (since compute 3.1.0rc1, storage 1.5.0 or network 1.6.0), you can define it only once:
client = azure.mgmt.compute.ComputeManagementClient(credentials, subscription_id, api_version="2015-06-15")
vm_models = client.virtual_machines.models
vm = vm_models.VirtualMachine(...)

This ensure you that the models are in sync with operation you use.
FYI @tstringer If Ansible is still using import azure.mgmt.compute.models, this doesn't scale to AzureStack

Related discussion https://github.com/ansible/ansible/issues/26195

Hey @lmazuel tanks for the comprehensive answer...I think I'll need to read it a few more times. I should say though that we have been struggling a little here with API versions and Azure Stack as using the correct model and API in some scenarios doesn't work.
For example if I install ansible azure and change nothing (apart from the fix for the auth - thanks for the pull request BTW :-) then I get:
"msg": "Error checking name availability: Azure Error: InvalidResourceType\nMessage: The resource type 'checkNameAvailability' could not be found in the namespace 'Microsoft.Storage' for api version '2017_06_01'. The supported api-versions are '2016-01-01,2015-06-15,2015-05-01-preview'."

If I then edit /usr/lib/python2.7/site-packages/ansible/module_utils/azure_rm_common.py to reference the correct storage API for Azure Stack:
    @property
    def storage_client(self):
        self.log('Getting storage client...')
        if not self._storage_client:
            self._storage_client = self.get_mgmt_svc_client(StorageManagementClient,
                                                            base_url=self._cloud_environment.endpoints.resource_manager,
                                                            api_version='2016-01-01')
        return self._storage_client

This should select the right model and presumably the right API in that model, since this file has the API hardcoded? However the result is:
The full traceback is:
Traceback (most recent call last):
  File "/tmp/ansible_fAu7ap/ansible_module_azure_rm_storageaccount.py", line 462, in <module>
    main()
  File "/tmp/ansible_fAu7ap/ansible_module_azure_rm_storageaccount.py", line 459, in main
    AzureRMStorageAccount()
  File "/tmp/ansible_fAu7ap/ansible_module_azure_rm_storageaccount.py", line 204, in __init__
    supports_check_mode=True)
  File "/tmp/ansible_fAu7ap/ansible_modlib.zip/ansible/module_utils/azure_rm_common.py", line 285, in __init__
  File "/tmp/ansible_fAu7ap/ansible_module_azure_rm_storageaccount.py", line 240, in exec_module
    self.results['state'] = self.create_account()
  File "/tmp/ansible_fAu7ap/ansible_module_azure_rm_storageaccount.py", line 416, in create_account
    poller = self.storage_client.storage_accounts.create(self.resource_group, self.name, parameters)
  File "/usr/lib/python2.7/site-packages/azure/mgmt/storage/v2016_01_01/operations/storage_accounts_operations.py", line 164, in create
    body_content = self._serialize.body(parameters, 'StorageAccountCreateParameters')
  File "/usr/lib/python2.7/site-packages/msrest/serialization.py", line 452, in body
    SerializationError, "Unable to build a model: "+str(err), err)
  File "/usr/lib/python2.7/site-packages/msrest/exceptions.py", line 48, in raise_with_traceback
    raise error
msrest.exceptions.SerializationError: Unable to build a model: <SkuName.standard_lrs: 'Standard_LRS'> is not valid value for enum <enum 'SkuName'>, DeserializationError: <SkuName.standard_lrs: 'Standard_LRS'> is not valid value for enum <enum 'SkuName'>

fatal: [localhost]: FAILED! => {
    "changed": false,
    "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_fAu7ap/ansible_module_azure_rm_storageaccount.py\", line 462, in <module>\n    main()\n  File \"/tmp/ansible_fAu7ap/ansible_module_azure_rm_storageaccount.py\", line 459, in main\n    AzureRMStorageAccount()\n  File \"/tmp/ansible_fAu7ap/ansible_module_azure_rm_storageaccount.py\", line 204, in __init__\n    supports_check_mode=True)\n  File \"/tmp/ansible_fAu7ap/ansible_modlib.zip/ansible/module_utils/azure_rm_common.py\", line 285, in __init__\n  File \"/tmp/ansible_fAu7ap/ansible_module_azure_rm_storageaccount.py\", line 240, in exec_module\n    self.results['state'] = self.create_account()\n  File \"/tmp/ansible_fAu7ap/ansible_module_azure_rm_storageaccount.py\", line 416, in create_account\n    poller = self.storage_client.storage_accounts.create(self.resource_group, self.name, parameters)\n  File \"/usr/lib/python2.7/site-packages/azure/mgmt/storage/v2016_01_01/operations/storage_accounts_operations.py\", line 164, in create\n    body_content = self._serialize.body(parameters, 'StorageAccountCreateParameters')\n  File \"/usr/lib/python2.7/site-packages/msrest/serialization.py\", line 452, in body\n    SerializationError, \"Unable to build a model: \"+str(err), err)\n  File \"/usr/lib/python2.7/site-packages/msrest/exceptions.py\", line 48, in raise_with_traceback\n    raise error\nmsrest.exceptions.SerializationError: Unable to build a model: <SkuName.standard_lrs: 'Standard_LRS'> is not valid value for enum <enum 'SkuName'>, DeserializationError: <SkuName.standard_lrs: 'Standard_LRS'> is not valid value for enum <enum 'SkuName'>\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE",
    "rc": 0
}

Am I miss understanding what you are saying?

Unfortunately, it does not pick up the right model if you import azure.mgmt.storage.models, like Ansible is doing:
https://github.com/tstringer/ansible/blob/d031ff8aec3ce8bb626c4db40cba9ecb1c6dfb98/lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py#L161-L162
Since when doing a generic import of models, we load the latest public Azure one.
Replace this line:
https://github.com/tstringer/ansible/blob/d031ff8aec3ce8bb626c4db40cba9ecb1c6dfb98/lib/ansible/modules/cloud/azure/azure_rm_storageaccount.py#L398
By:
models = self.storage_client.models("2016-01-01")
parameters = models.StorageAccountCreateParameters(sku, self.kind, self.location, tags=self.tags)

In latest client, you can avoid having to specify again ApiVersion and do:
models = self.storage_client.storage_accounts.models
parameters = models.StorageAccountCreateParameters(sku, self.kind, self.location, tags=self.tags)

Cleaning up old issues from 2016 - 2018. Please reactivate this if it is still a problem.


Redirect to different QnA instance in lambda hooks

Hi,
I can't seem to find the syntax that the lambda function hook should modify in event['res'] object, in order to redirect the user to a specific QID. Can someone point it out please? Thanks.

Hi @plkmo  -  Lambda hooks are intended to be used to modify or replace the matched QID answer programatically.. They don't have a built in mechanism for redirecting to a different QID.  However, you can use Document Chaining to match a new QID.
A document chaining rules can be implemented as a Lambda function which can modify the event is all the same ways as a Lambda Hook, but which can also redirect to a new QID by modifying event.req.question.  See https://aws.amazon.com/blogs/machine-learning/creating-a-question-and-answer-bot-with-amazon-lex-and-amazon-alexa/#chaining

Hi @rstrahan, thanks for your reply, I will try document chaining lambdas then.


Add arrow display styles to Vectors layer

Fixes/Closes
Closes #4149
Description
This is a follow-up of the discussion #4149 in which adding different display style to the vectors of the Vectors layer was requested. As suggested by users @brisvag and @jni, I implemented a ComboBox in the GUI with 3 choices:

rectangle which is the old style of vectors, and currently the default value
triangle which displays vectors as triangles
arrow which displays a "classical" vector shape, with a rectangular shaft and a triangular head

Most of this contribution comes from additional functions to compute vectors meshes in _vispy/layers/vectors.py. Because changes are mainly in the function generate_vector_meshes_2D, there was no need to change anything in the functions _on_data_change or generate_vector_meshes, i.e it works natively with the 3D visualization.
The Vectors layer now provides a string parameter edge_display_style. Right now I check that any input string is one of [rectangle, triangle, arrow] in the setter of edge_display_style (in layers/vectors/vectors.py), but it does not feel like the right place. Also, I am not sure of my use of trans..
I have not included any real tests, and I am pretty sure that I have forgotten to update the description of at least one function...
Type of change

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

Final checklist:

[x] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.

That looks great!
Thanks for the contribution!
I've activated CI and requested some reviews!
❤

Quick note so I don't forget: make sure that display_out_of_slice still works!

WHOO ALL GREEN! 🚀

Oops, I was on vacation so I missed the conclusion of the PR ! :sweat_smile:
Many thanks to @jni and @brisvag for your patience and guidance. That was my very first PR to the Napari project, and I learnt a great deal. Hopefully more PRs will follow in the near future. :wink:
For the sake of completeness regarding the Vectors layer, I have a few suggestions for follow-up PRs:

The PR was merged before I could finish tidying up all the comments and docstrings. This is minor, but I will try to find the time to finish it in a follow-up mini-PR.

Yeah, I always doung length was a bad name, but it's pretty central and user-facing, so if we change it we should introduce deprecations (shouln't be too hard to do, happy to help here if you need it). I like scaling_factor, or ever more explicitly length_multiplier or length_scaling. @jni?

In the message above, @brisvag  suggested renaming length for something more suggestive, e.g length_multiplier.  If anyone versed in deprecations could help me on this one, this could be a quick fix.

Last comment about the length parameter: right now, if the "length changed" event is triggered (same for the width parameter by the way), generate_vector_meshes is launched again so that every meshes and triangles are computed again, which is highly ineffective as only the positions of a few vertices would actually need to be multiplied by a scalar.
Maybe a next PR could tackle this optimization issue.

In the message above, I point out an optimization issue regarding the length and width parameters: when they are changed, vectors are recomputed from scratch but only a few vertices/meshes would actually need to be modified.

Right now vectors are always specified and drawn starting from their base (the "tail" of the vector). A combobox could be added to choose the "tethering point" of the vectors. To me, offering this choice to the user is important because (i) the current implementation is useful when you want to draw simple vectors, (ii) tethering at the center of the vector could be useful for displaying nematics fields (in a nutshell, vectors without direction e.g liquid crystals), (iii) tethering at the tip of the vector could be useful to easily make arrows that point directly to a given position.

If any of these ideas are of particular interest to the community, please let me know!

All good options for future PRs!

The PR was merged before I could finish tidying up all the comments and docstrings

Always good to keep those updated, if we have missed something in the review :sweat_smile:
The rest are all good options for followup PRs. I wouldn't call any of them high priority (for myself or from what I've seen discussed in the past), so feel free to tackle whichever is most blocking for your own work, and I'll be happy to review!

In the message above, @brisvag suggested renaming length for something more suggestive, e.g length_multiplier. If anyone versed in deprecations could help me on this one, this could be a quick fix.

@jules-vanaret currently, this change is unreleased, so a quick followup PR would not need to go through the deprecation pathway!
Currently I don't have this slated to go into 0.4.18 (that is a special release off a branch that requires manual cherry-picking of changes to that branch), so we would have time, but I'm quite tempted to add it — if you think you could change that in the next ~24h I could add both and there would be no need for a deprecation!
Having said that 0.5 will contain lots of deprecations (that's why we are making 0.4.18), so one more doesn't bother me. 😅

tidying up the comments and docstrings

Definitely not urgent, but a PR would definitely be appreciated! 😊

optimization issue regarding the length and width parameters

As above — performance fixes (especially for relatively "rare" events) can be made in subsequent PRs — and will be much appreciated. 😊 But they are not essential.

Right now vectors are always specified and drawn starting from their base (the "tail" of the vector). A combobox could be added to choose the "tethering point" of the vectors.

I like this!
For all of the issues in that list @jules-vanaret, if you are not fixing them more or less immediately, it would be good to create separate issues so we keep track of them! 🙏

@jules-vanaret currently, this change is unreleased, so a quick followup PR would not need to go through the deprecation pathway!

No, we're talking about renaming the Vectors.length parameter, which has been there for years, so that definitely needs deprecation!

Thank you both for the feedback. I have tons of things to do this week so I probably won't be able to work on anything immediately. I'll try to create the new issues rapidly though.

No, we're talking about renaming the Vectors.length parameter, which has been there for years, so that definitely needs deprecation!

Ah, sorry, I get it now! But on the plus side this wasn't changed here, right?


[ENH] Conditional self-join with equality

is it possible to improve perf via a groupby for a conditional join with equality on a self join? since it is the same dataframe, there might be a perf gain?

preliminary checks ...  a merge is faster ... not worth pursuing this path


Run test commands from right-click menu

I'd like to have an option in the right-click menu to run the test at the position I've right-clicked, or run the current file's tests when inside a test file.
For example, I'd expect two menu options here:

I know it's possible using the CodeLens or the Command Palette, but I disabled the lens since it caused test files to become pretty cluttered, and the Command Palette is a bit inconvenient. It'd be nice to still have the functionality easily exposed. Maybe make it the right-click menu options an opt-in feature?

I've added the context menu items in version 2.11.0. Since I can't tell VS Code to show them only in test files (at least I don't know how) and didn't want to clutter the context menu, you have to explicitly enable them with the configuration property testExplorer.addToEditorContextMenu.


[mesheryctl] mesheryctl system config aks does not support Windows

Description
mesheryctl system config aks assumes that *nix is the OS that the user is running this command on.
Expected Behavior
This command needs made to be Windows-friendly. Windows doesn't have a $HOME environment variable.
Logs
Error getting contexts : open $HOME/.meshery/aks-kubeconfig.yaml: The system cannot find the path specified.

Reported by

@hippoz, @nikita15p

Duplicate of #1894

@kushthedude will you either reopen this issue and convert one of the two of the issues to cover gcp and minikube or will you update #1894 to cover all three of them?

Also, include @hippoz and @nikita15p handles one whichever remains open, so that they may be informed of progress and test when the issue has been fixed.

Sure updating #1894


docs: Update render as fetch to use anansi demo

Codecov Report

Merging #1801 (18526fa) into master (299c7ad) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1801   +/-   ##
=======================================
  Coverage   98.63%   98.63%
=======================================
  Files         103      103
  Lines        1901     1901
  Branches      383      383
=======================================
  Hits         1875     1875
  Misses         14       14
  Partials       12       12

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Build Satellite (Axelar) Subgraph

###  Deployment Status
- [ ] https://github.com/messari/subgraphs/issues/2007
- [ ] Arbitrum: https://subgraphs.messari.io/subgraph?endpoint=https://api.thegraph.com/subgraphs/name/tnkrxyz/axelar-arbitrum&tab=protocol
- [ ] Avalanche: https://subgraphs.messari.io/subgraph?endpoint=https://api.thegraph.com/subgraphs/name/tnkrxyz/axelar-avalanche&tab=protocol
- [ ] BSC: https://subgraphs.messari.io/subgraph?endpoint=https://api.thegraph.com/subgraphs/name/tnkrxyz/axelar-bsc&tab=protocol
- [ ] Celo: https://subgraphs.messari.io/subgraph?endpoint=https://api.thegraph.com/subgraphs/name/tnkrxyz/axelar-celo&tab=protocol
- [ ] Fantom: https://subgraphs.messari.io/subgraph?endpoint=https://api.thegraph.com/subgraphs/name/tnkrxyz/axelar-fantom&tab=protocol
- [ ] Moonbeam:  https://subgraphs.messari.io/subgraph?endpoint=https://api.thegraph.com/subgraphs/name/tnkrxyz/axelar-moonbeam&tab=protocol
- [ ] Polygon: https://subgraphs.messari.io/subgraph?endpoint=https://api.thegraph.com/subgraphs/name/tnkrxyz/axelar-polygon&tab=protocol

@dmelotik IIRC this needs to be QA'd still?

@dmelotik IIRC this needs to be QA'd still?

correct.

@tnkrxyz I sent to the ETH depoyment to Serenity Fund to do the indepth QA, so they should submit their own QA issue when they complete it.

Arbitrum: No data except last 5 days. Did it just get turned on?
Avalanche: Deployment error
BSC: Deployment error
Celo: Non-TVL looks ok but why zero TVL?
Fantom: Why does TVL only have data for last couple months but other metrics have it much farther back?
Moonbeam: Non TVL looks OK but why is there zero TVL?
Matic: Same question as Fantom

@tnkrxyz Just re-pinging you on this. If you could take a look at this before arrakis that would be great. Thanks!

@tnkrxyz Just re-pinging you on this. If you could take a look at this before arrakis that would be great. Thanks!

thx for the reminder! busy with arp dagster and aave-forks last week. started to look into this and arrakis.

thx @pietydespises !

Arbitrum: No data except last 5 days. Did it just get turned on?

The issue with data on arbitrum is that the price oracle is not finding prices for most tokens and defaulting to 0 and thus anything accounted in USD ends up in 0s. For example, the aUSDC pool clearly has activities since 2022-12
, but all USD metrics are 0s because there is no price for aUSDC.
Recently, they added arbitrum as one of the pools, for which the price oracle does find prices, the dashboard shows as if it is only actively since very recently.

Avalanche: Deployment error

fixed in #2093

BSC: Deployment error

fixed in #2093

Celo: Non-TVL looks ok but why zero TVL?
Fantom: Why does TVL only have data for last couple months but other metrics have it much farther back?
Moonbeam: Non TVL looks OK but why is there zero TVL?
Matic: Same question as Fantom

axelar supports burn-mint  (internal token) and lock-release (tokens external to axelar) mode of transfers. Only lock-release will add/remove TVL. burn-mint mode won't.  The issue that price oracle not finding prices is another factors with 0 TVL.

@pietydespises Updated those broken deployments in the links on the tasklist

Thanks @bye43 and @tnkrxyz :)
Avalanche looks wrong (thus is wrong). Why does TVL = TVE? Total Value Imported also looks strange, huge values but way before TVL and TVE spiked. Volume metrics also shifted in the same way.
BSC: Same thing, why does TVL = TVE? TVI looks like it could be right here.

@tnkrxyz Just bumping the above; in case, you have not seen

Thanks @bye43 and @tnkrxyz :)
Avalanche looks wrong (thus is wrong). Why does TVL = TVE? Total Value Imported also looks strange, huge values but way before TVL and TVE spiked. Volume metrics also shifted in the same way.

@pietydespises This again is a combination of two factors: we only include in the TVL for transfers using lock-release mode (for tokens not minted by axelar protocol). For outgoing transfers, the gateway contract will lock the token users want to transfer on the source chain (in this case avalance) and release the equal amount of tokens on the destination chain. vice versa for inbounding transfers. With burn-mint mode, an outgoing transfer burns internal token (such as axlUSDC) on the source chain and an equal amount of internal token is minted on the destination chain. vice versa for inbounding transfers. Since the oralce almost never find prices for internal tokens, if you only look at USD amount(tvl, tve, tvi), they will only reflect transfers using the lock-release mode (part of theme, as some of the external tokens may not have prices). If you look at the transfers, you will see we have both transfers in the subgraph data.

BSC: Same thing, why does TVL = TVE? TVI looks like it could be right here.

same as avalance.

Does what you said above "axelar supports burn-mint (internal token) and lock-release (tokens external to axelar) mode of transfers. Only lock-release will add/remove TVL. burn-mint mode won't." explain it?

Does the above explanation help?

@tnkrxyz Just bumping the above; in case, you have not seen

@bye43 , thx for the reminder! responded above.

Thanks for the in-depth explanation @tnkrxyz ! Will the oracle be able to find more prices eventually to cure this imbalance we have in the graphs?

Thanks for the in-depth explanation @tnkrxyz ! Will the oracle be able to find more prices eventually to cure this imbalance we have in the graphs?

good question. @bye43 probably has more insights, but my understanding is that fixing prices within subgraphs is not priority atm.

@tnkrxyz Ya atm we are just doing what we can with steeges new pricing library. If the pricing issues still persist, we will just use the deployments with good pricing for now and revisit the pricing another time. @pietydespises with this is mind, could you lmk which deployments you think are good for PM and which are not?

@bye43 none of these look displayable atm.


Remove fs and add centimetric points

This is my first significant contribution attempt, please tell me what you think :-)
I propose to remove the 'fs' dependency and insert the shader text in glify.js directly with a plugin made for this use case. It allows glify.js to be included more easily, I think.
I added a new vertex shader for centimetric points.
I added a centimetric points line on the index.html example and edited the readme.

fs bug is now handled as the project is built using typescript, can you re-evaluate, and update the PR to account for the new format and conflicts?

Closing as we no longer use fs directly.


How to use and extend the MRS software platform?

Hello MRS team,
Note: @klaxalk asked me to place my questions here since he will go on holiday.
As I told some of you during the MRS summer school, I (and some of my colleagues) would really like to use (and possibly extend) your system for research on constrained and distributed control of aerial swarms.
Currently, we have two identical quadrotor builds composed of:

F330 frame kit
Motors: Racerstar Racing Edition 2216 BR2216 1400KV
Props: Gemfan 8045 8X4.5 8 Inch Carbon Nylon Propeller EPP
ESCs: Racerstar RS30A Lite 30A Blheli_S BB1
Battery 3S: ZOP Power 11.1V 2800mAh 3S 60C Lipo Battery XT60 Plug
Transmitter: Flysky FS-i6X i6X 10CH 2.4GHz AFHDS 2A RC
Receiver: FS-iA10B
Companion computer =  flight controller (in my setup): raspi 3b+ and navio2 shield
GPS: navio2 GPS/GNSS antenna
No additional sensors (yet). Only the minimal necessary to make it fly and do position control.

I can teleoperate the drone using ardupilot (running on the raspbian OS) and I can calibrate/configure the settings using QGroundControl.
I did not yet test position control with gps, but would like to test it with your framework.
The questions I have:
1. If possible without expecting "big issues/risks of incompatibilities" and too much "lost time", it would be great if your system (and the ardupilot or px4 autopilot) can run onboard a cheap raspberry pi (model 3 or 4)
1.1 What is the quickest way to test if there is enough CPU/RAM on the raspi to run your software and the ardupilot or px4 autopilot?
1.2 Would it be enough if I install Ubuntu 18 server on the pi and try doing your 1 drone simulation tests?
2. CONFIG A:  On the raspi I currently have raspbian OS, the specific version preconfigured by emlid for ardupilot on navio2. In your setup, you are running PX4 on pixhawk hardware. You have an intel nuc as a companion computer with ubuntu 18 and in my setup I use the raspi as both autopilot and companion computer.
2.1 Did you install the ubuntu 18 full desktop version or server version of the NUC?
2.2 Both ardupilot and PX4 seem to be -but I have no experience with this- compatible with MAVROS. So assuming I only use a single raspberry pi and navio2, which OS should be installed on the pi (raspbian by emlid, ubuntu server, ubuntu mate, ...)?
2.3 Should I still use ardupilot or should I use PX4 as you do? PX4 on raspi seems experimental/discontinued, assuming this is not an issue, which build to choose: native or cross-compiling? You don't seem to have a make working for this target yet.
3. CONFIG B: If it would be easier or if I need more compute power at some point,
3.1 would I still be able to use this raspi and navio2 as flight controller (running PX4 or ardupilot) and add another companion computer (e.g. an intel nuc or raspi, ...)?
3.2 Which OS to install then on the companion and on the raspi?
3.3 So should I do something similar as explained in your wiki and connect the navio2 UART port with an FTDI serial to USB converter to any onboard computer we want to use that can run your system?
4. Assuming I have a system that can be configured to run your software using CONFIG A and/or CONFIG B. Which steps should I prepare in simulation and follow during the real experiment to test safely some outdoor flight (e.g. running your MPC tracker) using gps with a single drone (my custom build)?
5. What changes if I want to test a basic example for 2 drones using normal gps?
6. If I understood correctly, you are also using RTK gps:
6.1 Is it correct that you mainly use this if you want to know precisely the distance between 2 drones? With normal gps there are relative position errors of the order of 1 meter, right?
6.2Which specific RTK gps do you use? Does it work well?
7. As a final backup strategy it would be great if you could provide a list with the drone hardware (e.g. F450) such that we can buy the components and are 100% sure everything will be compatible.
Many thanks for all your help and suggestions!
Best,
Bryan

1 The system should run as-is on a Raspberry Pi or most of the other common ARM-based platforms (e.g. Jetson TX, Xavier NX or the Odroid).
1.1 Run the simulation environment on a separate computer, connected through Ethernet LAN to the Raspberry Pi/whatever. Run the MRS self-localization and control pipeline on the device to be tested for CPU/RAM. The px4 autopilot runs on a separate embedded microcontroller (we use the PixHawk autopilot HW), so it's not limited by computational resources of the onboard PC. According to our experience, the system should run out of the box onboard a Raspberry Pi or equivalent platform.
1.2 Enough for what? If you want to test the CPU/RAM load, bear in mind that the simulation itself is significantly more computationally demanding, then the MRS self-localization and control pipeline. Therefore if you run the whole simulation on the Raspberry Pi, you'd be testing the computer as a simulation platform and not as an onboard computer platform, which is probably not what you want. If you just want to run the MRS pipeline, you can get off with a much weaker CPU than for a whole simulation.
2 In general, I'd say just try to install our system on a freshly flashed Raspberry Pi with Ubuntu 18.04 and see what works and what doesn't. It should work. If you encounter any specific problems, try to solve them one by one (pull requests welcome) or contact us in case you need something from our side.
2.1 We use the normal desktop version of Ubuntu, because we usually utilize GUI for debugging purposes etc. (our full Linux setup is available here: https://github.com/klaxalk/linux-setup). However, a minimal installation should be sufficient. Worse case, you might encounter some missing packages, which will have to be manually installed, if we forgot about some in the installation scripts.
2.2 I also have no experience with ardupilot, but AFAIK, it should be compatible with MAVROS. We use px4. Regarding the OS, we're using Ubuntu 18.04, so I'd start with that, if possible. The flavor (lubuntu/xubuntu/kubuntu) is irrelevant, as we don't rely on the window manager anyways (in fact, we use a separate window manager for work - the i3wm, but the MRS pipeline is completely separate from a WM).
2.3 See response to 2.
3 Instead of this solution, I'd recommend using the PixHawk in place of the Raspberry Pi. This is the solution we are using currently and have experience with. We've not tested using Raspberry Pi or any other embedded computer in place of the PixHawk.
3.1 I don't see why not, but we can't really help you with this solution as we have no experience with it.
3.2 I guess whichever suits you the most. On the computer where you intend to run our pipeline, I'd recommend using Ubuntu 18.04, since that's what we are using.
3.3 That seems like a possible solution if you insist on using navio2 as the flight controller instead of PixHawk.
4 I refer you to our documentation: https://ctu-mrs.github.io. There is a specific section about simulation with a detailed tutorial on how to set up a basic simulation experiment, which is a good starting point to see that everything is working. Then you should add your specific HW platform into the simulation environment and test the system with it. You'll most probably have to set the correct weight, dimensions, motor layout and motor constants. @klaxalk may provide better details regarding this procedure. After your platform is flying in simulations, you can try going to real-world experiments.
5 You add another drone ;) On a more serious note - you should have the drones on a common LAN over WiFi and enable the collision avoidance to... well... avoid collisions. Although perhaps your question was more specific? If so, please rephrase.
6 Yes.
6.1 With normal GPS, there are potentially much larger position errors. It wildly depends on specific conditions (satellite visibility, EM interference, quality of GPS etc.). Nowadays, we're using RTK GPS mostly as a ground-truth for evaluation of various localization and detection algorithms.
6.2 We were using the Tersus GNSS RTK, but we don't have very good experience with it. It takes forever for the GPS to acquire RTK fix and communication between the base station and RTK modules is unreliable. We've been testing a new solution - @DanHert may know more about that.
7 I'll look for some list. Again, @DanHert may have a better idea.
Hope this was helpful :) Feel free to ask more questions in case anything is still unclear!

Thanks a lot for the responses!
I'll keep you posted if at some point this alternative raspberry Pi + navio2 solution would be working.
But first, I prefer to walk on a safer road and learn how to use the exact same hardware setup as you are using.
I have one main follow-up question concerning the transition from simulation to real-hardware tests.
Assume I have built the same F450 drones as you have (so using intel NUC) and the mrs-uav-system is installed on the NUCs.
Assume that the multiple NUCs and a ground station are connected via router over a common LAN over WiFi.
Up to now I only ran some basic simulation tests e.g. three drones gps by running those simulation Tmux sessions. Is there any equivalent basic tmux session for outdoor swarm use you could point me to? I assume from the ground PC you are telling each NUC somehow to only run a specific part of the code. That part is not clear how you do that.
Thanks!

Hello, regarding the tmux sessions that run on the drones, we have examples here:
https://github.com/ctu-mrs/uav_core/tree/master/tmux_scripts
We use bare tmux scripts for real drones, not tmuxinator.
You simply SSH into the drone over wifi, and run the tmux script there.
You can also set your computer in a way to run the required tmux session right away on computer startup.


InlinePanel displayed within MultiFieldPanel needs visual improvements

The rules for when a label/heading should or shouldn't appear are causing undesirable effects when inline panels are not a direct child of a content/promote panels. The labels/headings are hidden creating a confusing and unlabelled output of lots of fields and buttons.
The CSS needs to cater for a wider range of permutations of one panel-type appearing within another.

This feels a bit too vague - overlaps with what we’re up to with the page editor redesign, so I’ll close this now.


Attachments as byte.buffer

Can you add a option to add attachments as memory instead of files.

Hi @aphsa,
first I would like to thank you for your suggestion,
it's not a common thing that developers do everyday, to have files in the memory, so there is no need to implement the handling of attaching the in memory files, instead, you can write your byte.buffer  to a temp file, refer to the code below for more details.
Thanks.
	// first create a temp file
	filePath := ("./my-file.tmp")
	file, err := os.OpenFile(filePath, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 666)
	if err != nil {
		panic("error creating temp file")
	}
	defer file.Close()
	// write the buffer content to the temp file
	_, err = file.Write(buf.Bytes())
	if err != nil {
		panic("error writing to the temp file")
	}
	// add the file to the attachments
	mailer.SetAttachments([]mailing.Attachment{
		{
			Name: "your attachment file name",
			Path: filePath,
		},
	})

	// make sure to remove the temp file after done sending
	os.Remove(filePath)


Added getResetToken functionality to admin-only route.

As discussed.

I've merged this into 1.0.X instead.
Available from 1.0.10 and 1.3.1 onwards


Fix fromSample for exponential distribution, take 2.

Hi,
Unfortunately, my previous fixes for exponential distribution of fromSample were not enough.
Summary of problems
For one thing, the formula is mean in that it used (ED (mean xs)), but ED takes the rate, not the mean, so it should be (ED (1/(mean xs))) instead.
Second, the requirement that all the data point must be non-negative to fit an exponential distribution is counter-productive.
Why allow negative values?
If the data points are a noisy, some of them can end up being negative, even if the underlying distribution is generally exponential.  It would be better if fromSample still worked for such noisy samples, rather than gratuitously returning Nothing instead.  Remember that in practice, pretty much all data is noisy to some extent.
I think that in general, fromSample should return a non-Nothing fit for any distribution if doing so is possible, i.e., will result in a reasonable fit with valid distribution parameters.
In the case of the exponential distribution, this means that the sample mean must exist (i.e., there must be at least data point, no NaN values), and it must be positive.
Example
As an example, below some sample code that generates exponentially distributed data (rate = 2), and adds some unbiased Gaussian (standard normal) noise on top of it.  Our goal is to recover the underlying exponential distribution from the sample (i.e., to replicate fromSample's task).  Three methods are considered:

Simply compute 1/mean.  This corresponds to fromSample if it allowed negative values.
Discard negative values before doing 1/mean.
Clamp negative values to 0 before doing 1/mean.

The discarding and clamping methods above correspond to workarounds if one were to use fromSample, but needs to first fix up the data so that fromSample does not reject it due to negative values.
For the first method I get the estimated rate 2.03, for second and third0.91 and 1.37 respectively.  This illustrates not only that the workarounds are inferior (to the point of uselessness in this case), but also that the negative values contribute information on the true value of the rate.
-- Generate a noisy sample.

import Control.Monad
import qualified Data.Vector.Unboxed as V
import System.Random
import System.Random.Stateful

import Statistics.Distribution
import Statistics.Distribution.Exponential
import Statistics.Distribution.Normal
import Statistics.Sample as S

main = do
    let g = mkStdGen 10
    let l = 100000          -- number of samples

    -- Generate samples on base distribution
    let de = exponential 2
    let (se, g') = runStateGen g $ V.replicateM l . genContVar de

    -- Generate noise samples
    let dn = normalDistr 0 1
    let sn = if True then
                runStateGen_ g' $ V.replicateM l . genContVar dn
             else
                V.replicate l 0

    -- Add the two to get our noisy distribution
    let v = V.map (\ (x, y) -> x + y) $ V.zip se sn

    -- Estimate the exponential with different methods.
    putStrLn $ "The first few samples: " ++ show (V.take 10 v)
    putStrLn $ "Parameter fit: " ++ show (1/(S.mean v))
    putStrLn $ "fromSample: " ++ show ((fromSample v)::Maybe ExponentialDistribution)
    putStrLn $ "\nAlternatives:"
    let v' = V.filter (>0) v
    putStrLn $ "Parameter fit obtained by discarding negative values: " ++ show (1/(S.mean v'))
    let v'' = V.map (\ x -> if x > 0 then x else 0) v
    putStrLn $ "Parameter fit obtained by clamping negative values: " ++ show (1/(S.mean v''))

For one thing, the formula is mean in that it used (ED (mean xs)), but ED takes the rate, not the mean, so it should be (ED (1/(mean xs))) instead.

This is bad. I'll fix it

Second, the requirement that all the data point must be non-negative to fit an exponential distribution is counter-productive.

Actually I think that fromSample is just bad function. I doesn't even attempt to quantify how likely that sample comes from distribution in question. But that will require some serious rework of API
Dealing with negative samples is somewhat delicate question. In that case we're dealing not with exponential convolved with some normal-like distribution presumably with unknown but small width. It's delicate stuff I need to think about it.
P.S. $\lambda = \bar x/ N$ is not ML estimator for exponential distribution. Simple ML estimator will not work for sample with negative values since $p(x<0) = 0$ for any λ so likelihood becomes zero too.

Second, the requirement that all the data point must be non-negative to fit an exponential distribution is counter-productive.

Actually I think that fromSample is just bad function. I doesn't even attempt to quantify how likely that sample comes from distribution in question. But that will require some serious rework of API

Yes, agreed.  Another problem with the API that I found is that sometimes, some parameters are known, and one would like to fix them, rather than have fromSample find them.  For example, for the binomial distribution, in some applications the $n$ is known, and only $p$ needs to be found.  fromSample does not support that kind of use case.

Dealing with negative samples is somewhat delicate question. In that case we're dealing not with exponential convolved with some normal-like distribution presumably with unknown but small width. It's delicate stuff I need to think about it.

Understood, and agreed.
As a note aside, the noise does not have to be normally distributed; the estimator $1/\bar{x}$ will converge to the correct value for any zero-mean iid noise, not just zero-mean normal noise.

P.S. λ=x¯/N is not ML estimator for exponential distribution. Simple ML estimator will not work for sample with negative values since p(x<0)=0 for any λ so likelihood becomes zero too.

Interesting, I hadn't noticed this!  Pedantically, though, since every value of $\lambda$ has likelihood 0 in this case, the choice $\hat{\lambda} = 1 / \bar{x}$ certainly maximizes the likelihood function, and is thus ML.  It's just not the unique choice that does that. (Every $\lambda$ does, as you correctly point out.)
The bigger point is that ML is no silver bullet.

As a note aside, the noise does not have to be normally distributed; the estimator 1/x¯ will converge to the correct value for any zero-mean iid noise, not just zero-mean normal noise.

Actually, zero-mean and finite variance.

I gave it some thought and you're right. This change will work for exponential data smeared with symmetric experimental errors. It will inflate error but we aren't computing confidence intervals anyway.

Another problem with the API that I found is that sometimes, some parameters are known, and one would like to fix them, rather than have fromSample find them.

I think this function was a mistake. Poor single function just can't do all sort of different tasks. But designing proper API (EDSL?) for fitting models is difficult.

Pedantically, though, since every value of λ has likelihood 0 in this case, the choice 1/x
certainly maximizes the likelihood function

Estimator doesn't improve as more data is added. And working with something that happens with zero probability is really uncomfortable :)

The bigger point is that ML is no silver bullet.
Well, nothing is


pull request for e2e test at 12/27/2016 11:56:11

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


feat(images): replace images in authentication, FAQ, and hero header sections

Closes #526
Description
This PR replaces specific images in the Yamada UI components that previously referenced images from Mantine. These updates ensure unique visuals across the following sections:

Authentication with Image
FAQ with Image
Hero Header with Background Image
Hero Header with Bullets
Hero Header with Content on Left

Current behavior (updates)
Currently, these components use images that may be identical or similar to Mantine's.
New behavior
The PR introduces new images, replacing the previous ones, to establish a unique and cohesive visual presentation across the specified sections.
Is this a breaking change (Yes/No):
No
Additional Information
No

@RudhraBharathy
Hi, Thanks for the PR!
A week has passed since this PR was created, so maintainers will be joining this PR.


Redo CI setup

Have worked through setting up a new C# build process with Sky.  Will leave the existing CI setup as is.


Deploy the unminified versions to each package as well

Closed by https://github.com/emotionLoop/visualCaptcha-frontend-core/commit/75ae80f8666f203fdbd8c0f35aa58b749744f5d7


Update LVGL and lv_driver version to release/v8.3. Remove archived lv_examples (lv_demos).

lv_examples repo is currently archived and all example codes have been moved to LVGL demo code.
The SDL support is updated in the latest released version.
This build was tested under Ubuntu 23.04.

Very nice! Thank you!


Enable N300

Currently tests fail on N300, please fix and enable CI

@mrakitaTT, we're getting closer to running more multi-device tests and we'd like to leverage Jax to do so.  Do you know if this is still an issue?

@nsmithtt no one has worked on this yet and we still have a hardcoded int device_info_count_ = 1; hack in order to be able to use n300 devices to run tests. The last tech sync when Wooseok was presenting the multi device progress I was wondering how is he getting the hlo graphs and if he is using tt-xla for his work, but haven't yet gotten to asking him.
@ajakovljevicTT this might be a good PJRT task for you or Sanja, can you please investigate what fails when you disable the device count hack and how device is selected in PJRT etc?

I think we got multi device stableHLO IR from a multi-device google collab and have been working directly from the stablehlo.  Or @wooseokTT did you hack PJRT to make it work for a one off test?


Fix #1537: UTF-8 decoder: do not swallow bytes at the end of the buffer.

LGTM. I will rebase #1533 once this is in.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/1492/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/1922/
Test FAILed.

retest this please

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/1493/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/1923/
Test PASSed.


Add instructions for using as assignments in LMS

Many teaching institutions use learning management systems (LMS), such as Teams for Education, Canvas or Moodle.
As part of the teaching guide, it would be great to have guides on how to include the lessons content in classes inside the LMS and the projects as assignments.

hi, we went down this road a little in the for-teachers.md file. We originally thought folks would use GitHub Classroom with this. But making it usable for other LMS's would be an excellent idea. I'd love to see this prototyped particularly for Teams

I would love to contribute in this can you guide for the same? What we actually need to do?

hello @mukeshmjn - thank you for your interest. The idea is that if someone is using Canvas, Blackboard or Moodle, we can write up instructions on how to make these lessons work for those systems. Ideally that would take the form of a new markdown file (like Canvas.md) in this repo, added as a PR which I will review. You can add screenshots of how to set up these systems to use these lessons.

I have some suggestions for blackboard . What we can do is as we can add these lessons as part of their curriculum and upload everything on the platform and set a time like they need to complete it in 2 months and the amount of sessions and assignments they complete . The teacher will review and grade them accordingly.

3KgnUVLChnbYCp8qhAitZZu8PSRYGg3Z3M

3KgnUVLChnbYCp8qhAitZZu8PSRYGg3Z3M@jlooper

Update: I have a version of this course working in Moodle, very interesting!

hello @mukeshmjn - thank you for your interest. The idea is that if someone is using Canvas, Blackboard or Moodle, we can write up instructions on how to make these lessons work for those systems. Ideally that would take the form of a new markdown file (like Canvas.md) in this repo, added as a PR which I will review. You can add screenshots of how to set up these systems to use these lessons.

Hum

Hi @jlooper as discussed you should be using Common Cartridge http://www.imsglobal.org/activity/common-cartridge
Common Cartridge is a specification that describes format for creating and sharing primarily educational digital content. The specification is developed by IMS Global Learning Consortium and describes in details the packaging format and infrastructure needed to support format for presenting it to the end-user.
Moodle
https://docs.moodle.org/dev/IMS_common_cartridge
Blackboard
https://help.blackboard.com/Learn/Administrator/Hosting/Course_Management/Common_Cartridge_Course_Packages
Canvas
See https://community.canvaslms.com/docs/DOC-15586

Ive added instructions for Moodle and Canva.

Todo: add images to teachers instructions and close this

Interesting

Interesting

Cool
On May 31, 2021 7:46 AM, "Arobieke Tolulope" @.***>
wrote:
Interesting
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/Web-Dev-For-Beginners/issues/207#issuecomment-851234675,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATC6EL6IMVKMS5MFL52Y753TQMWEZANCNFSM4YBNSZPA
.

complete


YAML serializes a license containing a tab as one long double-quoted string

I'm not sure what can be done about this, as it may be down to the YAML format and/or serializer, but if cargo-bundle-licenses bundles a license that contains a tab character (which occurs in some copies of the Apache 2.0 license at the start of the http://www.apache.org/licenses/LICENSE-2.0 line telling you where to acquire a copy of the license) and outputs YAML, then the text of the license in the YAML document will all be on one 10k+ character line of the form text: "                              Apache License\n                        Version 2.0, January 2004\n....  I find this annoying and hard to read.

My personal view on this is that it's not an issue. The YAML isn't intended to be human readable, but as an input to further tools that could create a nice display of the licenses involved. I would not oppose a PR to make this nicer though 👍


React other people messages and adding voice notes

Title
React other people messages and adding voice notes
Description
I added a feature where one can react to other messages and give voice notes
#25 is still on ongoing need some changes in it.
Video link:
https://youtu.be/YYX7MOqyNw8

Here this recording option is there
And recording is on it is visible.

This R can be changes with an icon

Issue Ticket Number
Fixes #24

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[x] I have followed the contributing guidelines of this project as mentioned in CONTRIBUTING
[x] I have checked to ensure there aren't other open Pull Requests for the same update/change?
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes needed to the documentation

Hi @Chelseasingla1,
Any updates?

Hi @Chelseasingla1, Any updates?

Hi i need some more time


support redact=false with staged-configure-director

With the new release of redact=false, the command staged-director-config can include credentials, such as vcenter_password, which were previously being filtered out.

This has been implemented and accepted.


onItemUpdated doesn't return the updated row but the updating one

I was trying to change the row after updating using the onItemUpdated callback and was impossible. Then I saw this in the source code:
this._callEventHandler(this.onItemUpdated, {
row: $updatingRow,
item: updatedItem,
itemIndex: updatingItemIndex,
previousItem: previousItem
});
I guess that $updatingRow means that is not returning the updated row.

Looks like a bug. Thank you for pointing this out!


[DOCU-2966] Add MinK permissions

Description
What did you change and why?

Updated the Manage Teams doc because they added a new tab for Mesh Control Plane.
Added a new table to Roles Reference for the Mesh control plane roles

Include any supporting resources, e.g. link to a Jira ticket, GH issue, FTI, Slack, Aha, etc.
DOCU-3217
Testing instructions
Netlify link:
Checklist

[x] Review label added
[x] PR pointed to correct branch (main for immediate publishing, or a release branch: e.g. release/gateway-3.2, release/deck-1.17)

Broken links are just because of twitter, so ignoring those.


Unzoom Video in Stories

Hello, great library!
I'm using it to upload videos to stories but the video is automatically placed to fill the screen and instead I want it to fit the screen:
example

I tried changing these parameters but they don't seem to work.
https://github.com/adw0rd/instagrapi/blob/964717f4c82f0588efd1a185d12a103a72b336dc/instagrapi/mixins/video.py#L616C21-L617
Is there an official way of making the video fit the screen instead of filling it?
Thank you

I have been the same issue not only with videos but also photos while uploading them to stories


New formula libpointing-binary

This is the binary version of the libpointing Formula. Binary version has platform specific functionality and research data.
Libpointing is a software toolkit that provides direct access to HID pointing devices and supports the design and evaluation of pointing transfer functions.
The toolkit provides resolution and frequency information for the available pointing and display devices and makes it easy to choose between them at run-time through the use of URIs. It allows to bypass the system's transfer functions to receive raw asynchronous events from one or more pointing devices.

The extra functionality in this binary can't be built from source?

@BrewTestBot test this please

No, it is not possible to build it from source. We cannot show source codes for this version.

Is there a more specific name for this than libpointing-binary? I'm concerned that users might not understand what the distinction is.

libpointing-binary appears to be the most suitable name for this formula as it only contains the compiled version of the library together with the headers. We will clearly explain that on the libpointing website.

libpointing-binary appears to be the most suitable name for this formula as it only contains the compiled version of the library together with the headers. We will clearly explain that on the libpointing website.

I think we'd like to see that before this gets included (and more details on the license).

Is there not a name that more clearly distinguishes what the different functionality is? There's already a libpointing formula in core, so I'd rather see a name that gives a sense of what the difference is - not just the info on the libpointing site.

Any update here?

Hello, could you please close this pull request. No need to merge it. I have created a separate tap. And could you please remove "libpointing" formula from the main tap.


AABB vs. AABB collision in Ninja

Nearly all of the work required to get AABB vs. AABBs to work in Ninja was already present.
reportCollisionVsWorld already worked, and contained all of the logic required to resolve a collision once the appropriate vectors had been established. reportCollisionVsBody was refactored to use that function (now generically named reportCollision), and now AABBs can collide properly, including bouncing and friction. reportCollisionVsWorld is now just a wrapper around reportCollision to maintain compatibility.
You can grab a testfile based on the phaser tutorial demo here. All the entities are Ninja AABBs.

Lovely, thank you.


Flutter example Stream.listen

In found that in the Flutter example's initState() method there is a listener on the stream of the store's state object:
store.stream.listen((AuthState state) {
   setState(() {
     _googleSignInAccount = state.googleSignInAccount; // my own state property
   });
});

should I use this mechanism to for example rebuild a list of items when the list changes?

Probably, but sounds like an overkill, Isn't there any other way to keep that reference? I would at least filter for different instances.
The flutter example is quite outdated, I need to relearn Flutter and update it.


python-cffi: fix clang build

Motivation for this change
cffi broke on darwin with the last update.
@FRidh any idea why the patch is necessary for 2.7?
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Changelog: http://cffi.readthedocs.io/en/latest/whatsnew.html#v1-11-2. Previous version was 1.10.0.

Undid the merge in https://github.com/NixOS/nixpkgs/commit/94c4a6c0b1961a5cba988f6ba8e7cf7ea2c72794. Sorry for that!


Enable/disable Bluetooth on Android

This is a follow-up to PR #784, which introduced a method IBluetoothLE.TrySetStateAsync for enabling or disabling the Bluetooth radio (and only implemented it on Windows for the start).
It seems that this should also be possible on Android, via the method mentioned here:
https://stackoverflow.com/questions/76858093/how-to-activate-deactivate-bluetooth-in-net-maui
Would be great to have this implemented. 😃

Hi @janusw,
I'm the friendly issue checker.
It seems like (100.00 %) you haven't used our issue template :cry: I think it is very frustrating for the repository owners, if you ignore them.
If you think it's fine to make an exception, just ignore this message.
But if you think it was a mistake to delete the template, please close the issue and create a new one.
Thanks!

@axa88 Would you like to look into this? Otherwise I might take a stab ...

@axa88 Would you like to look into this? Otherwise I might take a stab ...

It's certainly on my radar.

JFI: I implemented this on App level because starting with Android 13 (API 33) you you are no longer allowed to call the method to enable/disable BLE (var setStateOnOff = bleCurrent.GetType().GetMethod("SetStateOnOff");).
Instead you have to call something like
StartActivityForResult(intentBtEnabled, REQUEST_ENABLE_BT);
in an Activity. This call will popup a request to the user if he likes to switch on BLE.

JFI: I implemented this on App level because starting with Android 13 (API 33) you you are no longer allowed to call the method to enable/disable BLE (var setStateOnOff = bleCurrent.GetType().GetMethod("SetStateOnOff");).

Yes, the enable/disable methods of the BluetoothAdapter are deprecated in API 33:
https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#enable()

Instead you have to call something like StartActivityForResult(intentBtEnabled, REQUEST_ENABLE_BT); in an Activity. This call will popup a request to the user if he likes to switch on BLE.

I assume you mean BluetoothAdapter.ACTION_REQUEST_ENABLE, which was suggested in the Stackoverflow thread mentioned above.
https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#ACTION_REQUEST_ENABLE

@axa88 Would you like to look into this? Otherwise I might take a stab ...

@janusw I'm jammed with work for the foreseeable future and not up to speed on the workings of this library.  Please feel free to implement at your convenience.
And while at it perhaps confirm the IBluetooth State properties and event on WinUI.  I'm pretty confident there is issue

@janusw I'm jammed with work for the foreseeable future and not up to speed on the workings of this library. Please feel free to implement at your convenience.

Ok, thanks for letting me know. I have just opened PR #823 for it (and would be grateful for some testing and feedback) ....

Fixed via #823.


Investigate accessibility of this tab design

I'm not a 100% sure if this tab design is super accessible, even though it does work and is keyboard-navigable. Me/Someone should probably spend some time investigating whether this design is indeed accessible, and how we can improve things here if needed.
A useful place to start reading would be https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/Tab_Role.

Just wanted to open an issue; but am replying here since it's relevant:
Disabling the focus outline is bad for keyboard accessibility.
https://github.com/pradyunsg/sphinx-inline-tabs/blob/97e409eec35f67224f48e13311fe8448d7027778/src/sphinx_inline_tabs/static/tabs.css#L58
If you hit Tab you should see which element has the focus, making the focus invisible makes keyboard navigation very confusing.

bad for keyboard accessibility.

Yea... experimenting with this extension a bunch, it seem to me that there's a bit of work necessary to improve the keyboard accessibility of this extensions.

There should be at least a single distinction when the tabs are focused:
.tab-set > input:focus + label {
    outline-style: auto;
}

Because it's easy to lose track of what is selected.

Also, the tabs don't sync when selected with the keyboard.