Error when updating Temp HP from macro

I am using the following macro to update my players' temp HP for the inspiring leader feat:
for(const user of game.users) await user.character?.applyTempHP(7);
This results in an error and no messages are generated by healthEstimate:

That's Health Monitor, not Health Estimate.

Oh my, I'm sorry! Please disregard and delete this issue, then.


Custom SMS Provider

Feature request
Is your feature request related to a problem?
Yes. i current building app that require SMS OTP authentication.
Due my SMS API provider not available in current Supabase supported SMS provider so i can't provide SMS OTP in my app.
Describe the solution you'd like
Give option to use external SMS provider through webhook.
So when SMS OTP requested through Supabase API, then Supabase will send request to configured URL and check the condition (that will configured on dashboard)
Describe alternatives you've considered
Currently i not provide SMS OTP on my app, but the plan is self-hosting and add my SMS provider logic
Additional context
None.

hi, just wondering, which sms provider are you using currently?

@kangmingtay currently using local sms provider https://nusasms.com/

I guess this is an duplicate of https://github.com/supabase/gotrue/issues/385

okay, closing this


Meta tags

Fixes
I tried sharing the site link on Whatsapp and Whatsapp  and twitter. On twitter the functionality of meta tags is working fine but it doesn't as intended on Whatsapp . So I added a neat description and an image. This PR fixed part of that issue
Fixes #60
Types of changes

[ ] Bug/Hot fix (non-breaking change which fixes an bug)
[ ] New feature (non-breaking change which adds a functionality/feature)
[x] Refactoring Old Code ( non-breaking change replacing already existing code)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description
I think adding images is a good way.

Preview Link
There won't be any visual change in the website yet there will be a visual change when the website link is shared over social media platforms
I think in this case preview link doesn't add value.
Checklist:

[x] I have read the CONTRIBUTING guidelines in repository.
[ ] My pull request has a descriptive title and is attached to an existing issue.
[x] I haven't repeated the code and it follows established code style of repository.
[x] My branch is up-to-date with upstream branch.

Great 🚀


Fix concurrency issues in adm & c2dm discovered by "go vet"

Thanks to Tyson Andre for this:
There is a race condition where the loop variable dp being iterated
over may be changed before the corresponding goroutine may execute.
We don't use amazon notifications or Google's c2dm(we use gcm instead), so this won't fix any of our concurrency problems.
This was introduced years ago in the upstream code, in 97a19790 and b11f9a19
This type of race condition is mentioned in
https://golang.org/doc/effective_go.html#channels
Detected with the command:
go tool vet --all=true .

@monnand

Great! To be honest, I really wish I had some unit test in this projects. It's hard to spot bugs like this.
Thank you so much, @mishan !


Reproduce figure 2 b-g

Hi, could you provide code to reproduce figure 2b-g in your preprint? Or at least could tell how to rerun the analysis workflow?

https://github.com/snap-stanford/GEARS/issues/5


Cant set breakpoints while debugging the Perception Module in VSCode

Describe the bug
I am trying to set breakpoints and debug the Perception module.
The error shown is "Module containing this Breakpoint has not yet loaded, or the breakpoint address could not be obtained."
The main document I am using for this is : 'https://github.com/ApolloAuto/apollo/blob/master/docs/howto/how_to_build_and_debug_using_vscode.md'.
The debugging runs fine, but for all the breakpoints that I have set, it shows the following error :
"Module containing this breakpoint has not yet been loaded".

To Reproduce
Steps to reproduce the behavior:
1.Follow the steps mentioned in https://github.com/ApolloAuto/apollo/blob/master/docs/howto/how_to_build_and_debug_using_vscode.md .
Replace the planning module wih the PID of the Perception module in .vscode/tasks.json, like so : bash docker/scripts/dev_start_gdb_server.sh (PID of Perception module) 1111".

Expected behavior
We should be able to set breakpoints in VSCode while debugging the Perception Module
Screenshots

Desktop (please complete the following information):

OS: Ubuntu 18.04

Additional context
Related issue : https://github.com/ApolloAuto/apollo/issues/10932

cyber_recorder play -f (file) -k /apollo/perception, kill the perception module that you want to debug.
Play recording file or demo file (cyber_recorder) then look inside the perception module ( cyber_monitor) and Also look inside at the modules that are required for perception.
Turn off all the modules in dream view, when you debug using vscode

Thank you so much for your response.

I made this Youtube video about this problem, in case anybody experienced the same :
https://www.youtube.com/watch?v=Bil0fICqurw
The threads dont stop on the selected breakpoints.

cyber_recorder play -f (file) -k /apollo/perception, kill the perception module that you want to debug.
Play recording file or demo file (cyber_recorder) then look inside the perception module ( cyber_monitor) and Also look inside at the modules that are required for perception.
Turn off all the modules in dream view, when you debug using vscode

Hi Addi2020,
May I ask if you use VSCode to debug any of the Apollo modules, like perception ?
Thanks in advance.

Related issue  : #11107

I have the same issue. Any help or idea on this specific issue would be highly appreciated. Also @Avps1, please let me know ıf you have any updates or progress. Thank you in advance.


GPU requirements?

Hi! Thank you for your nice work.
I'd like to try this repo on my personal computer.
Could you tell me how many machine resources are needed to train RWKV-LoRA?
In particular, how many VRAMs are needed to fine-tune RWKV-13B?
Thank you in advance.

For RWKV-14B, with aggressive settings (e.g. ctxlen <= 1024, bsz <=2, grad_cp on) it might be possible on 40GB VRAM (I remember I have successfully run, but not really sure). Otherwise you will need 80GB.

@Blealtan
Thank you for your prompt and informative response!
Your explanation helps me understand the GPU requirements for training RWKV-LoRA, especially for RWKV-14B.
I appreciate your assistance and the great work you've put into this project.
Have a nice day!


Add EICAR test file

A surprising amount of systems will fail in unique and unexpected ways
when presented with the EICAR test string. While its intentions were
noble, its simple detection sequence can lead to systems
being "poisoned" with it. Virus scanners that "actively scan" for
malware may detect the EICAR test string inside objects, including
memory space of protected applications, stored data on disk (such as
inside databases), over network transmissions, etc.
The real world implications of the test string's pitfalls are easy to
understand. For example, it is common for companies to "require"
antivirus software to be placed on critical servers and other systems
that normally house user data. Thus, it may be possible perform a
denial of service simply by presenting vulnerable systems with the
EICAR test string. Even when servers are not scanned, it is still
possible for user input to be displayed in unexpected contexts. For
example, a customer service back-end panel might offer CSV export
downloads of material for analysis. Or the user input may be displayed
in a browser window visible to a CS agent. In all of these contexts, an
antivirus tool may take corrective action that results in rendering one
or more systems temporarily inaccessible, or worse.

Likewise, please do not send pull requests which compromise manual usability of the file. This includes the EICAR test string, which can cause the file to be flagged by antivirus scanners


Only report windows on current desktop as "visible"

Prior to this change, on my Linux machine (XUbuntu + XMonad), Thyme would report all open windows as visible, even windows on other virtual desktops.  Reporting those windows as "visible" doesn't match the colloquial definition, and also seems to go against the intended use case.
This checks the current desktop via wmctrl -d and then filters out windows on other desktops from the visible list.

This is not working for me on AwesomeWM. It still lists all the windows as being visible.

I've opened https://github.com/sourcegraph/thyme/pull/24, works for me in i3

My solution doesn't work in Unity, probably a mix of both would be best

@exekias FWIW, I tried compiling from your branch, and your xwininfo approach does work on my XMonad setup.  I haven't tested mine in Unity though.

Good to know @samstokes, will check Unity to see if I can get something there

This doesn't seem to work on herbstluftwm either.
I have a gedit window on workspace 9 which isn't visible.
It's shown as visible by thyme (installed via go get -u github.com/samstokes/thyme/cmd/thyme):
$ ./bin/thyme track
{
  "Time": "2016-08-17T20:52:00.507689849+02:00",
    [...]
    {
      "ID": 62914808,
      "Name": "Untitled Document 1 - gedit"
    }
  ],
  "Active": 35651865,
  "Visible": [
    [...]
    62914808
  ]
}

`wmctrl -d` correctly shows that I'm on workspace 1:

$ wmctrl -d
0  * DG: N/A  VP: 0,18446744072057421568  WA: N/A  1
1  - DG: N/A  VP: N/A                     WA: N/A  2
2  - DG: N/A  VP: N/A                     WA: N/A  3
3  - DG: N/A  VP: N/A                     WA: N/A  4
4  - DG: N/A  VP: N/A                     WA: N/A  5
5  - DG: N/A  VP: N/A                     WA: N/A  6
6  - DG: N/A  VP: N/A                     WA: N/A  7
7  - DG: N/A  VP: N/A                     WA: N/A  8
8  - DG: N/A  VP: N/A                     WA: N/A  9

And `wmctrl -l` shows its workspace correctly:

$ wmctrl -l
[...]
0x03c000f8  8 ginny Untitled Document 1 - gedit

Given that different windowing systems appear to have different criteria for determining "visible" (at least as far as the output from wmctrl is concerned), perhaps the best solution is to have different implementations of Tracker for each. The windowing system can be detected here and the correct Tracker implementation can be returned.

I agree it could make sense to add WM-specific code.  Looks like you can detect the name reported by the window manager via wmctrl -m, e.g.:
sam@kobold:~$ wmctrl -m
Name: LG3D
Class: N/A
PID: N/A
Window manager's "showing the desktop" mode: N/A

(N.B. it's possible for the WM to lie, for example with XMonad it's common to set the WM name to "LG3D" as above to trick some Java-based applications into rendering correctly.)
However, from @The-Compiler's report I'm not sure why my patch doesn't work for them.  All I do is parse wmctrl -l and wmctrl -d and check if the window's desktop had a star next to it, so from the sample output, it should do the right thing.
I'm not very familiar with Go so it's entirely possible I made a silly mistake in the implementation.  Would anyone be able to sanity-check my code?

This works on Unity and on second look, it seems like it would not break any functionality on currently supported window managers. So merging. Thanks for submitting this!

I just tried the latest master again with herbstluftwm, and it seems to run fine - so no idea what went wrong when I tested last time. Thanks and sorry for the noise! :wink:


Explicitly define exports for npm package, closes #134

Tried it out in a local project and it works. But that's a specific implementation. Also, the tests are green.
Would be interested in any thoughts of a repository maintainer. More info in #134

Using the test script by @rbuckton:

Version
(a)
(b)
(c)
(d)

17.0.0
ESM
CommonJS
SyntaxError ¹
TypeError ²

15.4.0

12.20.1*

12.20.1

12.18.3*

12.18.3

12.7.0*

12.7.0

NOTES:

with -- experimental-modules on (not neccessary after 14.x.0
¹ SyntaxError Unexpected token export - Loader tried to load ESM module as CommonJS
² TypeError Unknown file extension ".json" - Loader won't load .json

Hopefully this works!
🙏🏻

So... Is this library still maintained?

@rbuckton @DanielRosenwasser @orta could you give us a hand getting this merged? Maybe point us in the right direction of who could/should review and approve it?

I merged #135, so this is no longer needed.


Home Assistant Long-term Statistics support

Thanks for making this component, it's been working great!
HASS 2021.8 introduced long-term statistics (see https://www.home-assistant.io/blog/2021/08/04/release-20218/) which would be nice to have support for with yahoofinance.
From what I can tell the only thing that should be needed is to set the "state_class" property to "measurement", see: https://developers.home-assistant.io/docs/core/entity/sensor/#long-term-statistics
After this change the long term statistics can be seen in the developer tools (https://my.home-assistant.io/redirect/developer_statistics/) or by using the statistics graph card (https://www.home-assistant.io/dashboards/statistics-graph/)
As a secondary enhancement it might be good idea to set "device_class" property to "monetary"? See: https://www.home-assistant.io/integrations/sensor/#device-class

This seems to work great, thank you!


Add test cases for stability

Test Request
Description:
A clear and concise description of what the test is about.
Expected Behavior:
A clear and concise description of what you expected to happen.
Actual Behavior:
A clear and concise description of what actually happened.
Additional Context:
Add any other context about the problem here.

#129


do another pass to domain docs

I cleaned up the custom domain docs (a53e075da30bbd5fcc9c42b013dbb03ebfbe997d)
there are still some pending things:

the docs say you need first to register a domain if you wanna use subdomain, but when testing, i went straight to register the subdomain and it worked, waiting for confirmation from the team to see if we can simplify that
also, the records shown when adding a subdomain are incorrect and there is a screenshot in our docs, so waiting for this to be fixed so we can update the docs

fixed this


Error validating a body parameter

Description
Here is the spec.
swagger: '2.0'
info:
  title: Connexion issue
  version: '0.0.1'
host: localhost:8080

paths:
  /:
    put:
      operationId: app.put_document
      consumes:
        - text/plain
      parameters:
        - name: body
          in: body
          required: true
          schema:
            type: string
      responses:
        200:
          description: OK

And here is the app.
import connexion
from connexion import NoContent

def put_document(body):
    return NoContent

if __name__ == '__main__':
    app = connexion.App(__name__, port=8080)
    app.add_api('swagger.yaml')
    app.run()

Expected behaviour
$ curl -X PUT --header 'Content-Type: text/plain' -d 'test' 'http://localhost:8080/'

returns 200 OK
Actual behaviour
Instead it returns 400 BAD REQUEST with the following body.
{
  "type": "about:blank",
  "title": "Bad Request",
  "status": 400,
  "detail": "None is not of type 'string'"
}

Steps to reproduce
$ python app.py
$ curl -X PUT --header 'Content-Type: text/plain' -d 'test' 'http://localhost:8080/'

Additional info:
Python 3.5.2
Version: 1.0.112

So after quick investigation it turned out that connexion doesn't respect the consumes field. Here is the code from decorators/validation.py:
@functools.wraps(function)
def wrapper(*args, **kwargs):
    data = flask.request.json

    logger.debug("%s validating schema...", flask.request.url)
    error = self.validate_schema(data)
    if error and not self.has_default:
        return error

    response = function(*args, **kwargs)
    return response

The problem here is in the first line of the function. It always tries to read the request as JSON.


Incorrect judgment log level

When logLevel is equal to info, verbose logs should not be output
https://github.com/huan/sidecar/blob/ebef298a3a521ed2660e82c9c485240bcdd3dce3/src/agent/templates/libs/log.cjs#L5-L30
if (logLevel >= levelTable.verbose)
if (logLevel >= levelTable.silly)

// -->

if (logLevel <= levelTable.verbose)
if (logLevel <= levelTable.silly)

Good catch!
A PR will be welcome.

After unit testing, there should be no problem here, maybe my code is wrong.
So close this issue


Incorrect escaping of numbers

When I attempt to use one of the following, they are not encoded correctly:
[Original link](http://cc-cedict.org/editor/editor.php?log_id=\40006&return=ListChanges&handler=ViewLogEntry)
http://cc-cedict.org/editor/editor.php?log_id=40006&return=ListChanges&handler=ViewLogEntry

The "400" is converted to a (

Are you using the StringReplacer? Need more info. Workaround can be to use tinyurl

I am invoking JMD as follows:
MarkDown markdown = new MarkDown();
this.summaryHtml = markdown.transform(summary);

You have the wrong repository. JMD is a java bytecode analysis tool, not a markdown library.

Yikes, terribly sorry to waste your time on this one.


Syncer:  Refactors KCPClusterName to SyncTargetWorkspace.

Various refactors and improvements to logging messages

/lgtm

some typos, do we want to
/hold
?

/hold cancel

/lgtm

/lgtm


chore(docs): add n8n, improve markup

@bisonlou @Yann-J could you please review ?

@bisonlou @Yann-J could you please review ?
@bisonlou @Yann-J ?

@bisonlou @Yann-J could you plz review ?

Hey @eshepelyuk really sorry for the slow response here - we're a bit new at open-sourcing our stuff... Thanks a lot for the contribution!


merge and test prefix implementation

Merge #21 into master and test.  Also fix indentation error.

(All 57 tests pass.)


Add button to match vertical and horizontal padding

Layout > Vertical/Horizontal padding - the vertical padding should not be affecting horizontal. Either have a button that locks horizontal to match vertical (making horizontal padding not user-modifiable and automatically matching vertical padding slider) or split the two. I would recommend adding a "lock" button (on by default) or simply having one padding slider for vertical and horizontal padding. Lock button is preferable.

Originally posted by @bhajneet in https://github.com/ShabadOS/theme-tool/pull/1#issuecomment-623015497
This will allow fixing NaN on slider

why does width come up as NaN initially?
View in Slack

Impact high because to match them one needs to get sliders same value and can be quite annoying.

Labelled as a fix, since this is an incorrect implementation, not a new feature/improvement

Use same unit when locked (e.g. "vh")
When unlocked, use respective units. E.g. Horizontal slider should use "vw" and the vertical slider should use "vh".

I understand what you want but I need to think of way so that I don't break too many things and still implement this.
We can add a checkbox that will act as a lock button (checked means lock).

Use same unit when locked (e.g. "vh")
So is it right to assume that if it locked then use "vh" ?

I think the top slider should probably be horizontal padding as so many
things specify width before height. I also believe that whatever unit is
used should be the first slider's unit (in this case horizontal = vw).
However I find it odd to use the larger step size of vw, so perhaps with
different step sizes we can use vw as the default.
On Thu, May 28, 2020 at 3:46 PM ਸਹਜਪ੍ਰੀਤ ਸਿੰਘ<EMAIL_ADDRESS>wrote:

I understand what you want but I need to think of way so that I don't
break too many things and still implement this.
We can add a checkbox that will act as a lock button (checked means lock).
Use same unit when locked (e.g. "vh")
So is it right to assume that if it locked then use "vh" ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ShabadOS/theme-tool/issues/15#issuecomment-635558103,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADLZ3B7LROBS5CUXEDJXZDDRT25RRANCNFSM4M4KOQ3A
.


[BUG]: Updating a VMSS with new capacity leads to outdated VM models

Describe the bug
When updating the scaling capacity of a Virtual Machine Scale Set via Azure Java SDK such as
vmss.update()
           .withCapacity(newCapacity)
           .apply();

the other existing VMs of the VMSS are then somehow outdated and the UI shows they do not have the latest VMSS model applied.

When however changing the scaling capacity via the UI the VMs of the VMSS still have the latest VMSS model applied.

Exception or Stack Trace
There are no errors, it simply seems to be a mismatch in behavior between the API and the SDK
To Reproduce
Steps to reproduce the behavior:
Code Snippet
see above
Expected behavior
I would suggest that simply changing the scaling count should not affect the VMSS model of the VMs itself
Screenshots
If applicable, add screenshots to help explain your problem.
Setup (please complete the following information):

OS: [Windows]
IDE: [IntelliJ]
Library/Libraries: [e.g. com.azure:azure-resourcemanager:2.20.0]
Java version: [LibericaJDK-16]
Frameworks: [Quarkus]

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x ] Bug Description Added
[x ] Repro Steps Added
[x ] Setup information Added

@XiaofeiCao Would you investigate this?

@hendrik-schaffer It would help if you can let us know the configure of the VMSS (publisher, offer, sku) e.g. "OpenLogic", "CentOS", "8_3"

Hello all,
I did some further research and I think the reaon for the different behavior is the following.
When using the above update apply command of the Java SDK, the corresponding PATCH request contains the whole representation of the VMSS as the request body.
Looking at the request body when using the web UI of the Azure Portal, it only sends the part that should be changed, here the SKU section, e.g.
{ "sku": {
        "name": "Standard_DS2_v2",
        "tier": "Standard",
        "capacity": 10
    }
}

Can the implementation of the VMSS update command be changed in such a way that the body contains only the sections to be updated? Alternatively, it should at least consider that not all update operations render the VM latestModelApplied value to false.

"latestModelApplied" should be a read-only property so it should not be settable from a PATCH (it should be one calculated by backend).
So there maybe other property that affect the model.

Well, yes...as I have written above, I think becaues the update command sends the  full JSON representation of the updated VMSS, this leads to the fact that "latestModelApplied" is then false.
But I do not know the exact implementation of how this is calculated.
Anyways, I think it is clear that the update command does at least results into different behavior compared to using the Azure Portal Web UI and therefore I would vote for that it will be fixed

Thanks @hendrik-schaffer for your detailed explanation of your situation. I'll check if the patch pattern can resolve the altering of the latest model state.
@weidongxu-microsoft This may be an issue we want to fix. When the vmss's UpgradePolicy is set to Automatic, all existing VMs in the vmss is likely to be rebooted if the Latest Model is No. I'll have that checked too.

Hi @hendrik-schaffer
It seems that newly created VMs in VMSS with manual upgrade policy has outdated model. Tried both SDK and portal, same result.
After I manually upgrade the model, future capacity change won't affect existing VMs. Please help confirm it is your case.
Though for automatic VMSS, it's latest model from the start. Looks like a service bug.

Hello @XiaofeiCao ,
yes, we are using the manual upgrade policy. I tried to show it in the screenshots above. If we change the capacity via the SDK, the VMs all have the latest model applied.
However, when trying to change the capacity via the SDK, only the new VMs have the latest model applied, but the existing ones suddenly do not have the latest model applied.

Hi @hendrik-schaffer
Could you manually upgrade existing outdated VMs via Portal and again change the capacity via SDK and see if existing VMs are affected?
My point is, the existing VMs are outdated the moment they are created along with the VMSS, either from Portal or SDK (for manual upgrade policy), at least from my experiment.

Hello @XiaofeiCao ,
unfortunately, I am still experiencing the same behavior. Even if I manually upgrade the VMs to the latest model, then run the VMSS update withCapacity command via the SDK, it renders the existing VMs as outdated (latestmodel not applied) and only the new VMs have the latest model applied set to true :(

Hi @hendrik-schaffer
Alright, that's indeed unfortunate and I couldn't reproduce on my local machine...
Could you share the code snippet of how you created the VMSS please(or VMSS properties if it's created from Portal and redact sensitive information)?

Sure. Please find below the JSON View of our VMSS
{
    "name": "enterpriserunner-vmss-ubuntu-server-int",
    "id": "/subscriptions/SUBSCRIPTION-ID/resourceGroups/RG_REDACTED/providers/Microsoft.Compute/virtualMachineScaleSets/enterpriserunner-vmss-ubuntu-server-int",
    "type": "Microsoft.Compute/virtualMachineScaleSets",
    "location": "westeurope",
    "tags": {
        "createdBy": "Jenkins"
    },
    "identity": {
        "type": "UserAssigned",
        "userAssignedIdentities": {
            "/subscriptions/SUBSCRIPTION-ID/resourceGroups/RG_REDACTED/providers/Microsoft.ManagedIdentity/userAssignedIdentities/githubrunnervms-mi-int": {
                "principalId": "6dda559c-b4c3-4636-a1d3-8d898a55e04a",
                "clientId": "c76c49bd-98d0-430f-a708-9034a43c7824"
            }
        }
    },
    "sku": {
        "name": "Standard_DS2_v2",
        "tier": "Standard",
        "capacity": 3
    },
    "properties": {
        "singlePlacementGroup": true,
        "orchestrationMode": "Uniform",
        "upgradePolicy": {
            "mode": "Manual",
            "rollingUpgradePolicy": {
                "maxBatchInstancePercent": 20,
                "maxUnhealthyInstancePercent": 20,
                "maxUnhealthyUpgradedInstancePercent": 20,
                "pauseTimeBetweenBatches": "PT0S"
            }
        },
        "virtualMachineProfile": {
            "osProfile": {
                "computerNamePrefix": "atcrun",
                "adminUsername": "cloud",
                "linuxConfiguration": {
                    "disablePasswordAuthentication": true,
                    "ssh": {
                        "publicKeys": [
                            {
                                "path": "/home/cloud/.ssh/authorized_keys",
                                "keyData": "ssh-rsa SSH_KEY_REDACCTED"
                            }
                        ]
                    },
                    "provisionVMAgent": true
                },
                "secrets": [],
                "allowExtensionOperations": true,
                "requireGuestProvisionSignal": true
            },
            "storageProfile": {
                "osDisk": {
                    "osType": "Linux",
                    "diffDiskSettings": {
                        "option": "Local",
                        "placement": "CacheDisk"
                    },
                    "createOption": "FromImage",
                    "caching": "ReadOnly",
                    "managedDisk": {
                        "storageAccountType": "Standard_LRS"
                    },
                    "diskSizeGB": 30
                },
                "imageReference": {
                    "id": "/subscriptions/SUBSCRIPTION-ID/resourceGroups/RG_REDACTED/providers/Microsoft.Compute/galleries/atc_images_int/images/enterpriserunner-ubuntu-20.04-gen2-int/versions/3.6.1"
                }
            },
            "networkProfile": {
                "networkInterfaceConfigurations": [
                    {
                        "name": "entercfecNic",
                        "properties": {
                            "primary": true,
                            "enableAcceleratedNetworking": false,
                            "disableTcpStateTracking": false,
                            "dnsSettings": {
                                "dnsServers": []
                            },
                            "enableIPForwarding": false,
                            "ipConfigurations": [
                                {
                                    "name": "entercfecIPConfig",
                                    "properties": {
                                        "subnet": {
                                            "id": "/subscriptions/SUBSCRIPTION-ID/resourceGroups/RG_REDACTED/providers/Microsoft.Network/virtualNetworks/VNET-SPOKE-AMS-0221/subnets/Subnet-1"
                                        },
                                        "privateIPAddressVersion": "IPv4"
                                    }
                                }
                            ]
                        }
                    }
                ]
            },
            "extensionProfile": {
                "extensions": [
                    {
                        "name": "CustomScript",
                        "properties": {
                            "autoUpgradeMinorVersion": true,
                            "publisher": "Microsoft.Azure.Extensions",
                            "type": "CustomScript",
                            "typeHandlerVersion": "2.1"
                        }
                    }
                ]
            }
        },
        "provisioningState": "Succeeded",
        "overprovision": false,
        "doNotRunExtensionsOnOverprovisionedVMs": false,
        "uniqueId": "9af6d670-2987-479e-9c0a-7375d77aa313"
    }
}

To update the VMSS via the SDK, we are using the following code snippet:

public VirtualMachineScaleSet getLinuxEnterpriseRunnerVMSS() {
        return getAzureResourceManager().virtualMachineScaleSets()
                .getByResourceGroup(resourceGroup, linuxEnterpriseRunnerVMSSName);
}

protected void scaleUpLinuxRunnerVMSS(VirtualMachineScaleSet vmss) {

        // calculate new instance count
        // [....]
        vmss.update()
                .withCapacity(newVmInstanceCount)
                .apply();

        LOG.info("Scaled up VMSS {} to {} instances.", vmss.name(), newVmInstanceCount);
}

@Test
void scaleUpLinuxVMSS() {
        VirtualMachineScaleSet targetVMSS = githubRunnerService.getLinuxEnterpriseRunnerVMSS();
        githubRunnerService.scaleUpLinuxRunnerVMSS(targetVMSS);
}

@hendrik-schaffer , sorry for the delay. I tried various combinations derived from your vmss properties, I'm now quite convinced that for vmss with ephemeral OS disks(virtualMachineProfile.storageProfile.osDisk.diffDiskSettings.option=Local) will have this out-of-date issue.
Seems service consider any properties present (or even empty osDisk: {}) during ephemeral VMSS update to be a model refresh.
@weidongxu-microsoft Since generally nothing can be modified to vmss ephemeral osDisks (both backend and in our convenience api), I think we can safely ignore osDisk property when copying innerModel to updateModel?

@XiaofeiCao Yes, if nothing can change, we can ignore it when preparing PATCH. However do comment that in obvious location in code.

@hendrik-schaffer 2.24.0 released. Let us know if the new version fixed this issue.


Update zts.properties

This is an additional update on the following PR.
https://github.com/yahoo/athenz/pull/1048

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

Thanks!


[Fox] Restore Adobe Pass auth

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[ ] I am the original author of this code and I am willing to release it under Unlicense
[x] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Restoring Adobe Pass auth, as well as adding additional metadata extraction information.

This code worked for me. @dstftw I will forward a provider account to your email.

Is this going to be fixed anytime soon, I currently can't download anything from fox that requires a login.

@dstftw
I don't know what you're seeing, but here's what I'm seeing for the fields in question (asterisks added to fields in question):
PS C:\WINDOWS\system32> youtube-dl https://www.fox.com/watch/0721b828c4948036e53e65649c55ee41/#playlist=59cb1d95eef1f900
1e097c65 -i --print-json -s -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://www.fox.com/watch/0721b828c4948036e53e65649c55ee41/#playlist=59cb1d95eef1f9001e097c
65', '-i', '--print-json', '-s', '-v']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2017.10.01
[debug] Python version 3.4.4 - Windows-10-10.0.15063
[debug] exe versions: ffmpeg 3.3.3, ffprobe 3.3.3, rtmpdump 2.3
[debug] Proxy map: {}
[debug] Default format spec: bestvideo+bestaudio/best
{
	"manifest_url": "https://content-ause1.uplynk.com/preplay2/6356c433ab9a4a66a896c7ff9ed8c996/dabd083f6dd4c987c956759536480bd0/PRSWtDr5mP3FTLKA1KCoP3czRXJv5OX7l4M11WfHyBI.m3u8?pbs=115deb56302b4222bbe51a29654ca58d",
	"requested_subtitles": null,
	"**release_year**": null,
	"format": "hls-5191 - 1920x1080",
	"playlist_index": null,
	"id": "0721b828c4948036e53e65649c55ee41",
	"http_headers": {
		"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
		"Cookie": "gt_cks_0=\"1\\054b85b8b7cb0ddcec895958c4487ea56e516616501\\054eNplj08LgkAQxb+KLHiLbWd1/9hNIig81aVDhZiuJmXCahq09dlbUDCI4Q3D8Ob9mBdK6/paqgYtnAPCqlNaNW2r0gu+q9YQM27iIu6oKeLmoXOly+yzz6Id34ZhmPab5zqJrJWYv3uwNbciBpgnGZHgCUPQzEE47ytdjZC40+aIgBEeCGotGIBl6gyEcUxtF9IXrlhRAM6FCOzo0uURDcwp6JdGAsb9gXayuFvStFWd2S8nipTs/QUh30/L\"",
		"Accept-Language": "en-us,en;q=0.5",
		"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.7",
		"Accept-Encoding": "gzip, deflate",
		"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)"
	},
	"fulltitle": "The First Six Minutes",
	"duration": 350,
	"webpage_url": "https://www.fox.com/watch/0721b828c4948036e53e65649c55ee41/#playlist=59cb1d95eef1f9001e097c65",
	"**episode_number**": null,
	"_filename": "The First Six Minutes-0721b828c4948036e53e65649c55ee41.mp4",
	"description": "Watch the first six minutesof THE GIFTED, episode one.",
	"acodec": "mp4a.40.5",
	"url": "https://content-ause1.uplynk.com/6356c433ab9a4a66a896c7ff9ed8c996/k.m3u8?pbs=115deb56302b4222bbe51a29654ca58d",
	"height": 1080,
	"formats": [<Formats omitted for brevity>],
	"display_id": "0721b828c4948036e53e65649c55ee41",
	"upload_date": "20170927",
	"timestamp":<PHONE_NUMBER>,
	"tbr": 5191.156,
	"title": "The First Six Minutes",
	"**season_number**": null,
	"ext": "mp4",
	"extractor_key": "FOX",
	"preference": null,
	"creator": "FOX",
	"width": 1920,
	"format_id": "hls-5191",
	"**series**": "The Gifted",
	"episode": "The First Six Minutes",
	"playlist": null,
	"vcodec": "avc1.640028",
	"age_limit": null,
	"webpage_url_basename": "0721b828c4948036e53e65649c55ee41",
	"protocol": "m3u8_native",
	"fps": 30,
	"extractor": "FOX"
}

So what? Your "fallbacks" are not reached. Remove first value and check what you're extracting.


Add rye list to list installed packages

Most package managers allow to see the installed packages using a variation of a list command.

pip list - https://pip.pypa.io/en/stable/cli/pip_list/
poetry show - https://python-poetry.org/docs/cli/#show
pipenv graph - https://pipenv.pypa.io/en/latest/commands/
hatch dep show - https://hatch.pypa.io/latest/cli/reference/#hatch-dep-show

If I understand correctly, rye took its inspiration from Cargo using the cargo install --list style.
I personally struggled to find how to display the installed packages and only figured it out when researching this issue. However, I understand that an additional command for this specific action might be unnecessary.
Would it make sense to add a list command?
Alternative solutions: Highlight the existing command in the documentation.

rye tools list - the command already exists. Is this a request to add an alias?

it's rye tools list

That only shows the globally installed tools, not the ones that exist inside a given virtual environment, which I think @Kydlaw is talking about. Since rye doesn't expose pip, you can't use pip list to show the installed packages. The only way to do this currently is to install pip via rye and then do a pip list.

As @TillerBurr mentioned rye tools list list the tools that are globally available to Rye (like a formater, a linter, ...).
I finally found the command I was looking for after further exploration: rye show --installed-deps.
I think the previous confusion reinforce my point that accessing the installed dependancies of a project is currently not easily feasible.
Also, knowing that a command already exists, rye list could be an alias to rye show --installed-deps.


Enchancement for side nav bar navigation and APP feel experience

I noticed that you loose the "APP feeling" when your connectivity is slow. This happens in mobile devices with slow internet speed when using side navigation bar. Standard android applications hide this menu and body content immediately showing up a load indicator in body content. Current behavior keeps menu on screen until new page starts loading up.

This can be prevented with this:

When user clicks any menu entry, perform following:
Close side menu
Hide any body content immediately (This way we avoid user performing multiple petitions by clicking content when server response time is slow).
Add a spinner with delay of a second (Or more, this way we don't show any spinner when response time is fast enough).
Call to standard menu redirect when menu is completely closed (This way we avoid stopping non finished close animation on new page load).

//close_nav_menu(); -> I don't know how to do this, just pseudo-code
$(".ma-main-container").hide(); //Other selectors might be more appropriate, just as an example
$("footer").hide();

setTimeout(
    function(){
        apex.util.showSpinner($(".main-container")); //Standard is a bit small, bigger would be better
}, 1000);

wait_menu_is_closed( function(){ //Pseudo-code
redirect_to_new_page;
});

What do you think?
(Out of scope)...
Question: How can I adjust max body content width? Sometimes seems to be not enough standard one. I remember to see this attribute in theme roller in universal theme, but I can't see it in material theme. It would be nice to adjust in page basis.
PD: I'm just trying a lot of possibilities with the theme and I like it a lot, there is a lot of work behind it, , great work congratulations!

As always, thanks for your feedback. I will close this as I think it's completely Materialize related. I would also think it depends on the speed of your mobile device. I have not experienced the slowness on my Galaxy S7.


Convert HTML to react

Convert html to react

i can do it. please assign it to me

@vanshika8750  sure go ahead.

@vanshika8750   Just a reminder make a separate branch then raise a PR and take a pull before raising PR.

@sahilsingh7735  i can do this task easily

@sahilsingh7735  sir i can do your task easily, please assign it to me if possible

@harshoo1 sure go ahead

@harshoo1 sir can i do this task ...i have started working on this ..can you please assign me with this issue...Thank you!!!

Resolved.


Layout shortcut combination not working anymore

Microsoft PowerToys version
0.58.0
Running as admin

[X] Yes

Area(s) with issue?
FancyZones, FancyZones Editor
Steps to reproduce
Win+ctrl+alt+number combination not working for me anymore. It worked well before. I tried turn off and turn on again but didn't change much.
✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response

/bugreport

Hello!
Yes, I attached the zip file.

PowerToysReport_2022-05-12-06-20-17.zip

Thank you for the report. Don't see anything wrong there though.
And since I can't reproduce it on my machine, I'll need a little help from you. Does it sound good?
Can you please try next things?

Assign different keys to those layouts and see if those work or not.
Create a new layout, assign a shortcut key and verify if it works.
Verify that FancyZones is working when you press shortcut key (I mean the process is not frozen for some reason). You can verify it with dragging a window, just observe that zones are shown.

/needinfo

Thanks for your help!
Probably it was my fault I found the problem. The switch was off here:


Update angel_file_security to Angel 2, and roll into angel_security

No sense in having its own separate package.

Update deps
Remove any dart2_constant
Import angel_framework/http.dart where needed
Remove VirusTotalScanner class
Move into package:angel_security.

Also see #75
https://github.com/angel-dart/file_security

i'd like to work on this @thosakwe

@lenniezelk Thanks! At this point, though, the functionality from file_security is actually present in the alpha version of angel_validate, which provides Field classes that can be used individually to read sanitized data, or combined into a Form.
https://pub.dev/documentation/angel_validate/3.0.0-alpha/without_matcher/FileField-class.html


Using Git as Dependency fails with pubspec.yaml

Using the below dependency in pubspec.yaml fails with the error message.
   cloud_firestore:
     git:
       url: https://github.com/theshiftstudio/flutter_plugins.git
       ref: 9cabcc57e63fbc9be4fafee08e6435a1a8c71d61
       path: packages/cloud_firestore

Error message received in VS Code.
Running "flutter packages get" in silkthread...
Error on line 1, column 1: Missing the required "name" field.
pub get failed (65)
exit code 65

Do you actually have a name: foo in your pubspec.yaml like the error message demands?
I use Git dependencies quite frequently without issues, but I haven't used path and ref together yet.

@zoechi The problem only arose when I was using path and ref together. I solved this problem personally by using a newer version of flutter and skipping the git repository link altogether but the problem may still persist.

This should be reported in dart-lang/pub instead then

This also happens to me, but I'm not using ref at all. I didn't use git repo but a recent update of Flutter beta forced me to try with an unpublished version of jaguar_serializer_cli to see if a problem has been fixed. Then I encountered the Missing the required "name" field. error.
Here's an excerpt of my pubspec.yaml:
name: flutterapp
description: A new Flutter project.

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  intl: 0.15.6
  intl_translation: 0.16.6
  # ....
  jaguar_serializer: ^1.0.0-dev6
  jaguar_serializer_cli:
      git:
        url: git://github.com/Jaguar-dart/jaguar_serializer.git
        path: jaguar_serializer_cli

This is what is said on the using packages page. And here's the output of flutter packages upgrade:
Running "flutter packages upgrade" in mobile...
Error on line 1, column 1: Missing the required "name" field.
pub upgrade failed (65)

I also tried changing git://github.com/Jaguar-dart/jaguar_serializer.git to https://github.com/Jaguar-dart/jaguar_serializer.git but no difference.

I'm trying to use my patch to the firebase_remote_plugin at:
firebase_remote_config:
git:
url: https://github.com/johnlabarge/plugins.git
path: packages/firebase_remote_config
and getting:
Could not find a file named "packages/firebase_remote_config/pubspec.yaml" in https://github.com/johnlabarge/plugins.git ca2be10121f1d50b73ba36cb618088d48951fc00.
Clearly that file is there so I'm I'm not sure what's breaking here.

@tamcy I can't reproduce your error with your pubspec.yaml
I get
 $ flutter packages upgrade
Running "flutter packages upgrade" in git_path_and_ref...
Because every version of flutter_localizations from sdk depends on intl 0.15.5 and flutterapp
  depends on intl 0.15.6, flutter_localizations from sdk is forbidden.
So, because flutterapp depends on flutter_localizations any from sdk, version solving failed.
pub upgrade failed (1)

(don't know what the error means)
When I comment out
  flutter_localizations:
    sdk: flutter

flutter packages get succeeds.

@zoechi Strangely I am still seeing the error on beta 3. Could this be Windows specific?

@zoechi Just found that it's already reported in https://github.com/dart-lang/pub/issues/1756.

Closing as dup of dart-lang/pub#1756 which is fixed. Thanks @tamcy

I'm having this issue with the latest flutter/dart.


Update multiplexed overview figure

Closes #83
This PR makes an update to the multiplexed workflow to more accurately describe what's happening. The HTO FASTQ and RNA FASTQ should be input to both alevin-fry and demultiplexing. I also am showing the HTO by cell counts matrix as output from alevin-fry here.

The main comment I have is if we want the "forked arrow" I put into this part of the ADT figure to also be in this one? I bet you could just drag down and replace the "read into R" arrow with that one?

The main comment I have is if we want the "forked arrow" I put into this part of the ADT figure to also be in this one? I bet you could just drag down and replace the "read into R" arrow with that one?

Good call! I updated to include that arrow.


oidcc_provider_configuration_worker:get_provider_configuration/1 randomly times out

oidcc version
3.2.0
Erlang version
26.2.5
Elixir version

Summary
calls to oidcc_provider_configuration_worker:get_provider_configuration/1 randomly times out. It seems that this is somehow related to httpc timing out?
The following crash report is reported by cowboy:
=CRASH REPORT==== 4-Jul-2024::11:14:21.242933 ===
  crasher:
    initial call: cowboy_stream_h:request_process/3
    pid: <0.2178.0>
    registered_name: []
    exception exit: {{timeout,
                         {gen_server,call,
                             [<0.1461.0>,get_provider_configuration]}},
                     [{gen_server,call,2,[{file,"gen_server.erl"},{line,404}]},
                      {oidcc_client_context,from_configuration_worker,4,
                          [{file,
                               "/workspace/myapp-server/_build/default/lib/oidcc/src/oidcc_client_context.erl"},
                           {line,137}]},
                      {myapp_authn_user,authenticate_with_jwt,1,
                          [{file,
                               "/workspace/myapp-server/apps/myapp_authn/src/myapp_authn_user.erl"},
                           {line,17}]},
                      {myapp_http_token_h,from,3,
                          [{file,
                               "/workspace/myapp-server/apps/myapp_http/src/handlers/myapp_http_token_h.erl"},
                           {line,100}]},
                      {cowboy_rest,call,3,
                          [{file,
                               "/workspace/myapp-server/_build/default/lib/cowboy/src/cowboy_rest.erl"},
                           {line,1590}]},
                      {cowboy_rest,process_content_type,3,
                          [{file,
                               "/workspace/myapp-server/_build/default/lib/cowboy/src/cowboy_rest.erl"},
                           {line,1096}]},
                      {cowboy_rest,upgrade,4,
                          [{file,
                               "/workspace/myapp-server/_build/default/lib/cowboy/src/cowboy_rest.erl"},
                           {line,284}]},
                      {cowboy_stream_h,execute,3,
                          [{file,
                               "/workspace/myapp-server/_build/default/lib/cowboy/src/cowboy_stream_h.erl"},
                           {line,306}]}]}
      in function  gen_server:call/2 (gen_server.erl, line 404)
      in call from oidcc_client_context:from_configuration_worker/4 (/workspace/myapp-server/_build/default/lib/oidcc/src/oidcc_client_context.erl, line 137)
      in call from myapp_authn_user:authenticate_with_jwt/1 (/workspace/myapp-server/apps/myapp_authn/src/myapp_authn_user.erl, line 17)
      in call from myapp_http_token_h:from/3 (/workspace/myapp-server/apps/myapp_http/src/handlers/myapp_http_token_h.erl, line 100)
      in call from cowboy_rest:call/3 (/workspace/myapp-server/_build/default/lib/cowboy/src/cowboy_rest.erl, line 1590)
      in call from cowboy_rest:process_content_type/3 (/workspace/myapp-server/_build/default/lib/cowboy/src/cowboy_rest.erl, line 1096)
      in call from cowboy_rest:upgrade/4 (/workspace/myapp-server/_build/default/lib/cowboy/src/cowboy_rest.erl, line 284)
      in call from cowboy_stream_h:execute/3 (/workspace/myapp-server/_build/default/lib/cowboy/src/cowboy_stream_h.erl, line 306)
    ancestors: [<0.2177.0>,<0.1475.0>,<0.1468.0>,<0.1467.0>,ranch_sup,
                  <0.1424.0>]
    message_queue_len: 0
    messages: []
    links: [<0.2177.0>]
    dictionary: []
    trap_exit: false
    status: running
    heap_size: 1598
    stack_size: 28
    reductions: 2911
  neighbours:

Current behavior
Inspecting the worker state shows that it is hanging in httpc:handle_answer/3:
1> erlang:process_info(pid(0,1461,0)).
[{registered_name,myapp_authn_oidcc_auth0},
 {current_function,{httpc,handle_answer,3}},
 {initial_call,{proc_lib,init_p,5}},
 {status,waiting},
 {message_queue_len,139},
 {links,[<0.1460.0>]},
 {dictionary,[{rand_seed,{#{type => exsss,next => #Fun<rand.0.65977474>,bits => 58,
                            uniform => #Fun<rand.1.65977474>,
                            uniform_n => #Fun<rand.2.65977474>,
                            jump => #Fun<rand.3.65977474>},
                          [264808474144978743|268960576097479628]}},
              {'$initial_call',{oidcc_provider_configuration_worker,init,
                                                                    1}},
              {'$ancestors',[myapp_authn_sup,<0.1459.0>]}]},
 {trap_exit,false},
 {error_handler,error_handler},
 {priority,normal},
 {group_leader,<0.1458.0>},
 {total_heap_size,24620},
 {heap_size,6772},
 {stack_size,65},
 {reductions,562812697},
 {garbage_collection,[{max_heap_size,#{error_logger => true,include_shared_binaries => false,
                                       kill => true,size => 0}},
                      {min_bin_vheap_size,46422},
                      {min_heap_size,233},
                      {fullsweep_after,65535},
                      {minor_gcs,21}]},
 {suspending,[]}]

Also, it seems like the worker process has accumulated a set of timer events:
2> erlang:process_info(pid(0,1461,0), messages).
{messages,[jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired|...]}
3> io:format("~p~n", [erlang:process_info(pid(0,1461,0), messages)]).
{messages,[jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired,jwks_expired,jwks_expired,
           jwks_expired,jwks_expired,jwks_expired]}
ok

Checking the stacktrace:
4> erlang:process_info(pid(0,1461,0), current_stacktrace).
{current_stacktrace,[{httpc,handle_answer,3,
                            [{file,"httpc.erl"},{line,865}]},
                     {httpc,handle_request,9,[{file,"httpc.erl"},{line,809}]},
                     {oidcc_http_util,'-request/4-fun-0-',5,
                                      [{file,"/workspace/myapp-server/_build/default/lib/oidcc/src/oidcc_http_util.erl"},
                                       {line,109}]},
                     {telemetry,span,3,
                                [{file,"/workspace/myapp-server/_build/default/lib/telemetry/src/telemetry.erl"},
                                 {line,321}]},
                     {oidcc_provider_configuration,load_jwks,2,
                                                   [{file,"/workspace/myapp-server/_build/default/lib/oidcc/src/oidcc_provider_configuration.erl"},
                                                    {line,264}]},
                     {oidcc_provider_configuration_worker,handle_continue,2,
                                                          [{file,"/workspace/myapp-server/_build/default/lib/oidcc/src/oidcc_provider_configuration_worker.erl"},
                                                           {line,212}]},
                     {gen_server,try_handle_continue,3,
                                 [{file,"gen_server.erl"},{line,1085}]},
                     {gen_server,loop,7,[{file,"gen_server.erl"},{line,995}]}]}

How to reproduce
Haven't been able to pinpoint the exact scenario leading to the hang/timeout yet.
Expected behavior
It shouldn't hang :)

@asabil Hm, I possibly haven’t set any timeouts which will hang it forever. I‘m open to a PR or I’ll investigate this next week.

Added some printout in oidcc_http_util:request/4 and it actually looks like there is a "timer" problem:
[1720176242986], HTTP: get {"https://myapp-dev.eu.auth0.com/.well-known/openid-configuration",[]} [{timeout,60000}] default
[1720176243470], HTTP: get {<<"https://myapp-dev.eu.auth0.com/.well-known/jwks.json">>, []} [{timeout,60000}] default
[1720176258475], HTTP: get {"https://myapp-dev.eu.auth0.com/.well-known/openid-configuration", []} [{timeout,60000}] default
[1720176258526], HTTP: get {<<"https://myapp-dev.eu.auth0.com/.well-known/jwks.json">>, []} [{timeout,60000}] default
[1720176258647], HTTP: get {<<"https://myapp-dev.eu.auth0.com/.well-known/jwks.json">>, []} [{timeout,60000}] default
[1720176273530], HTTP: get {"https://myapp-dev.eu.auth0.com/.well-known/openid-configuration", []} [{timeout,60000}] default
[1720176273658], HTTP: get {<<"https://myapp-dev.eu.auth0.com/.well-known/jwks.json">>, []} [{timeout,60000}] default
[1720176273806], HTTP: get {<<"https://myapp-dev.eu.auth0.com/.well-known/jwks.json">>, []} [{timeout,60000}] default
[1720176273852], HTTP: get {<<"https://myapp-dev.eu.auth0.com/.well-known/jwks.json">>, []} [{timeout,60000}] default
[1720176288659], HTTP: get {"https://myapp-dev.eu.auth0.com/.well-known/openid-configuration", []} [{timeout,60000}] default
[1720176288705], HTTP: get {<<"https://myapp-dev.eu.auth0.com/.well-known/jwks.json">>, []} [{timeout,60000}] default
[1720176288811], HTTP: get {<<"https://myapp-dev.eu.auth0.com/.well-known/jwks.json">>, []} [{timeout,60000}] default
[1720176288854], HTTP: get {<<"https://myapp-dev.eu.auth0.com/.well-known/jwks.json">>, []} [{timeout,60000}] default
[1720176288905], HTTP: get {<<"https://myapp-dev.eu.auth0.com/.well-known/jwks.json">>, []} [{timeout,60000}] default

So it looks like we somehow end up being blocked by auth0 because the number of jwks requests keep accumulating (1, 2, 3, 4...).
For reference, this is the print out code:
io:format("[~B], HTTP: ~p ~p ~p ~p~n", [
  os:system_time(millisecond),
  Method,
  Request,
  HttpOpts,
  HttpProfile
]),

Hm, are they setting a strange cache header that leads to continuous refreshing?

Looks like this helps at least with the accumlation of timers:
diff --git a/src/oidcc_provider_configuration_worker.erl b/src/oidcc_provider_configuration_worker.erl
index d4539ec..a9cefa1 100644
--- a/src/oidcc_provider_configuration_worker.erl
+++ b/src/oidcc_provider_configuration_worker.erl
@@ -224,7 +224,8 @@ handle_continue(
 %% @private
 handle_info(backoff_retry, State) ->
     {noreply, State, {continue, load_configuration}};
-handle_info(configuration_expired, State) ->
+handle_info(configuration_expired, #state{jwks_refresh_timer = JwksRefreshTimer} = State) ->
+    maybe_cancel_timer(JwksRefreshTimer),
     {noreply, State#state{configuration_refresh_timer = undefined, jwks_refresh_timer = undefined},
         {continue, load_configuration}};
 handle_info(jwks_expired, State) ->

That being said, from my own experience, it is better to use erlang:start_timer instead of timer:send_after as the former allows for matching against the currently active timer and avoid creating "parallel" timers such as in this case. For example, with the current code I think it is still possible to have a race condition where the timer being canceled has already been fired and the message corresponding to the timeout is in the mailbox but not yet processed.

Hm, are they setting a strange cache header that leads to continuous refreshing?

Yes, 15 seconds:
{"cache-control",
  "public, max-age=15, stale-while-revalidate=15, stale-if-error=86400"},

@asabil Sorry for the long wait.
I can't reproduce the issue. There should only be one single message triggered after the jwk reload is successful. You are seeing hundreds of messages in the queue.
Can you try to log each time handle_info or handle_continue is called together with the message_queue_len so that we can figure out what path those messages take so that they can accumulate?

Sorry for the delay, finally got to add some logs:
[ts:<PHONE_NUMBER>154, qlen: 0] handle_continue(load_configuration)
[ts:<PHONE_NUMBER>629, qlen: 0] handle_continue(load_jwks)

[ts:<PHONE_NUMBER>632, qlen: 0] handle_info(configuration_expired)
[ts:<PHONE_NUMBER>633, qlen: 0] handle_continue(load_configuration)
[ts:<PHONE_NUMBER>662, qlen: 0] handle_continue(load_jwks)
[ts:<PHONE_NUMBER>811, qlen: 0] handle_info(jwks_expired)
[ts:<PHONE_NUMBER>811, qlen: 0] handle_continue(load_jwks)

[ts:<PHONE_NUMBER>666, qlen: 0] handle_info(configuration_expired)
[ts:<PHONE_NUMBER>667, qlen: 0] handle_continue(load_configuration)
[ts:<PHONE_NUMBER>793, qlen: 1] handle_continue(load_jwks)
[ts:<PHONE_NUMBER>918, qlen: 1] handle_info(jwks_expired)
[ts:<PHONE_NUMBER>918, qlen: 1] handle_continue(load_jwks)
[ts:<PHONE_NUMBER>945, qlen: 0] handle_info(jwks_expired)
[ts:<PHONE_NUMBER>945, qlen: 0] handle_continue(load_jwks)

[ts:<PHONE_NUMBER>798, qlen: 0] handle_info(configuration_expired)
[ts:<PHONE_NUMBER>799, qlen: 0] handle_continue(load_configuration)
[ts:<PHONE_NUMBER>888, qlen: 0] handle_continue(load_jwks)
[ts:<PHONE_NUMBER>918, qlen: 0] handle_info(jwks_expired)
[ts:<PHONE_NUMBER>919, qlen: 0] handle_continue(load_jwks)
[ts:<PHONE_NUMBER>946, qlen: 0] handle_info(jwks_expired)
[ts:<PHONE_NUMBER>946, qlen: 0] handle_continue(load_jwks)
[ts:<PHONE_NUMBER>394, qlen: 0] handle_info(jwks_expired)
[ts:<PHONE_NUMBER>394, qlen: 0] handle_continue(load_jwks)

[ts:<PHONE_NUMBER>889, qlen: 0] handle_info(configuration_expired)
[ts:<PHONE_NUMBER>890, qlen: 0] handle_continue(load_configuration)
[ts:<PHONE_NUMBER>015, qlen: 2] handle_continue(load_jwks)
[ts:<PHONE_NUMBER>050, qlen: 1] handle_info(jwks_expired)
[ts:<PHONE_NUMBER>051, qlen: 1] handle_continue(load_jwks)
[ts:<PHONE_NUMBER>080, qlen: 0] handle_info(jwks_expired)
[ts:<PHONE_NUMBER>080, qlen: 0] handle_continue(load_jwks)
[ts:<PHONE_NUMBER>398, qlen: 0] handle_info(jwks_expired)
[ts:<PHONE_NUMBER>398, qlen: 0] handle_continue(load_jwks)
[ts:<PHONE_NUMBER>510, qlen: 0] handle_info(jwks_expired)
[ts:<PHONE_NUMBER>510, qlen: 0] handle_continue(load_jwks)

I added empty lines to group together the printouts. As you can see we somehow end up with accumulating timers that lead to excessive calls.
The qlen is 0, because we will only start to see that once auth0 (in my case) starts to apply rate limiting because of the excessive calls.

With the patch above applied, the logs look like this:
[ts:<PHONE_NUMBER>017, qlen: 0] handle_continue(load_configuration)
[ts:<PHONE_NUMBER>670, qlen: 0] handle_continue(load_jwks)

[ts:<PHONE_NUMBER>676, qlen: 0] handle_info(configuration_expired)
[ts:<PHONE_NUMBER>676, qlen: 0] handle_continue(load_configuration)
[ts:<PHONE_NUMBER>704, qlen: 0] handle_continue(load_jwks)

[ts:<PHONE_NUMBER>707, qlen: 0] handle_info(configuration_expired)
[ts:<PHONE_NUMBER>708, qlen: 0] handle_continue(load_configuration)
[ts:<PHONE_NUMBER>847, qlen: 0] handle_continue(load_jwks)

[ts:<PHONE_NUMBER>849, qlen: 0] handle_info(configuration_expired)
[ts:<PHONE_NUMBER>849, qlen: 0] handle_continue(load_configuration)
[ts:<PHONE_NUMBER>887, qlen: 0] handle_continue(load_jwks)

@asabil That looks promising. I’ll go ahead and merge the PR then. Thanks for debugging.

Which PR?

Just looked at the PR, that will not work. The fix is the one I posted in the comments above.

@asabil Does the new PR work for you?


How to know if a resource was already disposed?

One of the hardest challenges in Node.js streams (see #44 for details and references) is to know if a stream was already consumed. In this proposal I do not see the behavior specified or recommended, nor a standard API to check if a resource has been disposed or not.
// Stream is already destroyed
try (stream) {

}

There is no standard API to check if a resource has already been disposed. That is also the case for the prior art referenced in the explainer.

I've added a section to the explainer regarding how this proposal relates to exiting NodeJS APIs, and that includes a description of how a @@dispose or @@asyncDispose method could act as a wrapper to an existing method like close() or destroy().
It is recommended that @@dispose and @@asyncDispose should be written so as to be safe to be invoked repeatedly against an already-disposed object, but it is not a requirement. Whether or not @@dispose can be safely re-executed is purely at the discretion of the method implementer.
Roughly, this means:

A @@dispose or @@asyncDispose method should be safe to execute more than once.
A @@dispose or @@asyncDispose method should minimize the likelihood of throwing an exception.
The consumer of a disposable resource should assume it is not safe to dispose of the resource more than once.
The consumer of a disposable resource should assume that disposal could throw an exception.

Because the use cases of Disposables are quite varied, there's no explicit requirement in either direction.


Auth Service

Hi folks!
We have been looking around for a service but we can't find any docs in Xamarin evolve codebase related to Auth service you use for SSO.  Can you point out how we can get started with that?

Tom
From: Shareef Ali<EMAIL_ADDRESS>Sent: Monday, March 27, 2017 12:17 PM
To: xamarinhq/app-evolve<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: [xamarinhq/app-evolve] Auth Service (#32)
Hi folks!
We have been looking around for a service but we can't find any docs in Xamarin evolve codebase related to Auth service you use for SSO. Can you point out how we can get started with that?
Shareef
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/xamarinhq/app-evolve/issues/32, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AHjxRg_tXuEBUlgOJ5BZhxmtzDRvpZsZks5rqAsdgaJpZM4Mqs_b.

This app specifically is using the legacy Xamarin auth system, which is oAuth 2. Since it is ours we use a nice login page, else xamarin.auth is great.


void tf2::fromMsg<geometry_msgs::msg::Quaternion_<std::allocator<void> >, tf2::Quaternion>(geometry_msgs::msg::Quaternion_<std::allocator<void> > const&, tf2::Quaternion&)  nav2_bringup/composed_bringup symbol lookup error

I followed the authentic tutorial mainly
and I tried the slam and navigation simulation tutorial
this can run properly.

ros2 launch nav2_bringup tb3_simulation_launch.py slam:=True

environment
I used ros2 rolling and cloned nav2 and teb_local_planner into the same repository
I also installed the dependencys

here is my directory tree

08:36:41 czg@czg-Lenovo-Legion-R7000-2020 nav2_ws ±|master ✗|→ tree -L 1 src/
src/
├── build
├── costmap_converter
├── hls_lfcd_lds_driver
├── install
├── log
├── navigation2
├── navigation2_tutorials
├── slam_toolbox
├── teb_local_planner
└── turtlebot3

08:48:50 czg@czg-Lenovo-Legion-R7000-2020 nav2_ws ±|master ✗|→ tree -L 2 src/teb_local_planner/
src/teb_local_planner/
├── README.md
├── teb_local_planner
│   ├── cfg
│   ├── CHANGELOG.rst
│   ├── CMakeLists.txt
│   ├── cmake_modules
│   ├── include
│   ├── launch
│   ├── LICENSE
│   ├── package.xml
│   ├── params
│   ├── scripts
│   ├── src
│   ├── teb_local_planner_plugin.xml
│   └── test
└── teb_msgs
    ├── CMakeLists.txt
    ├── msg
    └── package.xml

I think main problem is

[composed_bringup-9] [INFO] [1642682600.234018235] [bt_navigator]: Begin navigating from current location to (0.38, -0.60)
[composed_bringup-9] [INFO] [1642682600.255151534] [controller_server]: Received a goal, begin computing control effort.
[composed_bringup-9] [WARN] [1642682600.255236810] [controller_server]: No goal checker was specified in parameter 'current_goal_checker'. Server will use only plugin loaded goal_checker . This warning will appear once.
[composed_bringup-9] /home/czg/nav2_ws/install/nav2_bringup/lib/nav2_bringup/composed_bringup: symbol lookup error: /home/czg/nav2_ws/install/teb_local_planner/lib/libteb_local_planner.so: undefined symbol: ZN3tf27fromMsgIN13geometry_msgs3msg11Quaternion_ISaIvEEENS_10QuaternionEEEvRKT_RT0
[ERROR] [composed_bringup-9]: process has died [pid 48842, exit code 127, cmd '/home/czg/nav2_ws/install/nav2_bringup/lib/nav2_bringup/composed_bringup --ros-args --params-file /tmp/tmp9b7q7zvt --params-file /tmp/launch_params_dyqx3188 -r /tf:=tf -r /tf_static:=tf_static'].

the function can‘t be found.

08:52:22 czg@czg-Lenovo-Legion-R7000-2020 ~ → c++filt _ZN3tf27fromMsgIN13geometry_msgs3msg11Quaternion_ISaIvEEENS_10QuaternionEEEvRKT_RT0_
void tf2::fromMsg<geometry_msgs::msg::Quaternion_<std::allocator<void> >, tf2::Quaternion>(geometry_msgs::msg::Quaternion_<std::allocator<void> > const&, tf2::Quaternion&)

my main package branches are

08:55:55 czg@czg-Lenovo-Legion-R7000-2020 navigation2 ±|main ✗|→ cd ../teb_local_planner/
08:57:06 czg@czg-Lenovo-Legion-R7000-2020 teb_local_planner ±|ros2-master ✗|→

the tf error is also weird， however it doesn‘t influence the main process greatly.

 [composed_bringup-9] [INFO] [1642682593.611071527] [local_costmap.local_costmap]: Timed out waiting for transform from base_link to odom to become available, tf error: Could not find a connection between 'odom' and 'base_link' because they are not part of the same tree.Tf has two or more unconnected trees.

08:44:58 czg@czg-Lenovo-Legion-R7000-2020 ~ → ros2 run tf2_ros tf2_echo odom base_link
[INFO] [1642682705.299311668] [tf2_echo]: Waiting for transform odom ->  base_link: Invalid frame ID "odom" passed to canTransform argument target_frame - frame does not exist
At time<PHONE_NUMBER>00
- Translation: [-2.000, -0.500, 0.019]
- Rotation: in Quaternion [0.000, 0.001, 0.003, 1.000]
At time<PHONE_NUMBER>00
- Translation: [-2.000, -0.500, 0.019]
- Rotation: in Quaternion [0.000, 0.001, 0.003, 1.000]
^C[INFO] [1642682708.120119739] [rclcpp]: signal_handler(signum=2)

my launch

ros2 launch teb_local_planner teb_tb3_simulation_launch.py

# Copyright (c) 2018 Intel Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# This is all-in-one launch script intended for use by nav2 developers.

import os

from ament_index_python.packages import get_package_share_directory

from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription
from launch.actions import DeclareLaunchArgument

from launch.launch_description_sources import PythonLaunchDescriptionSource
from launch.substitutions import LaunchConfiguration
from nav2_common.launch import HasNodeParams, RewrittenYaml

def generate_launch_description():
    # Get the launch directory
    teb_launch_dir = os.path.join(
        get_package_share_directory('teb_local_planner'), 'launch')
    teb_param_dir = os.path.join(
        get_package_share_directory('teb_local_planner'), 'params')

    nav2_bringup_launch_dir = os.path.join(
        get_package_share_directory('nav2_bringup'), 'launch')
    nav2_bringup_rviz_dir = os.path.join(
        get_package_share_directory('nav2_bringup'), 'rviz')
    nav2_bringup_dir =  get_package_share_directory('nav2_bringup')

    lifecycle_nodes = ['map_saver']

    # params_file = os.path.join(teb_param_dir, 'teb_params.yaml')
    # rviz_config_file = os.path.join(teb_rviz_dir, 'rviz_test_optim.rviz')

    # params_file = os.path.join(nav2_bringup_dir, 'params', 'nav2_params.yaml')
    params_file = os.path.join(teb_launch_dir, 'teb_params_add.yaml')
    rviz_config_file = os.path.join(nav2_bringup_rviz_dir,  'nav2_default_view.rviz')

    bringup_cmd = IncludeLaunchDescription(
        PythonLaunchDescriptionSource(os.path.join(nav2_bringup_launch_dir, 'tb3_simulation_launch.py')),
        launch_arguments={
            'params_file': params_file,
            'rviz_config_file': rviz_config_file,
            'slam': 'True'}.items())

    ld = LaunchDescription()
    ld.add_action(bringup_cmd)
    print(ld)

    return ld

here is my params.yaml modefied on the params/nav2_params.yaml of the package nav2_bringup

main change the controller_server
controller_server:
  ros__parameters:
    odom_topic: /odom

    use_sim_time: True
    controller_frequency: 5.0

    # min_x_velocity_threshold: 0.001
    # min_y_velocity_threshold: 0.5
    # min_theta_velocity_threshold: 0.001
    # failure_tolerance: 0.3

    # progress_checker_plugin: "progress_checker"
    # goal_checker_plugins: ["general_goal_checker"] # "precise_goal_checker"

    controller_plugin_types: ["teb_local_planner::TebLocalPlannerROS"]

    controller_plugins: ["FollowPath"]

    # Progress checker parameters
    # progress_checker:
    #   plugin: "nav2_controller::SimpleProgressChecker"
    #   required_movement_radius: 0.5
    #   movement_time_allowance: 10.0

    # Goal checker parameters
    #precise_goal_checker:
    #  plugin: "nav2_controller::SimpleGoalChecker"
    #  xy_goal_tolerance: 0.25
    #  yaw_goal_tolerance: 0.25
    #  stateful: True

    # general_goal_checker:
    #   stateful: True
    #   plugin: "nav2_controller::SimpleGoalChecker"
    #   xy_goal_tolerance: 0.25
    #   yaw_goal_tolerance: 0.25

    FollowPath:
      plugin: "teb_local_planner::TebLocalPlannerROS"

      teb_autosize: 1.0
      dt_ref: 0.3
      dt_hysteresis: 0.1
      max_samples: 500
      global_plan_overwrite_orientation: False
      allow_init_with_backwards_motion: False
      max_global_plan_lookahead_dist: 3.0
      global_plan_viapoint_sep: 0.3
      global_plan_prune_distance: 1.0
      exact_arc_length: False
      feasibility_check_no_poses: 2
      publish_feedback: False

      # Robot

      max_vel_x: 0.26
      max_vel_theta: 1.0
      acc_lim_x: 2.5
      acc_lim_theta: 3.2

      footprint_model: # types: "point", "circular", "two_circles", "line", "polygon"
        type: "circular"
        radius: 0.17 # for type "circular"

      # GoalTolerance

      free_goal_vel: False

      # Obstacles

      min_obstacle_dist: 0.27
      inflation_dist: 0.6
      include_costmap_obstacles: True
      costmap_obstacles_behind_robot_dist: 1.0
      obstacle_poses_affected: 15

      dynamic_obstacle_inflation_dist: 0.6
      include_dynamic_obstacles: True

      costmap_converter_plugin: "costmap_converter::CostmapToPolygonsDBSMCCH"
      costmap_converter_spin_thread: True
      costmap_converter_rate: 5

      # Optimization

      no_inner_iterations: 5
      no_outer_iterations: 4
      optimization_activate: True
      optimization_verbose: False
      penalty_epsilon: 0.1
      obstacle_cost_exponent: 4.0
      weight_max_vel_x: 0.5
      weight_max_vel_theta: 0.5
      weight_acc_lim_x: 0.5
      weight_acc_lim_theta: 10.5
      weight_kinematics_nh: 1000.0
      weight_kinematics_forward_drive: 3.0
      weight_kinematics_turning_radius: 1.0
      weight_optimaltime: 1.0 # must be > 0
      weight_shortest_path: 0.0
      weight_obstacle: 100.0
      weight_inflation: 0.2
      weight_dynamic_obstacle: 10.0 # not in use yet
      weight_dynamic_obstacle_inflation: 0.2
      weight_viapoint: 50.0
      weight_adapt_factor: 2.0

      # Homotopy Class Planner

      enable_homotopy_class_planning: True
      enable_multithreading: True
      max_number_classes: 4
      selection_cost_hysteresis: 5.0
      selection_prefer_initial_plan: 1.0
      selection_obst_cost_scale: 1.0
      selection_alternative_time_cost: True

      roadmap_graph_no_samples: 15
      roadmap_graph_area_width: 5.0
      roadmap_graph_area_length_scale: 1.0
      h_signature_prescaler: 0.5
      h_signature_threshold: 0.1
      obstacle_heading_threshold: 0.45
      switching_blocking_period: 0.0
      viapoints_all_candidates: True
      delete_detours_backwards: True
      max_ratio_detours_duration_best_duration: 3.0
      visualize_hc_graph: False
      visualize_with_time_as_z_axis_scale: 0.0

      # Recovery

      shrink_horizon_backup: True
      shrink_horizon_min_duration: 10.0
      oscillation_recovery: True
      oscillation_v_eps: 0.1
      oscillation_omega_eps: 0.1
      oscillation_recovery_min_duration: 10.0
      oscillation_filter_duration: 10.0

I solved my problem after making the following changes:
diff --git a/include/teb_local_planner/pose_se2.h b/include/teb_local_planner/pose_se2.h
index addd0dd..4ec990e 100755
--- a/include/teb_local_planner/pose_se2.h
+++ b/include/teb_local_planner/pose_se2.h
@@ -46,9 +46,10 @@
 #include <geometry_msgs/msg/pose.hpp>
 #include <geometry_msgs/msg/pose2_d.hpp>

+#include <tf2_geometry_msgs/tf2_geometry_msgs.h>
+
 #include <tf2/convert.h>
 #include <tf2/utils.h>
-#include <tf2_geometry_msgs/tf2_geometry_msgs.h>

 namespace teb_local_planner
 {

https://github.com/ros2/geometry2/pull/485 is related and potentially fixes it without your changes, but it needs to be merged 😵💫

This has been merged!


3 years reservations are all wrong

Check out your 3 years reservations: they are all wrong:

The F2 should have a maximum of 32% but in your table drops from 151.75082 to 33.50025

I have an easy solution for you: use the official Microsoft API and pull the right data directly from Microsoft.


VictoriaMetrics: re-include vmalert

This was broken by ee411f2c1ba132a5d96199b6e3132611b7443293
Description of changes
https://github.com/NixOS/nixpkgs/pull/293328 updated victoriametrics and added an explicit list of binaries to include. This was lacking vmalert, which caused the vmalert module to break.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@zimbatm would it be possible to remove that explicit list?

Be my guest. The issue I had was that it was putting test binaries in the output. Maybe it could be replaced by ./app/...


Better caching for Travis CI

This PR updates the Travis CI cache settings by following the Travis CI sample settings updated for sbt 1.x.

Codecov Report

Merging #1169 into master will increase coverage by 0.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1169      +/-   ##
==========================================
+ Coverage   85.77%   85.84%   +0.06%
==========================================
  Files          88       88
  Lines        2868     2868
  Branches      115      115
==========================================
+ Hits         2460     2462       +2
+ Misses        408      406       -2

Impacted Files
Coverage Δ

...re/shared/src/main/scala/io/circe/JsonNumber.scala
93.02% <0%> (ø)
:arrow_up:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
87.13% <0%> (ø)
:arrow_up:

...rc/main/scala/io/circe/shapes/SizedInstances.scala
92.85% <0%> (+14.28%)
: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 23af477...038307d. Read the comment docs.

When we updated to sbt 1.3.0-RC1 I had to remove some similar code because find was returning no results and builds were failing (because of the switch from Ivy to Coursier, I guess?): https://github.com/circe/circe/pull/1127

Oops, you are correct.
This change seems no longer required since
sbt 1.3.0 switched from Ivy to Coursier internally...


As a user I want to be able to delete all items based on date/category at one go

So that I do not need to delete one by one when there are changes to the plan of the whole day

Can do this in 2 steps Find then delete range


more refactoring

Remove all but core, identity (#1641)
Use package properties, dependencies (#1642)
Normalize dotfiles (#1682)
Support hierarchical Context (#1684)
Return Response<T> from client methods (#1688)
Standardize directory structure (#1691)
Implement RequestContent (#1692)
Add "root" crate for TypeSpec (#1695)
Add eng/common folder (#1698)
Move crates into subdirs under service dirs (#1705)
Implement client options, method options builders (#1708)
Add lifetime annotation to ClientMethodOptionsBuilder trait (#1714)
Fixed DefaultAzureCredential CI pipeline error (#1717)
Fix year in changelog (#1719)
Add @ronniegeraghty to CODEOWNERS (#1725)
[Rust] [Storage] Initial Storage Scaffolding (azure_storage_blob) (#1721)
Configure and fix spelling issues (#1730)
Refactor general implementation into TypeSpec crates (#1710)
Refactor json and xml mods into typespec crate (#1736)
Add traits with getters for ClientOptions, ClientMethodOptions (#1738)
First cut at a Rust Eventhubs client. (#1715)
Added content to the readme for Rust Event Hubs (#1740)
Moved consumer readme to consumer directory (#1742)
Add components to rust-toolchain.toml (#1741)
Refactor date functions into client core (#1747)
Fix clippy lints (#1749)
Added some AMQP types that were missed in the initial conversion, but… (#1748)
Refactors most of azure_core to typespec

Wrong base again. Tried to cancel the CLI before this was created and ended up creating #1751 in the process.


[proposal] gen_l10n should support nested plurals

My ARB file (fragment):
    "remove_all_done_dialog_body": "Are you sure you want to remove {count, plural, =1 {1 item} other {all {count} items}}? This operation cannot be undone.",
    "@remove_all_done_dialog_body": {
        "placeholders": {
            "count": {
                "type": "int",
                "format": "compactLong"
            }
        }
    }

And this is the output (fragment of app_localizations_en.dart):
  @override
  String remove_all_done_dialog_body(int count) {
    final intl.NumberFormat countNumberFormat = intl.NumberFormat.compactLong(
      locale: localeName,

    );
    final String countString = countNumberFormat.format(count);

    return intl.Intl.pluralLogic(
      count,
      locale: localeName,
      one: '1 item',
      other: 'all ${count} items',
    );
  }

What should be outputted (more or less):
  @override
  String remove_all_done_dialog_body(int count) {
    final intl.NumberFormat countNumberFormat = intl.NumberFormat.compactLong(
      locale: localeName,

    );
    final String countString = countNumberFormat.format(count);

    final String pluralString = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      one: '1 item',
      other: 'all ${count} items',
    );

    return 'Are you sure you want to remove ${pluralString}? This operation cannot be undone.';
  }

gen_l10n tool completely ignores the text outside of the {count, plural...}.
Flutter 1.22.6 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 9b2d32b605 (9 days ago) • 2021-01-22 14:36:39 -0800
Engine • revision 2f0af37152
Tools • Dart 2.10.5

Hi @Albert221
I can reproduce this however I see this more like a proposal since I can't find any reference in
https://github.com/flutter/flutter/blob/master/packages/flutter_localizations/lib/src/l10n/README.md and https://flutter.dev/docs/development/accessibility-and-localization/internationalization that this is supposed to be a supported feature. Please write in the comments bellow if you disagree.

code sample
import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; // remove the comment for this line

final style = TextStyle(
  fontSize: 24.0,
  color: const Color(0xFF333333),
);

void main() => runApp(
  MaterialApp(
    localizationsDelegates: AppLocalizations.localizationsDelegates, // Add this line
    supportedLocales: AppLocalizations.supportedLocales, // Add this line
    home: Builder(
      builder: (context) {
        return Material(
          child: Center(
            child: Text(AppLocalizations.of(context).remove_all_done_dialog_body(1), style: style),
          ),
        );
      }
    ),
  ),
);

flutter doctor -v
[✓] Flutter (Channel master, 1.26.0-18.0.pre.90, on macOS 11.1 20C69 darwin-x64, locale en)
    • Flutter version 1.26.0-18.0.pre.90 at /Users/pedromassango/Code/flutter_master
    • Framework revision 25134a16d1 (2 days ago), 2021-01-29 23:52:30 -0800
    • Engine revision ce14c8a841
    • Dart version 2.12.0 (build 2.12.0-276.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/pedromassango/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.1, Build version 12A7403
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] IntelliJ IDEA Community Edition (version 2020.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 52.2.5
    • Dart plugin version 203.6912

[✓] VS Code (version 1.52.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.18.1

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 11.1 20C69 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 88.0.4324.96

! Doctor found issues in 1 category.

You're right, there's no mention of that.
However, Internationalization User Guide mentions using a subset of the ICU.

The messages themselves are defined using a subset of a syntax called ICU

There's no place where there is specified exactly how big (or small) this subset is.
And in the ICU documentation, there's this:

Recommendation: If possible, use complex arguments as the outermost structure of a message, and write full sentences in their sub-messages. If you have nested select and plural arguments, place the select arguments (with their fixed sets of choices) on the outside and nest the plural arguments (hopefully at most one) inside.

So it's not obligatory, only recommended to make the complex arguments the root of the string.

CC @shihaohong

Same issue here. We would like to create a string that replaces only a small part. Currently we have to create the string redundantly for each singular and plural.
This is working:
"test": "{days,plural,=0{{name}s birthday is today!}=1{{name}s birthday is tomorrow!}other{{name}s birthday is in {days} days}}",
"@test": {
  "description": "test.",
  "type": "text",
  "placeholders": {
    "name": {
      "type": "String"
    },
    "days": {
      "type": "int",
      "format": "compactLong"
    }
  }
}

This unfortunately not:
"test": "{name}s birthday is {days,plural,=0{today!}=1{tomorrow!}other{in {days} days}}",

@Albert221  - Shouldn't the expected output should include the value of countString?
  @override
  String remove_all_done_dialog_body(int count) {
    final intl.NumberFormat countNumberFormat = intl.NumberFormat.compactLong(
      locale: localeName,

    );
    final String countString = countNumberFormat.format(count);

    final String pluralString = intl.Intl.pluralLogic(
      count,
      locale: localeName,
      one: '1 item',
      other: 'all ${countString} items',
    );

    return 'Are you sure you want to remove ${pluralString}? This operation cannot be undone.';
  }

Ah, yes, that was a slight mistake on my side - editing it now :)

🎉🎉🎉


[TW#20538] uart_write_bytes_with_break() - 'brk_len' parameter

While testing the function, I've found that the unit of brk_len parameter is actually a bit length.

@param brk_len break signal length (unit: the time it takes to send a complete byte
including start, stop and parity bits at current_baudrate)

should be corrected. Also the parameter description should mention that the maximum brk_len value is 255.
/**
 * @brief Send data to the UART port from a given buffer and length.
 *
 * If the UART driver's parameter 'tx_buffer_size' is set to zero:
 * This function will not return until all the data and the break signal have been sent out.
 * After all data is sent out, send a break signal.
 *
 * Otherwise, if the 'tx_buffer_size' > 0, this function will return after copying all the data to tx ring buffer,
 * UART ISR will then move data from the ring buffer to TX FIFO gradually.
 * After all data sent out, send a break signal.
 *
 * @param uart_num UART_NUM_0, UART_NUM_1 or UART_NUM_2
 * @param src   data buffer address
 * @param size  data length to send
 * @param brk_len break signal length (unit: the time it takes to send a complete byte
                  including start, stop and parity bits at current_baudrate)
 *
 * @return
 *     - (-1) Parameter error
 *     - OTHERS (>=0) The number of bytes pushed to the TX FIFO
 */
int uart_write_bytes_with_break(uart_port_t uart_num, const char* src, size_t size, int brk_len brk_len);

Testing with logic analyzer proves that it is actually the bit length:
Sending 0x5A character with no break (using uart_write_bytes() :

Sending 0x5A character with 1 break (brk_len = 1):
As the break length is 1 bit it is actually accepted as start signal.

Sending 0x5A character with 10 breaks (brk_len = 10, minimal value to be recognized as break):

Working on this, once confirmed, we will update the documentation.


Updates for mixed device type applications

Make it clear in getting started guides and elsewhere that applications can have devices with different types as long as they share the same architecture.
Change-type: patch

@lurch @thgreasi thanks for the feedback, I've addressed your comments


feature request: ability to import/export Microsoft TM7, SVG & PDF

ability to import/export Microsoft TM7 format, SVG & PDF will make this tool far more mature and useful.

PR #100 implements the ability to export as PDF. I will wait for feedback on the initial implementation before implementing SVG and Microsoft TM7.

Migrated to new issue in the OWASP area repo : https://github.com/OWASP/threat-dragon/issues/2


Adding in Cloudinary

Good to go.

👷 Deploy Preview for coruscating-dusk-3048c5 processing.

Name
Link

🔨 Latest commit
80273716d3263f3533d1e8e107b3972cae15363a

🔍 Latest deploy log
https://app.netlify.com/sites/coruscating-dusk-3048c5/deploys/65f4f7a45c47560008e0e3e8


Implement read method with fetch

function readFetch(url: string | URL): Promise<Image> {
  // fetch then decode
}

Note: fetch is only supported since Node.js 18

We could still use cross-fetch for a while


[pfe-tools]: dev-server doesn't reflect changes to .css files

Description of the issue
When developing elements using npm run start changes to .css files aren't reflected in the browser.  You need to stop the dev-server and restart it for the new css to be seen.
Impacted component(s)

All components

Steps to reproduce

nvm use
npm run clean:nuke
npm run ci
npm run build
npm run start
Visit: http://localhost:8000/components/label/demo/
In your IDE, edit the elements/pf-label/pf-label.css file and add a the following css

:host {
  display: none;
}

Verify that the css change was not reflected on the demo page in your browser.

Expected behavior
CSS changes should immediately seen in your browser.
Related issues

https://github.com/RedHat-UX/red-hat-design-system/pull/735

Following your steps, after step 7, I confirmed that

saving the file refreshed the page
there was no change to the label styles in the browser.
But then, if I saved the file one or two more times then the changes appeared, and subsequently all new changes were immediate

do you have the same experience @heyMP, @brianferry ?

adding this middleware to web-dev-server.config.js appears to update the cache headers on each request, however it appears that I still have to refresh two or three times before changes will appear
async function cacheBusterMiddleware(ctx: Context, next: Next) {
  if (ctx.path.match(/elements\/[\w-]+\/[\w-]+.css$/)) {
    const lm = new Date().toString();
    const etag = Date.now().toString();
    ctx.response.set('Cache-Control', 'no-store,no-cache,must-revalidate');
    ctx.response.set('Pragma', 'no-cache');
    ctx.response.set('Last-Modified', lm);
    ctx.response.etag = etag;
    console.log(ctx.path, etag, lm);
  }
  return next();
}


d20190830_LIANG

Incorporated data from Figshare and papers; emailed authors asking that they check things.

Emailed again; they offered processed, QC'd data and hope to take them up on this.

...until then should do a two-stage process as in #65 .

Shifted to two-stage throughout in #86


Decouple the backend and the renderer

Removes the hard coupling between the backend and the renderer to improve third party backends/renderers
Related to #3195

wlroots has migrated to gitlab.freedesktop.org. This pull request has been moved to:
https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3215


feat: add support for xri simulator

Description
This PR adds support for the official Unity XR Interaction input simulator.

New action based (not device based) XR Rig
New Controller Manager (action based)
New Locomotion system (action based)

Fixes: TRNG-1299
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

How Has This Been Tested?
Download the simulator package (Package Manager > XR Interaction Toolkit > XRI Simulator). Put the simulator GameObject into the setup scene. Click on play and try the simulator.
Controller inputs have to be tested still.
Checklist

[x] My code follows the Coding Conventions
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

Can we close this in favor of https://github.com/Innoactive/XR-Interaction-Component/pull/78 ?

Can we close this in favor of https://github.com/Innoactive/XR-Interaction-Component/pull/78 ?

Yes, it is being addressed in https://github.com/Innoactive/XR-Interaction-Component/pull/78

Yes, it is being addressed in https://github.com/Innoactive/XR-Interaction-Component/pull/78


Log data (to flash, or to SD)

Simple option: log data to flash (this might require removing the option for OTA)
Additional HW needed for the option to log to SD (probably the better option)
Examples at

https://randomnerdtutorials.com/esp32-data-logging-temperature-to-microsd-card/
https://github.com/wilhelmzeuschner/esp32_gps_bicycle_computer
https://github.com/har-in-air/ESP32_IMU_BARO_GPS_LOGGER
https://github.com/hamsternz/esp32_serial_log_to_sd

I have followed your project and just finished the build and confirmed working with Harry's on IOS.
I would love to see this feature implemented to write out a GPX file as it would remove the IOS compatibility challenges, I have just ordered some micro SD boards to have a test with. I will report back on my progress though i am not a programmer so i am sure it will be slow

I would suggesting logging a binary format (to eprom FS or to SD) and then change into GPX file when exporting.
You need to parse the GPS responses into position data (all the interfaces here implemented only transfer data "as-is" and the mobile phone apps translate that into their own format): there is some code already in place that uses the NeoGPS library.
See code enabled via macro NEED_NEOGPS
One recommendation would be: configure the GPS output to use binary ublox format and reduce the output to position only (no equivalent of GSA/GSV), this will minimize serial transmission between esp32 and data parsing.