Challenges deploying Key Vault, Private Endpoints, and Private DNS Zones with Bicep

Bicep version
Bicep CLI version 0.13.1
Describe the bug
Challenges deploying Key Vault, Private Endpoints, and Private DNS Zones with Bicep:

The Bicep linter flags hardcoded URLs in code, such as database.windows.net, and suggests that the environment() function be utilized instead.
At this time, the linter does NOT flag the URL for Azure Key Vault, vault.azure.net.
When leveraging the environment function, 'privatelink${environment().suffixes.keyvaultDns}', to deploy a Private DNS Zone for the Azure Key Vault Private Endpoint, the following suffix is retrieved: "keyvaultDns": ".vault.azure.net". That is verified at this link - https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/bicep-functions-deployment#example-1.
The proper Private DNS Zone for Key Vault Private Endpoints is actually privatelink.vaultcore.azure.net. If 'privatelink${environment().suffixes.keyvaultDns}' is defined in the template, the zone privatelink.vault.azure.net is created instead.
If the improper DNS Zone, privatelink.vault.azure.net, is used the A Record in the DNS Zone for the Private Endpoint is never created. Additionally, the deployment will not show any errors if the A Record is not created. The deployment will show as successful, but the Key Vault will not be accessible via Private Endpoint. The fact that there is no error message stating that the record was not created seems to be an issue.

My initial feeling is that this is actually multiple issues that need to be addressed, and they may be more Resource Provider related than Bicep. Starting the conversation here.
To Reproduce
Steps to reproduce the behavior:
param location string = resourceGroup().location

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2022-07-01' = {
  name: 'vnet-keyVaultPrivate'
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '<IP_ADDRESS>/16'
      ]
    }
    subnets: [
      {
        name: 'snet-keyVaultPrivate'
        properties: {
          addressPrefix: '<IP_ADDRESS>/24'
        }
      }
    ]
  }
  resource subnet 'subnets' existing = {
    name: 'snet-keyVaultPrivate'
  }
}

resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' = {
  name: 'privatelink${environment().suffixes.keyvaultDns}'
  location: 'global'
}

resource privateDnsZoneLink 'Microsoft.Network/privateDnsZones/virtualNetworkLinks@2020-06-01' = {
  name: '${privateDnsZone.name}/${virtualNetwork.name}-link'
  location: 'global'
  properties: {
    registrationEnabled: false
    virtualNetwork: {
      id: virtualNetwork.id
    }
  }
}

resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' = {
  name: 'kv-${uniqueString(resourceGroup().id)}'
  location: location
  properties: {
    enabledForDeployment: true
    enabledForDiskEncryption: true
    enabledForTemplateDeployment: true
    enableRbacAuthorization: true
    enableSoftDelete: true
    publicNetworkAccess: 'Disabled'
    sku: {
      name: 'standard'
      family: 'A'
    }
    softDeleteRetentionInDays: 7
    tenantId: subscription().tenantId
  }
}

resource privateEndpoint 'Microsoft.Network/privateEndpoints@2022-01-01' = {
  name: 'pe-keyVaultPrivate'
  location: location
  properties: {
    privateLinkServiceConnections: [
      {
        name: 'pe-keyVaultPrivate'
        properties: {
          privateLinkServiceId: keyVault.id
          groupIds: [
            'vault'
          ]
        }
      }
    ]
    subnet: {
      id: virtualNetwork::subnet.id
    }
  }
}

resource privateEndpointDnsZoneGroup 'Microsoft.Network/privateEndpoints/privateDnsZoneGroups@2022-07-01' = {
  name: '${privateEndpoint.name}/dnsgroupname'
  properties: {
    privateDnsZoneConfigs: [
      {
        name: 'config1'
        properties: {
          privateDnsZoneId: privateDnsZone.id
        }
      }
    ]
  }
}

Steps to reproduce functional behavior:
param location string = resourceGroup().location

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2022-07-01' = {
  name: 'vnet-keyVaultPrivate'
  location: location
  properties: {
    addressSpace: {
      addressPrefixes: [
        '<IP_ADDRESS>/16'
      ]
    }
    subnets: [
      {
        name: 'snet-keyVaultPrivate'
        properties: {
          addressPrefix: '<IP_ADDRESS>/24'
        }
      }
    ]
  }
  resource subnet 'subnets' existing = {
    name: 'snet-keyVaultPrivate'
  }
}

resource privateDnsZone 'Microsoft.Network/privateDnsZones@2020-06-01' = {
  name: 'privatelink.vaultcore.azure.net'
  location: 'global'
}

resource privateDnsZoneLink 'Microsoft.Network/privateDnsZones/virtualNetworkLinks@2020-06-01' = {
  name: '${privateDnsZone.name}/${virtualNetwork.name}-link'
  location: 'global'
  properties: {
    registrationEnabled: false
    virtualNetwork: {
      id: virtualNetwork.id
    }
  }
}

resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' = {
  name: 'kv-${uniqueString(resourceGroup().id)}'
  location: location
  properties: {
    enabledForDeployment: true
    enabledForDiskEncryption: true
    enabledForTemplateDeployment: true
    enableRbacAuthorization: true
    enableSoftDelete: true
    publicNetworkAccess: 'Disabled'
    sku: {
      name: 'standard'
      family: 'A'
    }
    softDeleteRetentionInDays: 7
    tenantId: subscription().tenantId
  }
}

resource privateEndpoint 'Microsoft.Network/privateEndpoints@2022-01-01' = {
  name: 'pe-keyVaultPrivate'
  location: location
  properties: {
    privateLinkServiceConnections: [
      {
        name: 'pe-keyVaultPrivate'
        properties: {
          privateLinkServiceId: keyVault.id
          groupIds: [
            'vault'
          ]
        }
      }
    ]
    subnet: {
      id: virtualNetwork::subnet.id
    }
  }
}

resource privateEndpointDnsZoneGroup 'Microsoft.Network/privateEndpoints/privateDnsZoneGroups@2022-07-01' = {
  name: '${privateEndpoint.name}/dnsgroupname'
  properties: {
    privateDnsZoneConfigs: [
      {
        name: 'config1'
        properties: {
          privateDnsZoneId: privateDnsZone.id
        }
      }
    ]
  }
}

Thanks in advance!

@joshuawaddell - I am closing this issue and opening #9839 and #9840. For this last issue:

If the improper DNS Zone, privatelink.vault.azure.net, is used the A Record in the DNS Zone for the Private Endpoint is never created. Additionally, the deployment will not show any errors if the A Record is not created. The deployment will show as successful, but the Key Vault will not be accessible via Private Endpoint. The fact that there is no error message stating that the record was not created seems to be an issue.

It would be best to work with the key vault team directly on this one. I can get you an internal contact to start that conversation.


add mailbox/nameplate? attributes, set wordlist=None for manually-entered wormhole codes

There's room in the nameplate list to include per-nameplate attributes (each nameplate is delivered as a dictionary, and the nameplate ID is just one key, and we can add others). The first attribute I have in mind is a "wordlist identifier", so the sender can use an alternative wordlist, and the recipient can offer tab-completion against the right list. I'm undecided as to whether this identifier should be a simple string or integer, or if it should be a hash of the wordlist (encoded in some suitable form), so it can be a bit more open-ended (and guaranteed to be the same on both sides). The attributes are not protected at all (as they necessarily get processed before the PAKE happens), so we have to be careful with them. E.g. it's probably not a good idea to include the entire wordlist in the attribute, because then an attacker can swap it out for a really short list, and a receiver who isn't paying attention might just hit "xyTABaTABRETURN" and the attacker would have a higher chance than usual of guessing the code.
For the "choose a wormhole code offline, then type it into both machines later" mode, we could improve the receiver's experience (assuming they type it in after the sender does) by setting the wordlist identifier to None, which should disable tab-completion (at least on the wordlist).
We need to think through the user experience here, since it'd be a bit weird to have the receiver's flow change depending upon whether they happened to run before, or after, the sender runs. We have more information to work with if the receiver goes second. (A related question is what the receiver should do when it sees no data in the channel it was told to use: in the machine-generated-code case, that means they probably mistyped the channel-id, and it might be good to emit a warning).

@dkg made a good argument to me today, to not include the wordlist as a nameplate attribute. The problem is that an attacker can scan those attributes before committing to a particular channel, so they could selectively break connections using a given language, while leaving other connections untouched.
As annoying as the UX and engineering consequences are, it's probably better for overall security to prevent attackers from being selective about their attacks: force them to attack (or not) all connections with equal probability, rather than letting them pick and choose their victims. That means either putting the wordlist-identifier as a mailbox attribute (which clients can't learn until they've claimed the nameplate, at which point they're the only one who can use it, so either they get the code right or it is broken for everybody), or not using a wordlist at all.
He suggested an interesting approach to L10N. Basically you pick half a dozen writing systems, say (latin, cyrillic, greek, arabic, chinese, tamil), for each one you pick the most common language written with those characters, and then you find 256 words from each. The sender's code is chosen from a subset according to their language settings ($LANG=en_US etc). The receiver uses the whole wordlist, but once the user has typed in the first character of a word, any tab-completion is only going to show them words from the same language. So you can effectively hide all the other words from any individual recipient, without needing any in-band indicator of the wordlist being used.
The downside is that you can't localize for specific languages: (english, french, italian, spanish) are all going to get the same wordlist. But it doesn't preclude us from adding an in-band wordlist attribute later, and certainly wouldn't add any information to enable selective attacks in the meantime.

If we add the word list information to the claimed message (the response message when claiming a nameplate), does the selective DOS issue still apply?

If we add the word list information to the claimed message (the response message when claiming a nameplate), does the selective DOS issue still apply?

I believe this could potentially work .. the server at least knows if >2 sides have tried to claim a mailbox so an attacker has to commit to that much. It's not quite the same as trying a password, but I think the result is the same: they don't learn the wordlist in use without destroying the mailbox.
(The only disadvantage would be a slight delay: waiting until the claimed comes back before tab-completion works)

Yeah the claimed response is basically where these "mailbox attributes" would be delivered.
Having a delay between sending the claim and tab-completion starting to work wouldn't be too bad, we already have similar race conditions with the nameplate completion: if you run wormhole rx and hit tab really fast, you get no completions, because we haven't yet received the list response, if you wait a few seconds and hit it again, you get a list to select from, if you wait a few more seconds, you get a different list (each TAB gets you completion against the current list, and also sends a request to update the list, so it can change over time as other people add/claim nameplates).
Yeah, it is a bit weird that there's a commit/claim point that you think you can backspace over but in fact cannot. I think I added code to the state machine to complain if the user does this, but readline is finicky and I don't remember if I was able to make it work. The intention is that backspacing over the post-nameplate hyphen would cause the CLI to exit with an error, or refuse to backspace, or complain somehow until you either quit or re-typed the same nameplate, or ooh even better change the completion list to include only the one committed nameplate (so tab completion on the nameplate still looks like it works).
The current python client does this exactly for this reason, to line up for completion with variable wordlists, and to hide the latency of the CLAIM/CLAIMED messages behind the user typing the wormhole code. I think it's an ok tradeoff, but "how often does this affect people?" is a good question to ask. The best datapoint I can think of is to look at the mailbox server stats (which I should find some way to publish one of these days). In the last 5 days, we've had 5770 total sessions, broken down by "mood" outcome:

3930 "happy" (both clients reported success)
1560 "pruney" (session was deleted for lack of activity)
113 "lonely" (never saw a second client)
117 "scary" (at least one client reported a PAKE mismatch)

I think the "I claimed the wrong channel" case would either land in "lonely" (if they bailed before submitting a code), "scary" (65535-out-of-65536ths of the times that they proceeded through to entering a code, getting it wrong), and "happy" in the 1-out-of-65536 times they got really lucky). If that's true, then this is currently happening at most 4% of the time, and probably at most 2% (only the lonely). I'd have to run some tests to be sure, though, it might land in the "pruney" bucket, which would mean it could be happening more frequently.

Because as an input field, a user may reasonably expect that they may edit its value at any point in time without consequences, and the input is only committed when pressing enter.

This sounds like an interesting UX challenge -- although of course it's a bit harder when the UX is "plain text terminal".
Since it's also possible for operators to disable the list command I think it's worth considering the whole feature. While I do sometimes appreciate the tab-completion for the words part, I don't know that I've ever used that for the mailbox / number part. So a UX could (right now) simply never do that bit -- and indeed, has to support that mode in case the operator has disabled nameplate listing entirely.
We could change our recommendations to not attempt completions on the nameplate. This, then, would give a clear path for tab-completion: determine the nameplate number, then claim (locking it in) and then do tab-completion (or could be visual "correctness checking" by a GUI).
A naive terminal client might switch this to two steps: one you enter the number -- or enough of the code to have the number, i.e. the first - -- it moves to a new line (making it obvious you can't delete the number part). Or it could be a two-step process: Enter number:  followed by Enter code:. I can imagine a number of ways to do this in a GUI using visual clues to show the user e.g. the number can't be changed at a certain point.
Supporting copy-paste of an "entire code" should also be possible.

The bottom line, though is: if we let normal users decide on a different nameplate, they're effectively "trying an unbounded number of different nameplates" which is what an  attacker might want to do (e.g. to find "the one using the weird wordlist"). So I don't think we can have that feature while also preventing attackers from targeting based on wordlist choice.
I'm good with dropping completion / verification of the nameplate before claim is called.

n.b. to my previous post: This was already written under the assumption that the list command returns empty and that there is no nameplate completion. The outlined use case for corrections still holds up without that feature.

Let me throw in completely different idea: what if users could query the wordlist for a nameplate without committing to it, but the server returns a pseudo-random answer for unclaimed nameplates? I think it could be made in a way such that a potential disruptor would gain no useful information from it without already knowing a valid nameplate in the first place (and, knowing that it is valid, so correctly guessing is not enough).

what if users could query the wordlist for a nameplate without committing to it, but the server returns a pseudo-random answer for unclaimed nameplates?

Hmm, this is definitely an interesting thing to look at!
To meet the "anti-DoS" goals I guess it would have to be available only after at least submit_permissions() -- and bind since that's currently "the first thing you do".
So then I guess the proposed feature would allow any connection that's in that state to query any number (or maybe "a reasonable number") of mailboxes for their attributes. This should take care to not reveal whether the mailbox is currently allocated or not (e.g. via timing too). Once the connection does a claim,  no more such queries.


docs: add comment for CSEResultFilePath generated by Windows CSE

What type of PR is this?
/kind documentation

What this PR does / why we need it:
add comment for CSEResultFilePath generated by Windows CSE
Which issue(s) this PR fixes:

Fixes #
Requirements:

[x] uses conventional commit messages

[x] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2290

Relevant Lines:
2887

💛  - Coveralls


Give Kythe URI libraries proto visibility. [phab:D2235]

Created by fromberger at 2018-03-30 13:05:05:
Although these libraries are not proto libraries themselves, it is not
practical to make much use of Kythe protos without Kythe URI parsing.  Thus:
Give these the same access visibility as the protos so that a client can depend
on these libraries without having to depend on everything else.

shahms accepted this revision at 2018-03-30 13:19:01

fromberger closed via commit 3318fc1b760d14a22378b34fdf9fe01f75f5f6af at 2018-03-30 13:21:25


Fix-up to work with set -u

This change defines a few default values to allow getopt.bash to work when set -u is in effect.

Thanks!


Feature/01 point on map

Closes #2

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

19 of 22 (86.36%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+60.1%) to 89.655%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/mapas/mapas.service.ts
9
10
90.0%

src/mapas/mapas.controller.ts
2
4
50.0%

Totals

Change from base Build<PHONE_NUMBER>:
60.1%

Covered Lines:
26

Relevant Lines:
29

💛  - Coveralls


Expose methods

Is this possible to do

That is, call the method of a Preact Component from 'outside'? ( https://stackoverflow.com/questions/39439085/custom-methods-of-web-components )
Use case: I am making a web component to display data and want to expose a 'dataWasUpdated' method that can be called.

I am closing this issue - I don't think Web Components are 'supposed' to be able to do this :)


Fix python

Fixes Python dependency and re-renders. Bumps build number.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

I have archived the broken packages from this feedstock and updated this accordingly.

This appeared right to me. So went ahead and merged this so we could fix nipype.

Also the builds look correct as there is a build for each supported version of python at conda-forge on all platforms.


Add a medium potion

Add a medium potion that increases the players HP by 40 points and costs 450 Gold
should be sold in shop
Take the value of the number of medium sized potions in a global variable and construct a separate functions to handle calculations related to HP and Gold wherever required

@Himank101 can i get access to this issue
PES2UG21CS924
SEAN SOUGAIJAM

sure!


Keep current working directory when setting build environment.

In order to keep the current working directory, set VSCMD_START_DIR to %CD% before calling vcvarsall.
Addresses #1545

@bzoz Can you review?

Ref: similar code in Node: https://github.com/nodejs/node/commit/be3f3d40e2170ab880062641d829e306c80f4504

For reference, for this to reproduce %USERPROFILE%\Source directory must exits. https://developercommunity.visualstudio.com/comments/27702/view.html

Landed in https://github.com/libuv/libuv/commit/c78caf0b34c18f62a945659eacf63cfb5a3c8396. Thanks!


⚠ Spryr has degraded performance

In bfb3611, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3803 ms

Resolved: Spryr performance has improved in 1d98f9d after 30 minutes.


Test: consistent context menus in workbench layout

Refs: https://github.com/microsoft/vscode/issues/113757

[ ] anyOS @lszomoru
[ ] anyOS @ornellaalt

Complexity: 2
Authors: @bpasero, @sandy081
Create Issue

We tried to make the context menus that appear throughout the workbench to be consistent. This impacts the following right-clickable locations:

activity bar (either any entry directly or empty space between)
panel header (either an entry directly or empty space between)
side bar (either a view directly or the title area at the top)

The experience should be consistent:

you see an explicit "Hide XY" entry as first entry if you right click on a specific entry
you always see a list of entries with checkboxes to toggle visibility
you never see a "Hide XY" entry when you right click into empty space
you see management related entries at the end (e.g. "Move Sidebar Right")

Very small thing on Activity Bar. Context menu reads Hide 'Extensions' for example but Hide Accounts  (Accounts not in quotes).

Very small thing on Activity Bar. Context menu reads Hide 'Extensions' for example but Hide Accounts  (Accounts not in quotes).

@ArturoDent thanks for testing this, yes I would say that is intentional because view names can be anything including multiple words and potentially coming from extensions so I felt it better to surround with quotes.

@ArturoDent thanks for testing this, yes I would say that is intentional because view names can be anything including multiple words and potentially coming from extensions so I felt it better to surround with quotes.

Tested on macOS 👏🏻

Tested on macOS 👏🏻

Also tested on macOS :tada:

Also tested on macOS :tada:


PoC is not working on my side

Hello,
I just tested your PoC, and I'm probably doing it wrong, actually I compiled it on debian buster, and I use this command line :
./ZipExec -I /home/user/artifact.exe -O /home/user/loader.js -sandbox

And I run the loader.js on a windows 10 virtual machine but nothing happens, I edited the path in the .js file to avoid a weird linux path in it but it's the same result.
If I check in the %temp% directory, I don't have any zip file, so I tried to execute it with cscript, and I don't have any exceptions.
I'm interested if you have an idea.

It does not work on my side either.
@Sh0ckFR Does the .exe file executes your binary after you execute the loader.js on your side?


arm: tfm: samples: psa level 1 certified sample

WORK IN PROGRESS, SHOULD NOT BE MERGED!
This PR adds some boilerplate code for a PSA Certified Level 1
sample application that can be used during the PSA certification
process.
It implements the following features:

A config struct is defined (cfg_data) that contains app and user
configuration data that will be persisted to secure storage via the
appropriate PSA FF API calls.
A psa shell command is added that can be extended with required
features, such as the ability to delete the above config record and
reset the device to factory defaults.
Basic logging support to handle common TF-M error codes (applog.c),
based on the Zephyr logging subsystem.
Basic encryption/decryption support showing how the TF-M crypto
service can be used to encrypt and decrypt data transfers.

This sample depends on #16450.
Signed-off-by: Kevin Townsend<EMAIL_ADDRESS>

Superseded by #19985, which takes into account the changes and feedback made in this PR.
This PR is being closed in favour of the newer version which integrates a shared TF-M build system, and will simplify the overall TF-M sample app review process.


Waypoint time inside

There are different ways to tell the autopilot to stop at the current waypoint.

target is a loiter
there is no next waypoint available
target is a position-waypoint with a time component

The first two are handled correctly by the MC position controller where the vehicle decelerates towards the target  waypoint. The third, however, was not known by the position controller and therefore the vehicle tried to pass that particular waypoint with full speed. It is to note that the vehicle will stop regardless, but only because the navigator does not update. The missing deceleration can lead to very abrupt stops.
In this PR, I added a time_inside field to the position_setpoint message. Once this field is larger than 0, the vehicle will decelerate towards the target waypoint.
I consider this as a short-term fix. For the future, we should again review the meaning of a MC loiter. I prefer to keep the definition of a loiter the same as for fixed-wings (@dagar I think you have suggested that) and all other mission/re-position/rtl maneuvers are just a set of position-waypoints with time_inside information.

I would make sure you test it exhaustively. The navigator side of the time_inside check is questionable and has been broken at various times. I had a larger cleanup of MissionBlock in https://github.com/PX4/Firmware/pull/8883, but I don't think I'll have a chance to finish it for at least a couple weeks.

@dagar what should I test? If the time_ inside is used in the navigator?
The position controller is not doing anything with this time_inside stuff, it is just used to know that the vehicle actually wants to stop at the waypoint.
I am not sure if I understand the issue here...

or lets put it differently: how can I tell the position controller to stop at a waypoint if it is a waypoint with hold.

Not sure how this helps hover and capture? What needs to be known is that the vehicle has actually stopped moving?

@Stifael yes test that it actually works as intended with all the pieces. The MC position controller portion isn't going to be right if navigator isn't always respecting its own time_inside for waypoint acceptance. At a glance it's not at all clear that navigator is properly resetting time_inside.
Navigator is also always returning time_inside if the item isn't a TAKEOFF. This should be changed to (NAV_CMD_WAYPOINT || NAV_CMD_LOITER_TIME_LIMIT). Otherwise the time_inside is simply whatever garbage is in the first param. https://github.com/PX4/Firmware/blob/master/src/modules/navigator/mission_block.cpp#L467-L473

It is unclear if this pull causes the hold time to only start after the vehicle stops moving. Is that what it doesn?

It is unclear if this pull causes the hold time to only start after the vehicle stops moving. Is that what it does?

Indirectly yes. The PR was intended to let the vehicle decelerate before the waypoint such that it is already close to zero. However, it turns out that is already the case for hover and capture because during survey for each hover-capture waypoint there is no next setpoint sent and therefore it already decelerates anyway.

I will close this PR. Don't have much time to test the navigator internal working except in simulation.


Active persisted queries for Apollo has an issue with the signature query.

Hot Chocolate expects the query lookup through the id field or the namedQuery field. Apollo Links on the other hand always puts the query hash into the extension map.
Signature Query:
{
  operationName: 'MyQuery',
  variables: null,
  extensions: {
    persistedQuery: {
      version: 1,
      sha256Hash: hashOfQuery
    }
  }
}

Another example:
{
  "operationName": null,
  "variables": {},
  "extensions": {
    "persistedQuery": {
      "version": 1,
      "sha256Hash": "f3ec70c85b5ad66d3ef8d445a2097ac412b00221f76d83999042976e20eac85b"
    }
  }
}

https://blog.apollographql.com/improve-graphql-performance-with-automatic-persisted-queries-c31d27b8e6ea
https://github.com/apollographql/apollo-link-persisted-queries

This issue is now fixed and integrated into 10.1.0-preview.4

https://github.com/ChilliCream/hotchocolate/commit/afd4f59df5cf5aa9f4094324c4a2c8dc272fc824

The fix is now integrated in release 10.1.0-preview.4
https://github.com/ChilliCream/hotchocolate/releases/tag/10.1.0-preview.4
And also we have integrated the fix into release 11.0.0-preview.5
https://github.com/ChilliCream/hotchocolate/releases/tag/11.0.0-preview.5


Revert "home-assistant-custom-components.homematicip_local: 1.73.0 -> 1.74.0"

This reverts commit c7ea95dbe45dd7c5da31e089b538258ee74e37e0 because version 1.74.0 only supports Home Assistant >= 2024.12.0.

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/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

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

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 365404

x86_64-linux

:white_check_mark: 3 packages built:

home-assistant-custom-components.homematicip_local
python312Packages.hahomematic
python312Packages.hahomematic.dist

Feel free to revert on staging-next, where we have 2024.12.3.

Feel free to revert on staging-next, where we have 2024.12.3.

I'll do so after the next merge of master into staging-next.

https://github.com/NixOS/nixpkgs/actions/runs/12342922106


[Bug]: Fast Web View says No even if PDF is linearized

Attach (recommended) or Link to PDF file
https://d2tkmshiozsr4v.cloudfront.net/documents/files/000/041/350/original/ad41798557504b40d26e11b4f059c0945bb5ca14/750614main_NASA_FY_2014_Budget_Estimates-508.pdf
Web browser and its version
Google Chrome
Operating system and its version
Windows 11
PDF.js version
master
Is the bug present in the latest PDF.js version?
Yes
Is a browser extension
No
Steps to reproduce the problem

Load supplied PDF with PDF.js
Click Document Properties...
Notice Fast Web View says No

What is the expected behavior?
Should say Yes
What went wrong?

Link to a viewer
No response
Additional context
No response

Notice Fast Web View says No

And so does Adobe Reader as well, i.e. the PDF reference implementation, since the /Linearized dictionary in the PDF document is unfortunately corrupt. More precisely, its /L-entry doesn't equal the length of the file; note https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf#G19.1043548

@Snuffleupagus do you have an example of a working linearized PDF? I tried several

https://github.com/mozilla/pdf.js/blob/master/test/pdfs/pdf.pdf.link is a correctly linearized PDF document.


HmIP-ASIR-O

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Note: If you just have a question or want to know something consider to open a thread in Discussions
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Device related data
If you want to add a new device or add a feature to a new device, please login to your hap-homematic WebUI; Select Internal/Help and create the device description file as described in the dialog you will get. Please attach the file to your request.
HmIP-ASIR-O.json.zip

This is a new device to get in to HomeKit.
thanks a lot


Add functions that returns results in DRS way

https://ga4gh.github.io/data-repository-service-schemas/preview/release/drs-1.2.0/docs/
https://github.com/ga4gh/data-repository-service-schemas

DRS endpoints are now available on dev and functional


Correction for raw affiliation Student Aeres Hogeschool Dronten

Correction needed for raw affiliation Student Aeres Hogeschool Dronten
raw_affiliation_name: Student Aeres Hogeschool Dronten
new_rors: 03jnx2c74
previous_rors: 01xpgs822
works_examples: W2759007595
contact: 7806a251e943142154360b297835dd5f:ff3d5b867557f6e0 @ aeres.nl

This issue was accepted and ingested by the OpenAlex team on 2024-12-19. The new affiliations should be visible within the next 7 days.


-no-ban should log that it WOULD have banned

current implementation of no-ban does not log that it /would/ have banned, it just silently doesn't ban.
please add logging to show that you would have banned, otherwise we can't know if/when we are reaching that condition

#3054 does this.


one dir_path for one markdown file

Is your feature request related to a problem? Please describe.
I want move the markdown file from one place to another place. Those images should also go with the markdown files, but since current we put all image inside one assets folder, if we have multiple markdown files in same directory, I need to filter out the images for that markdown file manually. So I was thinking maybe the dir_path could have an option to create specific dir to place the images for that specific markdown file.
e.g. I create a markdown file named test.md --> when paste an image into the test.md file, the image saved to file_dir/.asset_test folder. The file_dir is the directory where the markdown file is located(since sometimes people like me would just open another note outside current pwd, so I think it's nice to put it at the same location with the markdown file instead of pwd)

This should already be doable. Try the following configuration:
opts = {
  filetypes = {
    markdown = {
      dir_path = function()
        return "asset_" .. vim.fn.expand("%:t:r")
      end,
    },
  },
},

Any option can be dynamically configured using Lua functions :)

Oh, that's great, I didn't noticed this in the README doc. You have type hint all the options as string

Oh, one more thing is the dir_path prefix, since the dir_path is a relative path.
If I remember correctly, the prefix is pwd, how could I change it to the path where the markdown file is located at.

Oh, one more thing is the dir_path prefix, since the dir_path is a relative path.
If I remember correctly, the prefix is pwd, how could I change it to the path where the markdown file is located at.

You can enable the relative_to_current_file option, i.e.:
opts = {
  filetypes = {
    markdown = {
      relative_to_current_file = true,
      dir_path = function()
        return "asset_" .. vim.fn.expand("%:t:r")
      end,
    },
  },
},

You have type hint all the options as string

Thanks for pointing that out. I should probably change it to string | func or similar for clarity.


Best way to reassign missions to different agents?

High Level Description
I created a four-way intersection scenario and made a gym environment using HiWayEnv. Given n agents an m missions, I'm trying to find the best way to randomly assign different missions to different agents each episode.
Desired SMARTS version
1.0.3
Operating System
Ubuntu 20.04
Problems
The first issue is that it looks like HiWayEnv expects one of:

No mission and >0 agents, so that missions are generated and assigned randomly,
>0 missions and 1 agent, where missions are again assigned randomly,
m == n, where I'm assuming missions are assigned in order (ith agent interface is assigned the ith mission).

The case of m != n seems a little more complicated, so let's assume m == n. The ways I've thought of shuffling the missions are

Shuffling env.scenario._missions manually on reset() (don't know if this works),
Creating many scenario directories with different permutations of missions,
Using the SMARTS simulator directly and creating a new Scenario object on reset with the desired mission assignment.

I feel like 1 is hacky, 2 is messy, and 3 is most likely inefficient. Is there a preferred way to do this?

Hello @ajlangley, there is not a current standard way of managing permutation. This is an issue we have been deferring.
Current issue
I assume that the Scenario.scenario_variations iterator (used by HiWayEnv.reset) is not working as you expect? Specifically, the missions returned do not contain permutations of mission order?

No mission and >0 agents, so that missions are generated and assigned randomly,
>0 missions and 1 agent, where missions are again assigned randomly,
m == n, where I'm assuming missions are assigned in order (ith agent interface is assigned the ith mission).

The case of m != n seems a little more complicated, so let's assume m == n. The ways I've thought of shuffling the missions are

With respect to your considerations:

This is not currently possible, Scenario should only represent what is needed to create the initial state of the scenario within the simulation on reset. I can see that it would be best for us to rename SMARTS.scenario to SMARTS.scenario_spec to avoid confusion.
(your 2) Explicitly generating permutations of scenarios to different directories. This is confirmed to work but ends up with an inefficient use of disk space. Because we have not yet set up resource references it requires the map file to also exist in each of those directories.
(your 3) Using the SMARTS simulator directly and creating a new Scenario object to pass to reset with the desired mission assignment. As previously mentioned Scenario.scenario_variations is the utility used to determine the missions. Replacing the generation of scenarios would allow to you manually select mission order.

Future approaches
We had also considered future solutions to make the missions less mysterious.

Implement named missions that can be requested through the agent interface.
Defer mission generation and have users pick their own mission order. (this does not work well with the gym interface)
Require permutation of missions to be explicitly declared in scenario.py for each of those cases. (push mission order specification on the user)

The way I expected for agent mission reassignment to work would have been that calling an environment's reset method also resulted in a permuted env.scenario._missions dictionary. Indeed, it remained the same after calling reset. That being said, I'm unclear on whether just printing the variable itself would be reflective of whether missions were reassigned. I think the only way to check it for sure would be to check visually in Envision, but I am also having an issue visualizing custom missions on a custom map (which I was planning to make a separate report about), so I can't check that for now. It also doesn't look at first glance like there's any logic in Scenario.scenario_variations that would do this.
As for what would be the best option out of the possible directions for this that you gave, wouldn't 3 require the person designing the scenario to essentially hard code the number of agents that will be in it? This seems undesirable if it is in fact the case. I think 2 may be the best option, and the agent to mission mapping could optionally be passed to the reset method. This would be compliant with the usual gym Env interface because the reset method accepts **kwargs anyway. In this case, the user could either pass the desired mapping, or a random subset of missions could be assigned.

To correct myself, I was still thinking in regards to the gym.Env.reset(). The 2nd option could work in terms of gymnasium environments.

gym<=0.19.0 interface is reset(self)

This for gym environments (such as hiway-v0) does not allow us to provide the scenario.
We currently cannot upgrade gym

gym>=0.21.0|gymnasium interface is reset(self, *, seed, options: Dict[str, Any])

This interface for the newer gym interface (such as hiway-v1) allows us to provide the reset configuration through options and forward that to SMARTS.reset().

We install gymnasium alongside gym and these are roughly similar in behaviour but with different interface versions:

gym.make("smarts.env:hiway-v0) or HiWayEnv(...)
gymnasium.make("smarts.env:hiway-v1", observation_options="unformatted") or HiWayEnvV1(..., observation_options="unformatted")

Since our intention is to move over to using gymnasium environments, it seems viable to provide an override through options.

options['scenario'] could allow an explicit override of the scenario in hiway-v1.

I think this is possible in the short term to simplify scenario augmentation.

I see. Thanks for the discussion. By override, do you mean that upon calling reset, a new scenario would be generated, with the desired mission mapping, and the scenario that is next in the environment's HiWayEnv._scenarios_iterator would just be ignored?

Here's a thought: For reference, I'm looking at line 275 in smarts.core.scenario.py. One way of implementing the above idea would be for the generator to return a function which constructs a new Scenario object with the passed in arguments as defaults to the function. Then in the reset method, all that would need to change is that we'd use a function call when getting the next scenario. Something like
def variations_for_all_scenario_roots(
        scenario_roots, agents_to_be_briefed, shuffle_scenarios=True
    ) -> Generator["Scenario", None, None]:
    # function body

    def make_scenario(missions=concrete_agent_missions):
        return Scenario(
                    scenario_root,
                    traffic_specs=concrete_traffic,
                    missions={
                        **(missions or {}),
                        **concrete_social_agent_missions,
                    },
                    social_agents=concrete_social_agents,
                    surface_patches=surface_patches,
                    traffic_history=concrete_traffic_history,
                )

    return make_scenario

I see. Thanks for the discussion. By override, do you mean that upon calling reset, a new scenario would be generated, with the desired mission mapping, and the scenario that is next in the environment's HiWayEnv._scenarios_iterator would just be ignored?

With the current intended change the scenario could be passed on reset in through the options forwarding it to SMARTS.reset. HiWayEnv._scenarios_iterator is ignored in that case. This is useful even if it does not fully solve your request by itself. Working with the entire Scenario results in few issues.

Here's a thought: For reference, I'm looking at line 275 in smarts.core.scenario.py. One way of implementing the above idea would be for the generator to return a function which constructs a new Scenario object with the passed in arguments as defaults to the function. Then in the reset method, all that would need to change is that we'd use a function call when getting the next scenario. Something like
def variations_for_all_scenario_roots(
        scenario_roots, agents_to_be_briefed, shuffle_scenarios=True
    ) -> Generator["Scenario", None, None]:

    # function body

    def make_scenario(missions=concrete_agent_missions):
        return Scenario(
                    scenario_root,
                    traffic_specs=concrete_traffic,
                    missions={
                        **(missions or {}),
                        **concrete_social_agent_missions,
                    },
                    social_agents=concrete_social_agents,
                    surface_patches=surface_patches,
                    traffic_history=concrete_traffic_history,
                )

    return make_scenario

This is mostly reasonable.
The main issue that I see with this approach is that reset is contained. In the case that there are multiple scenarios (e.g. HiWayEnv(scenarios=[loop, 4lane_t])), those scenarios may have completely different mission configurations and the scenario only becomes known after reset (but the missions have to be determined before to be passed into reset.)
It might just be possible if there was something like HiWayEnv.peek_scenario to check information about the next scenario prior to reset. Then it would be possible to provide informed scenario configuration through options.

Yeah, the proposed change definitely makes sense. I suppose one could just create a wrapper around the HiWayEnvV1 that shuffles the missions this way.

I have added an issue to rectify issues with the internal permutations generated by the SMARTS scenario.


passing domain object to EvalWidget

The example shows how to pass a string into an EvalWidget like so ...
args: [$String('Example name')]

Can you provide an example for passing an instance of domain class into EvalWidget, both the on the dart side (args: ..) and in the eval'd code string.  It seems there also needs to be way to make the eval'd code aware of the class def, normally an import.

Closing as duplicate of https://github.com/ethanblake4/dart_eval/issues/79


My Name Is Mayo [PCSE00982]

Game summary

Game name: My Name Is Mayo
Game serial: PCSE00982

Vita3K summary

Version: v0.1
Build number: 523
Commit hash: https://github.com/vita3k/vita3k/commit/32e9a31

Test environment summary

Tested by: IllusionMan1212
OS: Windows 10 Pro
CPU: AMD Ryzen 5 1600
GPU: NVIDIA GTX 1050Ti
RAM: 8 GB

Issues
Choppy sound due to poor performance
Screenshots

Log
vita3k.log

Vita3K summary

Version: v0.1
Build number: 1259
Commit hash: https://github.com/vita3k/vita3k/commit/33a8a1b8

Issues
Works Fine, has some frame drops sometimes

Vita3K v0.1.5 2724-4cc25397
still playable
vita3k.log


drivers/dma/loop_transfer: Move from tests to samples and small regex fix

Move drivers/dma/loop_transfer from tests to samples as it is actually implemented as a sample.
Additionally small fix in regex harness is done.
Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/31226

This does not pass the threshold of a sample IMO.

I'm curious, what is the threshold of a sample ?

This does not pass the threshold of a sample IMO.

I'm curious, what is the threshold of a sample ?

@nashif Can you elaborate on "This does not pass the threshold of a sample IMO."?
Looking at tests/drivers/dma, chan_blen_transfer is testing the exact same thing.
If we convert this one to test we'd end up having 2 redundant tests.

@nashif Can you elaborate on "This does not pass the threshold of a sample IMO."?
Looking at tests/drivers/dma, chan_blen_transfer is testing the exact same thing.
If we convert this one to test we'd end up having 2 redundant tests.

@nashif Can you elaborate on "This does not pass the threshold of a sample IMO."?
Looking at tests/drivers/dma, chan_blen_transfer is testing the exact same thing.
If we convert this one to test we'd end up having 2 redundant tests.

then we probably should remove it or merge them into one test.

@nashif Can you elaborate on "This does not pass the threshold of a sample IMO."?
Looking at tests/drivers/dma, chan_blen_transfer is testing the exact same thing.
If we convert this one to test we'd end up having 2 redundant tests.

then we probably should remove it or merge them into one test.

@nashif Can you elaborate on "This does not pass the threshold of a sample IMO."?
Looking at tests/drivers/dma, chan_blen_transfer is testing the exact same thing.
If we convert this one to test we'd end up having 2 redundant tests.

then we probably should remove it or merge them into one test.

the two cases test different functionalities:

the loop_transfer is a basic check with simple settings on fixed channel.
the chan_blen_transfer is a channal test with different settings.
the problem of this two cases are they do no tuse ztest to wrapper, and the m2m is not a good demo, because no one will use dma to memory to memory copy, it is just a function test on dma engine. So I support @nashif that we apply ztest to wrapper thoes wto cases.  As to whether to merge the two cases in one, I think it is not necessary. IMHO, a simple case may easier for us to maintain and understand.

2. As to whether to merge the two cases in one, I think it is not necessary. I

Thanks for the lightning on the sample.
Regarding the test, I don't think we should maintain a more simple version of the test. We maintain the test to verify things are working as expected. If checks in the simple reversion are redundant, I don't see a value to maintain it, it could be removed.

As to whether to merge the two cases in one, I think it is not necessary. I

Thanks for the lightning on the sample.
Regarding the test, I don't think we should maintain a more simple version of the test. We maintain the test to verify things are working as expected. If checks in the simple reversion are redundant, I don't see a value to maintain it, it could be removed.

However, it is not a usual practice to remove a working case, duplicating check does not hurt.

there is one test point which is not coverred in chan_blen test, which is to write to different dst address for several times,

@hakehuang I had missed this, txs. I'll move the sample to a test and submit again.

Closing and pushing a new PR.


What does @implements dev ... really do?

The docstring says it displays verbose tests, but one can run the tests before having declared that our type @implements the interface. In fact it may be wiser to do so.
Besides, I don't see where the show kwarg is used in the code

The docs are from the first implementation and probably contain things that dont make sense anymore.
Originally tests were run in precompilation automatically.

Deleteed


[OSD-10225] handle the service log sending for resolved alerts

What type of PR is this?
feature
What this PR does / why we need it?
The alertmanager webhook receiver should be able to handle both the alerting and resolved alerts
And update the status correspondingly
Which Jira/Github issue(s) this PR fixes?
Fixes #OSD-10225
Special notes for your reviewer:
Pre-checks (if applicable):

[ ] Tested latest changes against a cluster
[ ] Ran make generate command locally to validate code changes
[ ] Included documentation changes with PR

Seems fine to me.  I will put a hold on to let others review.
Feel free to unhold when you're happy.
/lgtm
/hold

Codecov Report

Merging #24 (f6959bd) into master (3d8960b) will decrease coverage by 0.27%.
The diff coverage is 3.33%.

@@            Coverage Diff             @@
##           master      #24      +/-   ##
==========================================
- Coverage   15.04%   14.77%   -0.28%
==========================================
  Files          12       12
  Lines         492      501       +9
==========================================
  Hits           74       74
- Misses        414      423       +9
  Partials        4        4

Impacted Files
Coverage Δ

pkg/handlers/webhookreceiver.go
19.87% <3.33%> (-1.22%)
:arrow_down:

/lgtm

/unhold


How do I cast BigUint to u128?

I use BigUint for some calculations and the output always satisfies the u128 range. I need to store the result as u128.
So far I've tried this solution:
let num = BigUint::from(1000u128).to_string().parse::<u128>().unwrap();

but it feels not optimal.
Are there other ways?

hello! BigUints satisfy the ToPrimitive trait from the num_traits crate. Using the to_u128() method should be enough for what you want. Here's an example
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=47b1118ed9db1f235d92e3e7a671a42e

It works, thanks!
I will add that this approach requires adding an additional crate: https://docs.rs/num-traits/latest/num_traits/

You can also use the standard TryFrom or TryInto, which are in the language prelude in the Rust 2021 edition.


Date and confirmations incorrect on pending transactions

The Issue
 "confirmations": 450670,
    "date": "2015-10-28 14:51",
    "fee": "0.012107",
    "support_info": [],
    "timestamp":<PHONE_NUMBER>,
    "txid": "43c6ce6012d44031d6bb9cf216764d96b02e40687bce927d3204f66a772c1f20",
    "update_info": [],
    "value": "-0.012107"

System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

I believe this was fixed in above mentioned PR but the issue didn't automatically get closed. Closing.


dependency updates

#122  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Enalmada and the rest of your teammates on  Graphite


Sondes measure BGA-PC in RFU or ug/L not density

https://github.com/OR-Dept-Environmental-Quality/odeqcdr/blob/7c6c160c08c3ef8205e5a287b74287a487b002cc/R/valid_values.R#L17
This density thing should be deleted and replaced with the AWQMS continuous characteristic "Phycocyanin (probe relative fluorescence)"

Hi Steve,
Can you send me a list of all the AWQMS approved characteristic names that would be relevant for continous data? I can add it into the list. The current list is mostly what was in the original template.


When will the events struct be supported?

idl.json events tag not generate go struct

any update on this?

I would pay for events to be added


[Proposal] Package licenses: make it mandatory & disallow open-source-unfriendly licenses?

This is just an idea, but it may be a good thing to check whether package has a valid license.
Additionally we may also disallow some restrictive licences that don't really fit well in open-source, especially those that require disclosing source AGPL and GPL, maybe also LGPL. Alternatively (at least) show a banner/badge indicating that the package is using such bad license.

Thanks for an idea. I think we don't need this. Licence badge is in the sidebar and it's up to you if you use it or don't use it or browse a code or whatever.
Is there any other reason then information for you?

Yes, using unlicenced code or code with bad license could be (is) a legal issue.

It could be but it's not a problem of componette. Or is it?


Unable to host this on Heroku

I have a huge challenge to host this Gulp.js Bootstrap website on Heroku. Can i know if anyone has set it up on Heroku. Can i know if anyone could help me with the process steps ?

Unfortunately we didn't test it on Heroku and also nobody else seems to react on it in this amount of time so we will close this for know, hope that you solved it after all.

Thanks Andrei. I have not solved it, working on it. Thank you.
Thanks & regards,
Pradeep Vamana
On Tue, Aug 22, 2017 at 9:09 AM, AndreiCN<EMAIL_ADDRESS>wrote:

Unfortunately we didn't test it on Heroku and also nobody else seems to
react on it in this amount of time so we will close this for know, hope
that you solved it after all.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/puikinsh/gentelella/issues/548#issuecomment-324020619,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AangPcBLq6pjZ0ZvOWsDhgZsgHnZRRRmks5satLxgaJpZM4OumFM
.


CLOUDSTACK-8762: Check to confirm disk activity before starting a VM

Implements a VM volume/disk file activity checker that checks if QCOW2 file
has been changed before starting the VM. This is useful as a pessimistic
approach to save VMs that were running on faulty hosts that CloudStack could
try to launch on other hosts while the host was not cleanly fenced. This is
optional and available only if you enable the settings in agent.properties
file, on per-host basis.
Signed-off-by: Rohit Yadav<EMAIL_ADDRESS>

I'll be happy to help with reviewing this PR, but I need help testing. Can you point me to a Marvin test that tests this functionality?

@miguelaferreira there is no marvin test written for this, this is a specific case of hosts fencing where two vms might be trying to write to the same disk, since it's a corner case not sure which existing marvin test could be used; unit tests are included.

I'm reading through the code to see if I understand the change.
The next thing is to find a way to test it. Might be difficult, but since it is a corner case (and regressions love corners), it is definitely worth it.

It seems to me that the "VM volume/disk file activity checker" is a good candidate to become a new class that can be tested independent, and reused elsewhere. What do you think @bhaisaab?
This would also make it easier to test in a Java integration (or unit) test. By fiddling with the file system attributes.

@miguelaferreira okay, I'll see what I can do. I'm also exploring other ways to detech if the vm disk file has changed, using an exhaustive checksum comparison for example as file attributes cannot be trusted for nfs partitions that were mounted with noatime. I would also like to discuss perhaps here, if anyone has better ideas or suggestions.

@bhaisaab that's great. So if you think that in the future this implementation might change it would even be better to create an interface to use in the LibvirtComputingResource(and others). And as first implementation it would get the code you write here to check the file attributes.
When a better implementation comes along, it is easier to switch.

Seems, good, but, all the logging is debug. Isn't there something which we have to print on info or error here?
We want to make sure that we also print useful stuff on info or error, not all systems should run on debug in production.

@wido no need for info that, will fix to use error in case of errors

@wido just checked again, most debug messages are in loop and changing them to info or errors would be unnecessary. In case of error, run time exceptions are thrown that would be captured in the logs and won't allow VMs to start.
@miguelaferreira I discussed the issue of changing logic there, it seems that the mtime should be reliable enough and I won't be adding md5 or other checksum checking logic as that will be too slow and costing on CPU and IO. Do you still want me to refactor the logic as a separate class or move to say FileUtil in the cloud-utils package?

@bhaisaab It would be great if you could refactor the logic out, since it can be an object on its own, and that class is already huge as it is (> 5k LOC!). Thanks

@miguelaferreira have moved the code to a new util class (so can be reusable perhaps by other hypervisors) ^^

LGTM

I'm not able to build this branch with maven.
 mvn clean install -P developer,systemvm

...
[INFO] ------------------------------------------------------------------------
[INFO] Building Apache CloudStack Core 4.5.2
[INFO] ------------------------------------------------------------------------
...
Tests run: 20, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 0.424 sec <<< FAILURE!
Running com.cloud.agent.transport.RequestTest
...
Results :

Failed tests:   testFirewallRulesCommand(com.cloud.agent.resource.virtualnetwork.VirtualRoutingResourceTest): expected:<...1.2/24:,<IP_ADDRESS>:[reverted:0:0:0:,<IP_ADDRESS>:TCP:22:80:<IP_ADDRESS>/24-<IP_ADDRESS>/24]:,> but was:<...1.2/24:,<IP_ADDRESS>:[TCP:22:80:<IP_ADDRESS>/24-<IP_ADDRESS>/24:,<IP_ADDRESS>:reverted:0:0:0]:,>
  testAggregationCommands(com.cloud.agent.resource.virtualnetwork.VirtualRoutingResourceTest): expected:<...1.2/24:,<IP_ADDRESS>:[reverted:0:0:0:,<IP_ADDRESS>:TCP:22:80:<IP_ADDRESS>/24-<IP_ADDRESS>/24]:,(..)

Tests run: 139, Failures: 2, Errors: 0, Skipped: 0
....

It does not seem related to this PR, but this week I've build master many times and it was always passing all tests. Any idea on what has been merged recently that could cause this?

@wido can you build it?

@miguelaferreira I didn't build it since all checks were green :)

@wido can you please try?

@bhaisaab I've checked out this PR, which is your shapeblue:4.5-CLOUDSTACK-8762 applied to apache:4.5. Yes, I do have Java8 installed, but the mvn config make points to Java7, right?

@miguelaferreira I'm not sure, but this seems environment specific; travis is green and build also work in my environment; are you still able to reproduce.
@wido @wilderrodrigues @remibergsma @abhinandanprateek @kishankavala  review please?

Yes, I'm still getting the same error.
It could very well be an environment issue.
ping @wilderrodrigues @remibergsma can you guys give it a try?

@bhaisaab I've created a totally new test environment, checked out your PR and started building it. I'm already past the point where it was failing before, so it was indeed an environment issue.
I'll let you know if I can build it fully and all unit-tests are passing.

When I build the entire project mvn always gets stuck running unit tests of some project (not always the same).
I don't want to keep digging any further as this is not master.
I've build and unit-tested the three modules this PR touches:
mvn clean install -pl :cloud-agent
...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 12.377s
[INFO] Finished at: Tue Sep 01 08:55:15 GMT 2015
[INFO] Final Memory: 40M/239M
[INFO] ------------------------------------------------------------------------

mvn clean install -pl :cloud-plugin-hypervisor-kvm
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.559s
[INFO] Finished at: Tue Sep 01 08:56:00 GMT 2015
[INFO] Final Memory: 40M/244M
[INFO] ------------------------------------------------------------------------

 mvn clean install -pl :cloud-utils
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 32.421s
[INFO] Finished at: Tue Sep 01 08:57:19 GMT 2015
[INFO] Final Memory: 39M/219M
[INFO] ------------------------------------------------------------------------

@miguelaferreira @wilderrodrigues @wido @jburwell @abhinandanprateek @kishankavala hi, can you help review this, thanks

@bhaisaab There are 2 reviews already. @wido and @miguelaferreira gave :+1: I think you can merge this and #753

Thanks @karuturi merging now


Help for Titansolar with P16S100A-21037-3.00T

Hi there,
I got a small 2.5 kWh battery which id' like to read the soc from.
So I tried your setup, but sadly I don't get a response from the thing.

Thanks for any tips.

Hi, thanks for the input,

I used the following pinout plan for reference:

Here D1/D2  correspond to GPIO5/4
for the rs485 to ttl module:

Here is DI and RO correspond to TX/RX (see https://microcontrollerslab.com/rs485-serial-communication-esp32-esp8266-tutorial/)

You have identified the GPIOs of your dev board correctly. D1 = GPIO5, D2 = GPIO4. @ThHanika was on the wrong track.
But there is something else you have to care about! The mentioned RS485 converter board requires active flow control. How did you connect the RE/DE pins to your ESP and did you use the flow_control setting at your YAML correctly?

Well.. I have no clue about a flow control :(
Nothing about that in my yaml... a quick search https://esphome.io/search.html?q=flow+control does not reveal anything..
please help :)

This schematics shows the different RS485 converter modules. The first one with automatic flow control and the second one (yours!) with manual flow control. In other words: The ESP must press the push-to-talk button on TX (transmission).
https://github.com/syssi/esphome-solax-x1-mini#schematics
Please connect the DE+RE pins and attach the pin to a free GPIO of your ESP. To convince ESPHome to care about flow control you have to extend your YAML configuration:
modbus:
  - id: modbus0
    uart_id: uart_0
    send_wait_time: 200ms
    flow_control_pin: GPIO0

Hi, I finally had time to craft a Y-cable, and it works... kind of..
I can read the temperatures, but nothing else?

Logs:
´´´[18:15:26][D][uart_debug:114]: >>> 01:03:00:00:00:08:44:0C
[18:15:26][W][modbus:108]: Modbus CRC Check failed! 90AA!=8C14
[18:15:26][D][uart_debug:114]: <<< FF:01:03:10:FA:8D:14:8C:00:48:00:64:0E:A6:14:4D:13:88:00:2C:99:4A:00
[18:15:26][D][uart_debug:114]: >>> 01:03:00:00:00:08:44:0C
[18:15:26][W][modbus:108]: Modbus CRC Check failed! 90AA!=8C14
[18:15:27][D][uart_debug:114]: <<< FF:01:03:10:FA:8D:14:8C:00:48:00:64:0E:A6:14:4D:13:88:00:2C:99:4A:00
[18:15:27][D][uart_debug:114]: >>> 01:03:00:00:00:08:44:0C
[18:15:27][W][modbus:108]: Modbus CRC Check failed! D32A!=8C14
[18:15:27][D][uart_debug:114]: <<< FF:01:03:10:FA:77:14:8C:00:48:00:64:0E:A6:14:4D:13:88:00:2C:E3:09:00
[18:15:27][D][uart_debug:114]: >>> 01:03:00:00:00:08:44:0C
[18:15:27][W][modbus:108]: Modbus CRC Check failed! D32A!=8C14
[18:15:27][D][uart_debug:114]: <<< FF:01:03:10:FA:77:14:8C:00:48:00:64:0E:A6:14:4D:13:88:00:2C:E3:09:00
[18:15:27][D][uart_debug:114]: >>> 01:03:00:00:00:08:44:0C
[18:15:27][W][modbus:108]: Modbus CRC Check failed! 52EB!=8C14
[18:15:27][D][uart_debug:114]: <<< FF:01:03:10:FA:8A:14:8C:00:48:00:64:0E:A6:14:4D:13:88:00:2C:DE:48:00
[18:15:27][D][modbus_controller:040]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[18:15:27][D][uart_debug:114]: >>> 01:03:00:0B:00:01:F5:C8
[18:15:27][W][modbus_controller:064]: Modbus device=1 back online
[18:15:27][D][uart_debug:114]: <<< 01:03:02:0E:00:BC:24:00
[18:15:28][D][uart_debug:114]: >>> 01:03:00:23:00:02:35:C1
[18:15:28][W][modbus:108]: Modbus CRC Check failed! D669!=E000
[18:15:28][D][uart_debug:114]: <<< FF:01:03:04:00:F4:00:E0:BA:49:00
[18:15:28][D][uart_debug:114]: >>> 01:03:00:23:00:02:35:C1
[18:15:28][W][modbus:108]: Modbus CRC Check failed! D97D!=E000
[18:15:28][D][uart_debug:114]: <<< 00:01:03:04:00:F4:00:E0:BA:49:00
[18:15:28][D][uart_debug:114]: >>> 01:03:00:23:00:02:35:C1
[18:15:28][D][modbus_controller.sensor:025]: Sensor new state: 244.00
[18:15:28][D][sensor:093]: 'TitanSolar mosfet temperature': Sending state 24.40000 ˚C with 1 decimals of accuracy
[18:15:28][D][modbus_controller.sensor:025]: Sensor new state: 224.00
[18:15:28][D][sensor:093]: 'TitanSolar environment temperature': Sending state 22.40000 ˚C with 1 decimals of accuracy´´´

It seems this problem's cause lies deeper within arduino, cf https://github.com/esphome/issues/issues/3912
Thanks for helping with the original problem, I'll close this here.

@yutani42 can you please post your yaml with titansolar register? And what Y cable you are talking about?

Hi @Adminius ,
the registers are all from esp8266-example.yaml (I commented some of them out), nothing new here.
For the Y-cable, I am not sure if this is term only exists in germany (where I am from), I meant a forked cable, just as @syssi described in https://github.com/syssi/esphome-solax-x1-mini#schematics (the second one)
@syssi fyi: I resolved my crc issues by removing the common ground. I am not sure whats going on there, but both the battery and the esp are isolated, so a common ground (for cable shielding) seems futile (or even harmful..)
There is just one slight issue left: the modbus communication fails when the battery is charging.. (but only then)


"Collection: add into sorted position" + index is passed in 'add' event

When a Collection has a +comparator+ defined, then when adding an object the +add+ event handler needs to know at which position the object was inserted into. This patch passes the +index+ to the +add+ event handler.

The model's index is readily accessible in an add event handler via indexOf:
bind('add', function( model, prop ){
    console.log( model.collection.indexOf(model) )
});

+1 for the patch
The index is commonly needed so that you can insert the new info in the correct place
$("list li").get(index).after(view.el)

In a large sorted collection model.collection.indexOf(model) could be expensive. Backbone is already calculating this index and then throwing it away.
This is good for the same reason that Array.forEach passes the item and its index to the handler.

this is probably a good candidate to consider along side a fix for #689

Backbone is no longer calculating the index on a per-model basis. For the time being, if you need it, you can look it up.


Wiki still refers to IReason and IExceptionReason after type rename

For example here: https://github.com/bfren/maybe/wiki/Some-and-None
Types were renamed here: https://github.com/bfren/maybe/commit/1c2adf4eab4c5a204c9ae8ba6e1c7c1ac6faa141

You're absolutely right, thanks for pointing it out - and reminding me I need to do some more work on the wiki!

All done!


Update to support Laravel 5

The current structure is intended for Laravel 4.
This patch would solve part of the changes.
https://github.com/morrislaptop/laravel/commit/e310bc164a4955f4eb8213b51758d7bbad237b98
It's possible that there should be a separate branch for v4 vs v5?

Sorry for the late response. I'll be helping maintain this plugin for the foreseeable future. If any of these issues are still persisting (all of the tickets are quite old), please let me know and I will do what I can to try and help fix things.
This should be fixed with the latest version that I merged in. Please let me know.

If you're still having issues, please open a new issue.


Es indexing bugfix

This PR introduces;

Set index namesmediacloud_search_text_older for pre 2020 dates and mediacloud_search_text_other for NULL dates
Remove ELASTICSEARCH_INDEX_NAME, not required param at initialization

Whoa?  I closed this???? seeing if I can undo that!!


Fixed JSON payload for transferring existing calls

Not sure if this got mangled in a merge at some point, but the JSON for transferring a call was off. This corrects that, but also fixes where transferring via a URL matched the docs, but the docs were wrong (and are being corrected).
Testing

Create a new folder and enter it
Run
composer require nexmo/client-core:dev-bug/fix-voice-transfers@dev php-http/guzzle6-adapter
Copy the below script to transfer.php
Call yourself with :
KEY_PATH=<path_to_app_key> APP_ID=<app_id> TO_NUMBER=<number_to_call> FROM_NUMBER=<vonage_number> php transfer.php --call
Take the Call UUID from the above command and run the following to transfer with a URL:
KEY_PATH=<path_to_app_key> APP_ID=<app_id> UUID=<call_uuid> php transfer.php --transfer-url
Call yourself again, take the Call UUID and run the following to transfer with an inline NCCO:
KEY_PATH=<path_to_app_key> APP_ID=<app_id> UUID=<call_uuid> php transfer.php --transfer-ncco

<?php

use Laminas\Diactoros\Response\Serializer;
use Nexmo\Client\Credentials\Keypair;
use Nexmo\Voice\Endpoint\Phone;
use Nexmo\Voice\NCCO\Action\Conversation;
use Nexmo\Voice\NCCO\Action\Talk;
use Nexmo\Voice\NCCO\NCCO;
use Nexmo\Voice\OutboundCall;

require_once __DIR__ . '/../vendor/autoload.php';

$client = new Nexmo\Client(
    new Keypair(
        file_get_contents(getenv('KEY_PATH')),
        getenv('APP_ID')
    )
);

if ('--call' === $argv[1]) {
    $call = (new OutboundCall(new Phone(getenv('TO_NUMBER')), new Phone(getenv('FROM_NUMBER'))))
        ->setNCCO((new NCCO())->addAction(new Conversation('test-convo')))
    ;
    $callInfo = $client->voice()->createOutboundCall($call);
    echo $callInfo->getUuid() . PHP_EOL;
}

if ('--transfer-url' === $argv[1]) {
    try {
        $response = $client->voice()->transferCallWithUrl(getenv('UUID'), 'https://developer.nexmo.com/ncco/transfer.json');
    } catch (\Exception $e) {
        echo Serializer::toString($client->voice()->getAPIResource()->getLastResponse());
    }
}

if ('--transfer-ncco' === $argv[1]) {
    try {
        $ncco = (new NCCO())->addAction(new Talk('Transferred with NCCO'));
        $client->voice()->transferCallWithNCCO(getenv('UUID'), $ncco);
    } catch (\Exception $e) {
        echo Serializer::toString($client->voice()->getAPIResource()->getLastResponse());
    }
}

Codecov Report

Merging #237 into master will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #237      +/-   ##
============================================
- Coverage     80.54%   80.54%   -0.01%
  Complexity     2334     2334
============================================
  Files           165      165
  Lines          5962     5961       -1
============================================
- Hits           4802     4801       -1
  Misses         1160     1160

Impacted Files
Coverage Δ
Complexity Δ

src/Voice/Client.php
100.00% <100.00%> (ø)
24.00 <0.00> (ø)

Continue to review full report at Codecov.

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

Nope, all looks good. This PR didn't mess with namespace at all so looks clean.


why is my generated result image is also gray?

I am running with the test code and got all result also grays. It is like that:

My pytorch vision is 1.5.

Do you follow the setting in the colab notebook?
You can run sh scripts/test_mask.sh to get colorized results.

Yes, I do. infer box first and then run fusion. But I did this on my windows and cpu model. Do it matter.
And I as you can see that color seems on a small area. How to debug that?

Yes, I do. infer box first and then run fusion. But I did this on my windows and cpu model. Do it matter.
And I as you can see that color seems on a small area. How to debug that?

Please have a look at PR #12. The pretrained weights may not be loaded.

On Linux, CPU is also too, it is very strange, but GPU works well.

https://github.com/ericsujw/InstColorization/blob/master/models/fusion_model.py#L108
        GF_state_dict_temp ={}
        for k,v in GF_state_dict.items():
            if k.startswith('module'):
                GF_state_dict_temp[k[7:]] = v
            else:
                GF_state_dict_temp[k] = v
        GF_state_dict = GF_state_dict_temp

        G_state_dict_temp ={}
        for k,v in G_state_dict.items():
            if k.startswith('module'):
                G_state_dict_temp[k[7:]] = v
            else:
                G_state_dict_temp[k] = v
        G_state_dict = G_state_dict_temp

        GComp_state_dict_temp ={}
        for k,v in GComp_state_dict.items():
            if k.startswith('module'):
                GComp_state_dict_temp[k[7:]] = v
            else:
                GComp_state_dict_temp[k] = v
        GComp_state_dict = GComp_state_dict_temp

        self.netGF.load_state_dict(GF_state_dict, strict=True)
        self.netG.load_state_dict(G_state_dict, strict=True)
        self.netGComp.load_state_dict(GComp_state_dict, strict=True)


bmx055, bmi055, bmc160, bma250e, bmg150, bmm150: Initial implementation

This module (bmx055) implements support for the following core Bosch
chipsets:
bma250e - accelerometer, 3 variants (chip id's 0x03, 0xf9, and 0xfa)
bmm150 - magnetometer
bmg160 - gyroscope
The other 3 devices are combinations of the above:
bmx055 - accel/gyro/mag
bmc160 - accel/mag
bmi055 - accel/gyro
...for 6 devices total.
For the combination devices, all of the sub-devices appear as
individual independent devices on the I2C/SPI bus.
The combination drivers provide basic configuration and data output.
For more detailed control as well as interrupt support, you should use
the core device drivers (accel/gyro/mag) directly.
These devices support both I2C and SPI communications.  They must be
powered at 3.3vdc.
Signed-off-by: Jon Trulson<EMAIL_ADDRESS>

merged.


[Dismissible] widget resets state when providing confirmDismiss callback and Future isn't completed at this time

Steps to Reproduce

Provide confirmDismiss callback for Dismissible widget
Provide background or secondaryBackground (it doesn't matter) with confirm & cancel buttons which completes Future with true & false values
Swipe to dismiss widget & don't press  any buttons and then swipe to the opposite direction
Result: Dismissible widget resets his state.

I think it should prevent any drag gestures if confirmDismiss callback was provided and Future is in a pending state.
link to code:
https://gist.github.com/KonstantinKai/5bb6e89bb1efd720cec43ea5e13f16a5
link to video:
https://drive.google.com/open?id=1p5pWqily5nS1CB9hyErWYUbblXu-hPmx
flutter doctor
[✓] Flutter (Channel stable, v1.9.1+hotfix.2, on Mac OS X 10.14.5 18F203, locale en-UA)
    • Flutter version 1.9.1+hotfix.2 at /Users/kai/Dev/flutter
    • Framework revision 2d2a1ffec9 (5 days ago), 2019-09-06 18:39:49 -0700
    • Engine revision b863200c37
    • Dart version 2.5.0

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/kai/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = /Users/kai/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2.1, Build version 10E1001
    • CocoaPods version 1.6.1

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 37.1.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] IntelliJ IDEA Community Edition (version 2019.2.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 39.0.5
    • Dart plugin version 192.6817.4

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

[✓] Connected device (1 available)
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)

• No issues found!

code sample
import 'dart:async';

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Dismissible bug',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Dismissible bug'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  Completer<bool> _completer;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ListView.builder(
        itemCount: 10,
        itemBuilder: (context, index) {
          print('satte');
          return Dismissible(
            key: Key(index.toString()),
            direction: DismissDirection.horizontal,
            confirmDismiss: _confirmDismiss,
            child: ListTile(
              dense: true,
              title: Text('Main item content $index'),
            ),
            background: Container(
              child: Align(
                alignment: Alignment.centerLeft,
                child: Text('Background item $index'),
              ),
              color: Colors.green,
            ),
            secondaryBackground: Container(
              color: Colors.orange,
              child: Row(
                mainAxisAlignment: MainAxisAlignment.end,
                children: <Widget>[
                  FlatButton(
                    child: Text('confirm'),
                    onPressed: () => _completer?.complete(true),
                  ),
                  FlatButton(
                    child: Text('cancel'),
                    onPressed: () => _completer?.complete(false),
                  )
                ],
              ),
            ),
          );
        },
      ),
    );
  }

  Future<bool> _confirmDismiss(DismissDirection direction) async {
    if (direction == DismissDirection.startToEnd) return true;

    _completer = Completer();

    return _completer.future;
  }
}

flutter doctor -v
[✓] Flutter (Channel master, 1.21.0-10.0.pre.159, on Mac OS X 10.15.6 19G2021,
    locale en-GB)
    • Flutter version 1.21.0-10.0.pre.159 at
      /Users/tahatesser/Code/flutter_master
    • Framework revision 86d2fe9f20 (8 hours ago), 2020-08-18 21:48:04 -0700
    • Engine revision 0b330467da
    • Dart version 2.10.0 (build 2.10.0-38.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-30, build-tools 30.0.1
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • 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-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.6)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.6, Build version 11E708
    • CocoaPods version 1.9.3

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 48.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

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

[✓] Connected device (4 available)
    • Taha’s iPhone (mobile) • 00008020-001059882212002E • ios            • iOS
      13.6
    • macOS (desktop)        • macos                     • darwin-x64     • Mac
      OS X 10.15.6 19G2021
    • Web Server (web)       • web-server                • web-javascript •
      Flutter Tools
    • Chrome (web)           • chrome                    • web-javascript •
      Google Chrome 84.0.4147.125

• No issues found!

Hi @KonstantinKai
Your demo video is unavailable so I'm not sure I can see the issue. But after running the sample code with the latest master channel 3.6.0, it seems to work fine.

Demo
https://user-images.githubusercontent.com/104349824/202169665-6a462426-e703-4a01-9b7d-26f361844fa4.mov

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.3.8, on macOS 13.0 22A380 darwin-x64, locale en-VN)
    • Flutter version 3.3.8 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 52b3dc25f6 (23 hours ago), 2022-11-09 12:09:26 +0800
    • Engine revision 857bd6b74c
    • Dart version 2.18.4
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.3)
    • 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 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2022.2.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 70.0.5
    • Dart plugin version 222.4167.21

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (3 available)
    • iPhone 14 Pro Max (mobile) • 332079AF-E895-4685-910E-7B1E18B0C6B8 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-0 (simulator)
    • macOS (desktop)            • macos                                • darwin-x64     • macOS 13.0 22A380 darwin-x64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[!] Flutter (Channel master, 3.6.0-3.0.pre.48, on macOS 13.0 22A380 darwin-x64, locale en-VN)
    • Flutter version 3.6.0-3.0.pre.48 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 93c4b09e62 (15 minutes ago), 2022-11-15 18:07:50 -0800
    • Engine revision baad8f2c55
    • Dart version 2.19.0 (build 2.19.0-403.0.dev)
    • DevTools version 2.19.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

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

[✓] Android Studio (version 2021.3)
    • 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 11.0.13+0-b1751.21-8125866)

[✓] IntelliJ IDEA Community Edition (version 2022.2.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 70.0.5
    • Dart plugin version 222.4167.21

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • 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

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

[✓] Connected device (3 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D • android-arm64  • Android 11 (API 30)
    • macOS (desktop)  • macos            • darwin-x64     • macOS 13.0 22A380 darwin-x64
    • Chrome (web)     • chrome           • web-javascript • Google Chrome 107.0.5304.110

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

Can you take a look on this issue and confirm?


Forgotten Races item error

Name the mod
MALKEUS EDITION_Forgotten_Races
Describe the bug
DEBUG    : Error: data/mods//MALKEUS EDITION_Forgotten_Races/all_items_small.json: line 17:20: value outside supported range
    "phase" : "solid",
    "encumbrance" : 15,
    "bashing" :
               ^
                -5,
    "flags" : [],
    "coverage" : 35,

FUNCTION : bool main_menu::load_character_tab(bool)
FILE     : src/main_menu.cpp
LINE     : 1103
Solution
idk, change the -5 to 0?
Additional context
Add any other context about the problem here.

ill look into it wont be to hard to fix thank you jacker474

fixed and will be in  0.05b


meatadata - rancher-dns : level=fatal msg="Failed to subscribeGet v2-beta: unsupported protocol scheme """

Rancher versions:
rancher/server: stable
rancher/agent: v1.2.5
Infrastructure Stack versions:
healthcheck:
ipsec:
network-manager: 0.7.4
metadata: 0.9.2
scheduler:
kubernetes (if applicable):
Docker version: (docker version,docker info preferred)
Containers: 7
Running: 4
Paused: 0
Stopped: 3
Images: 10
Server Version: 17.03.1-ce
Storage Driver: overlay
Backing Filesystem: extfs
Supports d_type: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 4ab9917febca54791c5f071a9d1f404867857fcc
runc version: 54296cf40ad8143b62dbcaa1d90e520a2136ddfe
init version: 949e6fa
Security Options:
seccomp
Profile: default
Kernel Version: 4.9.34-rancher
Operating System: RancherOS v1.0.3
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.861 GiB
Name: rancher
ID: CMZF:66QQ:4GEM:2DCN:6QBL:WX64:OSR6:5CEU:UKQX:Q5JD:UUQL:XE3U
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Experimental: false
Insecure Registries:
<IP_ADDRESS>/8
Live Restore Enabled: false
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
NAME="RancherOS"
VERSION=v1.0.3
ID=rancheros
ID_LIKE=
VERSION_ID=v1.0.3
PRETTY_NAME="RancherOS v1.0.3"
HOME_URL="http://rancher.com/rancher-os/"
SUPPORT_URL="https://forums.rancher.com/c/rancher-os"
BUG_REPORT_URL="https://github.com/rancher/os/issues"
BUILD_ID=
Type/provider of hosts: (VirtualBox/Bare-metal/AWS/GCE/DO)
vmware
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
single node rancheros, rancher-server, rancher-agent
Environment Template: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:
Install rancheros, enable rancher-server-stable, install agent and join
Results:
All infrastructure services fail due to dns being down.
docker run  rancher/metadata:v0.9.2 /rancher-entrypoint.sh start.sh rancher-metadata -subscribe
time="2017-08-08T20:53:38Z" level=info msg="Subscribing to events"
time="2017-08-08T20:53:38Z" level=fatal msg="Failed to subscribeGet v2-beta: unsupported protocol scheme """

seems error was elsewhere

I've been experiencing this issue randomly today. I'm curious what troubleshooting steps you took to troubleshoot. I only experience on some machines; strangely enough the machines that don't have the problem have the same configuration within the same environment.
Rancher v1.6.8
Agent v1.2.6
Env Cattle
Docker 17.06.2-ce

I have the same issue. Help plz.
Rancher v1.6.17
agent v1.2.10
Env cattle
Docker 1.12.6