Tracking thread: .NET 9 GA

This issue thread will track updates relating to GA support for .NET 9. Please see the latest comment for current status.
At time of this initial comment, .NET 9 is not yet GA. You can, however, use the preview of .NET 9 on Functions.
This issue will be locked so that updates from the team are not lost among other comments. For any questions, feedback, or other issues as the feature becomes available, please open a new issue.

We strive to provide same-day support in public Azure for new GA versions of .NET. This comment outlines some of the steps we'll be taking on release day and what you can expect.
If you have any questions about components not covered in this thread, or issues with components as they are enabled, please open an issue using our .NET 9 template.
Considerations for your local project
To use .NET 9 in your projects, you'll need to:

Update your app's dependencies to reference version 2.0.0 or later of Microsoft.Azure.Functions.Worker and Microsoft.Azure.Functions.Worker.Sdk
Update your target framework to use .NET 9

At time of this writing, the 2.0.0 versions are in preview. The team will post an update in this thread when the GA versions are available.
Azure Functions Core Tools
You might initially see a preview label in the Core Tools, and templates might still reference preview versions of the core packages. A new version of the Core Tools will be released on GA day.
The team will post an update in this thread when the new version is available.
Visual Studio
If you use Visual Studio, you should also update to version 17.12. You might initially see Preview labels when creating new projects, and templates might still reference the preview versions of the core packages. New templates will be released on GA day, and you'll be able to update VS to use these. To check for updates, navigate to Tools > Options, choose Azure Functions under Projects and Solutions. Select Check for updates and install updates as prompted.
The team will post an update in this thread when the new templates are available.
Visual Studio Code
You might initially see Preview labels when creating new projects, and templates might still reference the preview versions of the core packages. New templates will be released on GA day, and VS Code will pick them up automatically.
The team will post an update in this thread when the new templates are available.
Considerations for Windows apps
Once .NET 9 is GA, we deploy it to the Windows fleet with a just-in-time installation mode (which we also use during the Preview window). While we're in this mode, apps can experience increased cold start time. This will be addressed by a full installation after the GA day. The full installation will be enabled in the weeks following the .NET 9 GA.
The team will post updates in this thread when each mode of suppport is available.
Considerations for Linux function apps
The .NET team typically publishes official container images on a slight delay after the SDK release. Azure Functions Linux offerings are not updated prior to this. There will be a slight delay between the publishing of the official image and support becoming available in the service. For our Dedicated and Elastic Premium SKUs, this is a fairly short delay. However, Linux Consumption involves a few more processes and tends to take a bit longer.
The Flex Consumption preview SKU is not yet a candidate for same-day support. Support for .NET 9 will be enabled in the weeks following the .NET 9 GA.
The team will post updates in this thread when support is available for each SKU.
Portal support
You might initially see Preview labels when creating new funciton apps. The Azure portal will be updated once the GA support is available in the platform. It might come out before there is support for every SKU, though. In particular, Linux Consumption may not have full support when the portal updates.
The team will post an update in this thread when the portal is updated.
Documentation
Azure Functions documentation will still refer to .NET 9 as preview for the week following the GA release.
The team will post an update in this thread when the documentation is updated.

Happy .NET Conf! It's an exciting day for all of us on the Functions .NET crew, and we're looking forward to bringing you updates in this thread as we enable support for .NET 9. Please see the previous comment for a rough outline of what you can expect.
When the .NET 9 SDK first becomes generally available, our service will not yet have been updated. We'll enable support as soon as we can, and this is the right place to get the latest updates. Note that the GA SDK cannot be used with the earlier versions of the runtime. So if you attempt to publish to a function app before we indicate that the platform is ready, and you built the project with the GA SDK, you'll encounter runtime errors.
If you have any questions about components not covered in this thread, or issues with components as they are enabled, please open an issue using our .NET 9 template.

We have published the 2.0.0 GA versions of the following packages:

Microsoft.Azure.Functions.Worker
Microsoft.Azure.Functions.Worker.Sdk
Microsoft.Azure.Functions.Worker.ApplicationInsights
Microsoft.Azure.Functions.Worker.Extensions.Http.AspNetCore

Please note the following behavior changes when compared with the 1.x versions:

Microsoft.Azure.Functions.Worker.Sdk adds default configurations for SDK container builds.
Microsoft.Azure.Functions.Worker:

This version adds support for IHostApplicationBuilder.
Service provider scope validation is included by default if run in a development environment. This behavior matches ASP.NET Core.
The EnableUserCodeException option is enabled by default. The property is now marked as obsolete.
The IncludeEmptyEntriesInMessagePayload option is enabled by default. With this option enabled, trigger payloads that represent collections always include empty entries. For example, if a message is sent without a body, an empty entry would still be present in string[] for the trigger data. The inclusion of empty entries facilitates cross-referencing with metadata arrays which the function may also reference. You can disable this behavior by setting IncludeEmptyEntriesInMessagePayload to false in the WorkerOptions service configuration.
The ILoggerExtensions class is renamed to FunctionsLoggerExtensions. The rename prevents an ambiguous call error when using LogMetric() on an ILogger instance.

Support for .NET 9 GA is now available for Linux on Dedicated and Elastic Premium App Service Plans. Apps already targeting .NET 9 from the preview period may need to restart to see the GA runtime.
The base image used for custom container image builds is not yet available. We will provide another update when that is ready.
Support is not yet available for Linux Consumption. We will provide another update when that option is enabled.
Support is not yet available for the Flex Consumption Preview. We will provide another update when support is enabled for Flex Consumption in the coming weeks.

Visual Studio and Visual Studio Code have been updated to include the latest templates to support .NET 9.
In Visual Studio Code, the templates should update automatically.
In Visual Studio, the templates should update when VS is first launched and when opening a Functions project or creating a new one, after VS has first started. you can also force it to check for updates, by navigating to Tools > Options, choose Azure Functions under Projects and Solutions. Select Check for updates and install updates as prompted.

Support for .NET 9 is now available for Windows apps.
This support uses the just-in-time installation mode, and a full installation deployment will follow. While we're in the just-in-time installation mode, apps can experience increased cold start time when using .NET 9.
We will provide another update when the full installation is completed in the coming weeks.

We have published an updated version of our base image that can be used for building custom container images: mcr.microsoft.com/azure-functions/dotnet-isolated:4-dotnet-isolated9.0
If you are building container images, consider also trying out the new support for SDK container builds, which is included in version 2.0.0 of Microsoft.Azure.Functions.Worker.Sdk.

A new version of the Azure Functions Core Tools is now available with the latest templates to support .NET 9. Please update your installation to version 4.0.6610.
The new version is available through the GitHub release and on NPM. It is also in the process of being made available in other acquisition channels. We will not track availability updates for those as part of this thread.

The Azure Portal in all regions should now show .NET 9 as a GA option for Functions, without the "Preview" tag.

Documentation has now been updated to remove the "Preview" label when discussing the 2.x packages and .NET 9.

Support for .NET 9 GA is now available on Linux Consumption.
Support is not yet available for Flex Consumption. As outlined in the Flex Consumption GA announcement post earlier this week, .NET 9 support is anticapted to be available on December 1 in some regions. Please see that post for details. We will provide another update here when support is enabled for Flex Consumption.

The full installation update has completed for Windows, meaning there is no longer additional cold start impact from the initial just-in-time installation.

Support for .NET 9 GA is now available on Flex Consumption, except for the following regions:

South Central US
West US 2
West US 3

We will provide another update when those three regions also have support for Flex Consumption.


1593## - Show your machine information in command line

Description of the Problem
i want to show pc information in command line
Code
def show_sensors():
print("Python Version:{0.major}.{0.minor}".format(python_version()))
for address in ip_addresses():
print("IP Addresses: {0[1]} ({0[0]})".format(address))
print("CPU Load: {:.1f}".format(cpu_load()))
print("RAM Available: {} MiB".format(ram_available() / 1024**2))
print("AC Connected: {}".format(ac_connected()))
Code

## Link To The LeetCode Problem
[LeetCode](https://leetcode.com/)

If you want to solve the LeetCode Problem 1593 you can do so - if not: Read Contribution Guidelines


[enchancment] outoput failed downloads to a log file

Hi,
please make the script output usernames of failed downloads to a separate log file.

Requested feature was added and will be available on next release.
You can find pre-release builds here: https://github.com/pikami/tiktok-dl/actions

Thanks !


Convert to pyproject.toml

This library missed the conversion to pyproject.toml and will need to be manually converted.

Resolved as of https://github.com/adafruit/Adafruit-CircuitPython_TCA8418/commit/4d7801b004e21e21f76da66bc0ab9e3269cd90e6


Understanding the 'how' and the 'why'

Hi,
I came across this trying to research good client-side build/deploy practices.
Your example code:
from django_webpack.compiler import webpack
bundle = webpack('path/to/webpack.config.js')
# Returns a string containing <script> elements pointing to the bundle
bundle.render()

My first thought was that this was meant to be used in management command that's run on a production server for every deploy. An extra step to run after 'collectstatic'...
But the fact that it returns a string makes it look like it's more like to be view code - or probably part of a templatetag.
Am I misunderstanding things?

It's intended as to be plugged straight into templates during development, production integrations are up to the user, to be honest.
When deploying to prod, we build when restarting the process, and cache the output. It's probably not the best, but it's worked for our purposes.
You could easily integrate it into a more complicated build process, taking the file(s) generated and moving them about, but I haven't personally hit that need yet.
If there's a particular method or process that you recommend, you're more than welcome to make a PR to improve the docs/code.

OK. I'm already using django-compressor so maybe first of all I'll see how that integrates with webpack and then report back

Partially dependent on #30

Latest adds support for offline manifests, which adds support for dev/prod enviroments


Running format errors in x86_64-linux-cross-ci shell

If I run
nix develop .#x86_64-linux-cross-ci

(which I understand is the only way to get cross-compilation from x86 to work right now -- this should be documented btw), and then run format for formatting the code, I get
$ format
info Formatting nix files
/home/mjk/git/mlkem-c-aarch64/scripts/format: line 22: nixpkgs-fmt: command not found

sorry, maybe I should add some description for the nix shells
x86_64-linux-cross-ci is meant to be run on ci,
while x86_64-linux-cross is meant to be run locally, which included the linters in the shell.


fix:change button selector in reset tailwind.css

This PR change this:

reset/tailwind.css
When < button type= "button" / > is excluded, prevent the property selector from being higher than the class selector on button
fix #1315

I think this is how Tailwind handles it,

Thanks but we probably should align with Tailwind at this moment.


added print op

added print op to print tensors (during graph evaluation) into specified file
Couple of points I'm not confident in:

used identity op to attach print side effect (and continue op chaining)
for some reason print file is not deleted in test
typeclass does not support default args - had to add case classes to pass optional parameters. it looks ugly
had to use op id as op label because format/print operators are added as root operators

realized this impl is still buggy - when we add dependent print op it is not yet compiled. so when we compile it in builder new context is not properly propagated and lable increment is lost
thats why print/format currently have id as label

fixed previous issue (with non unique labels for control inputs)
though I'm still a bit high, this code has to be refactored

Approved


[kubemod] The CRD is not valid

Hello,
In https://github.com/kubemod/kubemod-helm/pull/10/files the CRD in helm-chart/kubemod/crds was superficially upgraded to v1. The manifest needs to be adapted (see here for details).
Could we consider the CustomResourceDefinition in https://github.com/kubemod/kubemod/blob/master/bundle.yaml as source of truth and sync from it?

Hi @machine424,
Using the original resource definitions from kubemod makes sense. That said, the actual source of truth is not bundle.yaml - the bundle is a product of running a kustomize build against the original resource definitions which are located in kubemod's config folder (https://github.com/kubemod/kubemod/tree/master/config).
Kubemod's Makefile includes a target called bundle which invokes kustomize to build bundle.yaml (https://github.com/kubemod/kubemod/blob/master/Makefile#L45).
I think it would be best if we had another Makefile target, say helm, which produces the templates folder for the helm chart, using the original resource definitions from kubemod/config.
@desaintmartin, thoughts?

Thanks for your response.
My mistake, wrong link, I meant the definition in here https://github.com/kubemod/kubemod/blob/master/config/crd/bases/api.kubemod.io_modrules.yaml generated by the target manifests, I wanted to know if it is always up-to-date.
I don't think we need to generate the helm's templates folder, all we need is the CRD.

Yes, this makes sense.
Since manifests are generated at every release of kubemod, this file is always up to date at the release tag.

@machine424, please feel free to submit a PR.

Here you go https://github.com/kubemod/kubemod-helm/pull/12

Closed by #12

Thanks @machine424 !


Update attention_torch.py

it needs device argument for GPU

Nice, You could've done both patches under one branch, but this is ok too. Thanks!


sip: add tests for sip over tcp v3

Ticket
If your pull request is related to a Suricata ticket, please provide
the full URL to the ticket here so this pull request can monitor
changes to the ticket status:
Redmine ticket:
https://redmine.openinfosecfoundation.org/issues/3351

Suricata PR: https://github.com/OISF/suricata/pull/9893

Replaced by: https://github.com/OISF/suricata-verify/pull/1499


contribution-guidelines: small updates

Explain what a DCA is, and clarify a few sentences.

LGTM! Thank you!


Handle multipolygon geometry type

I have data in geoJSON format which includes 'MultiPolygon' geometries. Leaflet's L.geoJson handle multipolygon layer  'as one polygon', so when I mouse over one polygon, all other polygons which are part of multipolygon will change  style. But L.choroplethDataLayer binds mouse event to each polygon separately(each polygon in multipolygon).
In consequence of this behavior, when I set text on each layer, all MultiPolygon layers which include many polygons also insert text
Thanks for your suggest and sorry for my bad Enlish
I hope photo would help understand my mind:

@FarhodKurbonov this issue makes sense.  Let me look into it and get back to you.

@FarhodKurbonov is this occurring in Leaflet 0.7.3 or 1.0.0 beta?  Just wondering, b/c I think Leaflet 1.0.0 beta treats a MultiPolygon as a single Polygon (based on checking out the source code), which I think would not have this problem.  I'm working on a fix for 0.7.3 as well.

Yes, it is occurring in Leaflet 0.7.3. My problem, resolved after updated to 1.0.0 beta. Thank you for your help.

If you use the 1.0dev branch, that should be compatible with 1.0.0 beta 1.  Let me know if you run into any issues.


YARN-11006. Allow overriding user limit factor and maxAMResourcePerce…

…nt with AQCv2 templates

Description of PR
How was this patch tested?
For code changes:

[ ] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 52s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
test4tests
0m  0s

The patch appears to include 1 new or modified test files.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
32m  5s

trunk passed

+1 :green_heart:
compile
1m  7s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
compile
0m 59s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
checkstyle
0m 47s

trunk passed

+1 :green_heart:
mvnsite
1m  3s

trunk passed

+1 :green_heart:
javadoc
0m 52s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
0m 45s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
1m 54s

trunk passed

+1 :green_heart:
shadedclient
20m 20s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 52s

the patch passed

+1 :green_heart:
compile
0m 57s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javac
0m 57s

the patch passed

+1 :green_heart:
compile
0m 52s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
javac
0m 52s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 39s

the patch passed

+1 :green_heart:
mvnsite
0m 54s

the patch passed

+1 :green_heart:
javadoc
0m 38s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
0m 36s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
1m 56s

the patch passed

+1 :green_heart:
shadedclient
20m 24s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
95m 51s

hadoop-yarn-server-resourcemanager in the patch passed.

+1 :green_heart:
asflicense
0m 34s

The patch does not generate ASF License warnings.

184m 31s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3652/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/3652

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux aa5dd67e6e08 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / e2c0482212b935242d974300900c26a421061c8d

Default Java
Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3652/2/testReport/

Max. process+thread count
956 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3652/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 59s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
34m 42s

trunk passed

+1 :green_heart:
compile
1m  7s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
compile
0m 56s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
checkstyle
0m 46s

trunk passed

+1 :green_heart:
mvnsite
1m  0s

trunk passed

+1 :green_heart:
javadoc
0m 49s

trunk passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
0m 41s

trunk passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
1m 57s

trunk passed

+1 :green_heart:
shadedclient
23m 47s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 57s

the patch passed

+1 :green_heart:
compile
0m 59s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javac
0m 59s

the patch passed

+1 :green_heart:
compile
0m 50s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
javac
0m 50s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 40s

the patch passed

+1 :green_heart:
mvnsite
0m 53s

the patch passed

+1 :green_heart:
javadoc
0m 40s

the patch passed with JDK Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04

+1 :green_heart:
javadoc
0m 37s

the patch passed with JDK Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

+1 :green_heart:
spotbugs
1m 59s

the patch passed

+1 :green_heart:
shadedclient
23m 34s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
114m 52s

hadoop-yarn-server-resourcemanager in the patch passed.

+1 :green_heart:
asflicense
0m 29s

The patch does not generate ASF License warnings.

212m 30s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3652/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/3652

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell

uname
Linux e15c7d9385f5 4.15.0-147-generic #151-Ubuntu SMP Fri Jun 18 19:21:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 3ea19e1223ee79c0d0d719cd65ef3ba1a2f4c0c7

Default Java
Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.11+9-Ubuntu-0ubuntu2.20.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_292-8u292-b10-0ubuntu1~20.04-b10

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3652/1/testReport/

Max. process+thread count
936 (vs. ulimit of 5500)

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-3652/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0-SNAPSHOT https://yetus.apache.org

This message was automatically generated.

Thanks @brumi1024 for working on this.
Patch LGTM, committed to trunk.


Setup Airbrake for your PHP application

Installation
composer require airbrake/phpbrake

Example Usage
This usage example details how to create a notifier instance, set a global notifier instance, register the error handler, and includes a snippet of some code that would report an exception to Airbrake (You can find your project ID and API KEY with your project's settings):
// Create new Notifier instance.
$notifier = new Airbrake\Notifier(array(
    'projectId' => <Your project ID>,
    'projectKey' => '<Your project API KEY>',
));

// Set global notifier instance.
Airbrake\Instance::set($notifier);

// Register error and exception handlers.
$handler = new Airbrake\ErrorHandler($notifier);
$handler->register();

// Somewhere in the app...
try {
    throw new Exception('hello from phpbrake');
} catch(Exception $e) {
    Airbrake\Instance::notify($e);
}

Going further
Check out our official GitHub repo for info on additional features like:

Monolog integration
Adding custom data to your errors
Filtering specific errors
Extra config options

Won't fix


CPAL doesn't return colors

While testing Bungee Color I found that the colorRecord blue, green, red, alpha values are always 0. These should match the colors defined in the palette.

Investigating the colorRecord parser, we see this:
        lazy(this, `colorRecords`, () => {
            p.currentPosition = this.startTable + this.offsetFirstColorRecord;
            console.log(
                `creating ColorRecord starting at ${p.currentPosition},
                from start ${this.startTable} and offset ${this.offsetFirstColorRecord}
            `);
            return [...new Array(this.numColorRecords)].map(_ => new ColorRecord(p));
        });

yielding:
creating ColorRecord starting at NaN, from start undefined and offset 14

so that would certainly cause problems in getting the data out...

https://github.com/Pomax/Font.js/commit/7aa8cee25d1ae53ed1134f232d90e4f0c8eb7b2e


Still show Token detail screen when switch account

Describe the bug
Still show Token detail screen when switch account
To reproduce the behavior
Steps:

Open the app
Switch to Substrate account
Click on any token to go to Token detail screen
Click on Send button
On the Send fund screen, switch to EVM account
Observe the screen displayed

Actual: Still show Token detail - empty page
https://user-images.githubusercontent.com/130966515/252620679-7a5cedda-a59b-4099-b998-e71b1f659fbe.MP4
Expect: Back to Homepage (Token tab)

Version test: https://file.cdmteck.com/s/DB9JLAnjJczopcC/download?path=%2F&files=SubWalletMobile-build-197-887-merge-2023-07-12T07-29-37.ipa
Devices test: IP 11
Validation passed.


side bar stuff

for some reason my images dont load in but everything checks out ;(

I don't exactly understand what you you are asking here.
Are you asking why your images don't load?
You say everything checks out, but when I run your app I only get this:

What is it supposed to look like?


Sender name is mandatory in letter-simple

Creating a letter without a sender name via letter-simple results in the following error…:
error: expected string or array, found none
    ┌─ @preview/letter-pro:3.0.0/src/lib.typ:539:12
    │
539 │     author: sender.name,
    │             ^^^^^^^^^^^

…as the sender name is also used to specify the document author (which doesn’t seem to accept none):
https://github.com/Sematre/typst-letter-pro/blob/0bc8f4cb5fdb2b35701dacb2a800082712a088a9/src/lib.typ#L536-L540
According to the documentation of letter-simple, the sender name can be none, so I assume this behavior is not intended. I worked around the issue with this change, but being new to Typst, there is probably a cleaner fix:
  // Configure page and text properties.
  if sender.name != none {
    set document(
      title: subject,
      author: sender.name
    )
  }
  else {
    set document(
      title: subject,
    )
  }

And thanks for this project!

Thanks for reaching out. This is indeed a bug. I'll open a pull request.


Box won't accept style (at least in react-native-web)

It seems that if I pass a style that's not flatten (with StyleSheet.flatten) then Box will complain with Invalid style with id '230'. Skipping ...
In RN work be cause RN accepts objects but RNW won't
I'm using 0.9.4
Any idea? Thank you 🥰

@rborn could you post a simple code snippet? 😊 also, have you tried v1.0.3? (yarn add @mobily/stacks@next)

@mobily is a weird combination with nextjs and SSR, let me come back to you with a testcase ( hopefully I can do it)

@rborn I've just published v1.1.0, please upgrade and let me know if it works as intended :)
(please, see the changelog first: https://mobily.github.io/stacks/docs/changelog)

Thnx for this, will test in a few days and let you know (small vacation 😅)
Daniel Tamas
+34 644 374 865
www.letsemjoy.com

On Apr 4, 2021, at 12:42 AM, Marcin Dziewulski @.***> wrote:

@rborn I've just published v1.1.0, please upgrade and let me know if it works as intended :)
(please, see the changelog first: https://mobily.github.io/stacks/docs/changelog)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

closing due to inactivity :)

hey again @rborn, I finally figure it out! If SSR support is enabled, you have to add { commonjs: true } to the RNW babel plugin config, otherwise, RNW causes a styles bug (the same bug you originally posted in this issue).
please update to v1.1.5 and refer to the docs on how to set up CRA/Expo/Webpack properly: https://mobily.github.io/stacks/docs/react-native-web


Fix: mistype in desktop file name

Hi @liljaylj ,
Thanks for your contribution! Can you update the commit message to fit our style? So like
fix(linux): mistype in desktop file name

Hi @liljaylj ,
Thanks for your contribution! Can you update the commit message to fit our style? So like
fix(linux): mistype in desktop file name

done)


Create test suite

Figured this should be a new issue from #65
I will fork and try setting up something basic at least.

That's awesome, thank you!

Just doing housekeeping on inactive issues. Okay to close this?

Ya I stopped using this a while back so if nobody else has an interest just close for now


Test App Router: Fix exports to appropriately export the state provider config per route.

Enhancement completed.


Improve SA1135 handling of static usings

Currently the SA1135 implementation does not handle the following case:
namespace My.First {
  internal static class Extensions { }
}

namespace My.Second {
  using static First.Extensions; // Should be My.First.Extensions
}

The implementation should be improved to handle this.

Working on it


fix: comment mentioning the tutorial

Description

Refer - we could add a comment within the template that links to the tutorial. That way, users who accidentally run into this while using the Studio tool can immediately see we have a tutorial for learning how to debug their documents. https://github.com/asyncapi/website/pull/1022#issuecomment-1354032705

also the link I have added is the link after the tutorial PR gets merged in future and not current deployed one as we have to change again

...

Related issue(s)

/rtm

@fmvilas we should wait for that PR 😅 https://github.com/asyncapi/website/pull/1022#issuecomment-1377150601 but ok.


fix: remove opacity on stateful button

Remove the opacity on pending state of the stateful button so that a crisp original color would be displayed in pending state.
VAN-605

Coverage remained the same at 90.594% when pulling 7570c641355931965828b3d0a6223543756ab8d8 on remove-opacity-on-pending-state into a8af4c33a22f22fbc1f36cf90fe67aa76911e8b2 on master.

@uzairr can you add before/after screenshots?

We still need there to be an opacity change when a button is actually disabled instead of pending.
Is there another option for your pending state?
Off the top of my head, you could put a spinner icon on the button, or have the button not show up until it's available to be used.
I think it will be a breaking change for other button users if this is merged; I certainly depend on that opacity change when the button is disabled.

I updated the PR as per the suggestions.Thanks everyone,
@raq929 please review the changes again.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add macOS obuilder CI tests for rsync

Add a GitHub Actions test running rsync tests on macOS.
See https://github.com/ocurrent/obuilder/blob/master/.github/workflows/main.yml

Not using rsync backend on macOS anymore.


Consistency and Typos

Summary

Fixed a few typos
Updated the consistency in your full stops in bullet points (some had full stops, others didn't)
Added email as a link (easier for people to contact you that way)

Hello @mishmanners,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

Thanks for participating in Hacktoberfest! You can claim your sticker set here: https://get.printfection.com/hacktober21/4144583267 @mishmanners


The folder containing100 files is not completely deleted in once for a blob container

OS: Win10
Build Version: 20220908.8
Repro Steps:

Install Azure Resource Groups extension.
Install Azure Storage extension.
Make sure resource groups by Resource Type.
Expand a storage account -> Create a new blob container -> Upload a folder containing 100 files to it.
Delete the folder -> Refresh.
Check whether the folder is completely deleted without any error.

Expect:
The folder is completely deleted without any error.
Actual:
The folder is not completely deleted with an error.

More Info:
There is an error under file share after deleting the uploaded folder containing 100 files, refreshing the file share can fix this issue.

Should be fixed by https://github.com/microsoft/vscode-azurestorage/commit/c3845e61cfdd63bb325e1f50884914871ff23a64. Could you verify please?

@nturinski Verified this issue on the latest build 20220925.1, it doesn't reproduce for now.


[e2e]: nodejs push branch1 default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/branch1
Run: https://github.com/slsa-framework/example-package/actions/runs/5000044016
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Trigger: push
Branch: branch1
Date: Wed May 17 06:23:57 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/branch1
Run: https://github.com/slsa-framework/example-package/actions/runs/5010702864
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Trigger: push
Branch: branch1
Date: Thu May 18 05:08:44 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/branch1
Run: https://github.com/slsa-framework/example-package/actions/runs/5010724091
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Trigger: push
Branch: branch1
Date: Thu May 18 05:12:09 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/branch1
Run: https://github.com/slsa-framework/example-package/actions/runs/5010768371
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Trigger: push
Branch: branch1
Date: Thu May 18 05:20:39 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/branch1
Run: https://github.com/slsa-framework/example-package/actions/runs/5011175250
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.nodejs.push.branch1.default.slsa3.yml
Trigger: push
Branch: branch1
Date: Thu May 18 06:26:42 UTC 2023
Tests are passing now. Closing this issue.


Disable all areas below the Address box, until an address has been selected

Context
Currently you can access the item/method boxes with the address not filled.

Task

Ensure all items below the address input box is disabled before any address has been inputted - this means the text should be of gray color (you can choose a standard hexcode for gray) and input boxes should not pop out options.
The "+" button should be disabled as well.

Figma Link
https://www.figma.com/file/kN115h4H1jk797qa3x08Et/RGW-Design_Master-Design-File?node-id=3458%3A21137
Acceptance Criteria
Working endpoint to read from (test in local)

i actually think it's better to disable the where to recycle button and flag out missing address on blur.
this is because if user keys in address, then adds a few items, then removes address, all the items will be disabled which is weird


GPIO doesn't configure by config array

Seems to SI4463_Init doesn't configure GPIO and IRQ pin.
It's realized by changing settings for pin:

GPIO1 was setup as INV_CTS - no effect
GPIO0 was setup as CTS - no effect

Solved.
Reasong - wrong applying method of RadioConfigurationDataArray. For fix this was used chaining of the commands.


Heatmap does not empty with .setData({data: []})

I am currently using the Leaflet plugin to create multiple heatmap layers. However, I cannot seem to clear a heatmap layer and draw an upated map. My code is

var cfg = ...
var heatmapLayer = new HeatmapOverlay(cfg);

heatmapLayer.setData(testData);
heatmapLayer.addTo(map);

heatmapLayer.setData({data:[]});
heatmapLayer.addTo(map);

I have also tried:
map.removeLayer(heatmapLayer);

This does remove the layer but I cannot figure out how to redraw the updated map. Does anyone have any ideas ?

I figured out this issue. We can use this excellent Leaflet tutorial to control the layers that we want to show. This works seamlessly with all of the add-on functionalities of heatmap.js! I highly recommend going through the leaflet documentation since it is possible to do a LOT more with the leaflet plugin than what the examples show!


Members table for vote

In the member list for a vote, I often find myself looking in the wrong column for a member. I wonder if this would be ameliorated by having a table instead of a list. We could have columns for each of the data values now presented in the tooltip, which would allow for immediate visual inspection of a lot of values. It might also make the field sorting more intuitive.
I have in mind something like is done on those long Wikipedia tables. This would make the table substantially longer, which is a downside. With enough sortable attributes (name, dim1, dim2, vote, party, prob, ...) users will hopefully be able to find the person they're looking for very quickly, however.
https://en.wikipedia.org/wiki/List_of_Nobel_laureates

As I mentioned in person (repeating here for the benefit of Jeff and Luke) -- I think basically the tradeoff here is that you have slightly better access to information in exchange for it being a bit more visually cluttered and having much lower vertical information density.
I'm happy to change it over but it's a fairly substantial amount of code to just experiment on.
I am told that the proximate cause here was failing to find a member on the list -- would a member name filter box help?


kotatogram-desktop: 1.1.5 -> 1.2

Motivation for this change
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

[x] Tested using sandboxing
Built on platform(s)

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

[x] Tested execution of all binary files (usually in ./result/bin/)


Fix ExtractComputedReturns in typescript ^3.9

In typescript ^3.9, ReturnType behaves differently, which breaks ExtractComputedReturns:
Typescript Playground links:
3.9.2
3.8,3
The fix is to explicitly cast as a function signature type instead of Function, according to https://github.com/microsoft/TypeScript/issues/34540. Here's another Playground link with the fix, no more red squigglies: Playground Link

Thank you
There's a PR for 3.9 with this fix.
https://github.com/vuejs/vue-next/pull/1106

Oh perfect, looks like i could've spent some time looking at open PRs, sorry :sweat_smile:


Support for adding unique ID into volume mount names

This proposal is an enhancement idea to the current dev container features proposal.

This spec proposal is a port of the proposed solution to https://github.com/microsoft/vscode-remote-release/issues/5679 and relates to https://github.com/devcontainers/spec/issues/2#issuecomment-1185755881.
For both Dev Container Features (#61) and normal devcontainer.json scenarios, it is sometimes necessary to have a unique identifier generated that can be referenced in different places.
The most critical example of this is named volumes. When you have multiple dev containers running in the same environment (e.g. locally), the docker-in-docker feature needs to be able to create unique volume names for each to store docker data. Any feature that references a mount point will face the same challenge.
The proposed solution is to introduce a variable like ${devcontainerId} that is a unique identifier for the resulting container. The format of the identifier does not matter as much as the fact it can be broadly used. So generally it should be alpha numeric. Features can then reference this identifier where appropriate (like in mounts).
@alexdima @chrmarti @jkeech @edgonmsft - This has been the most consistent ask from early adopters of dev container features to date.  So I think we'll want to cover it in the spec.

Is there any consensus on how the devcontainerId value would be generated?
My initial thought when thinking about this a while back was to use the name from devcontainer.json. The downside is that changing the name would break the volume links, which isn't ideal. Especially as I often start working with a dev container for a while before noticing that I haven't put something meaningful in the name value so end up changing it later to something to help identify the project.
Another idea is to add an id property to devcontainer.json and have the CLI/extension populate it with a new randomly generated value if it doesn't exist. This could then be the value used for devcontainerId and users could still rename the dev container without breaking the volume links in features.

An alternative to generating the id and modifying a user's devcontainer.json would be to use id if it exists and name (or a derivative of it) as a fallback. In this case, it might help steer into the pit of success if the extension auto-generated a random id value when a user adds a devcontainer.json via the "Remote-Containers: Add Development Container Configuration Files..." command?

I would use a similar approach to how we name images which uses vsc-${workspaceFolderBasename}-${workspaceFolderHash}.
To also support the repository in volume case in Remote-Containers (and possibly other cases) we need to base the hash on the id labels we use to identify the dev container (the id label includes the workspace folder path in the local case). It would be nice to have a human-readable part, but that might not be easy to derive in all cases.
So my proposal is to use a sha-256 hash of the id labels (there can be multiple such labels and they all need to match to identify the dev container).

When I look at a dev container running locally, I have the following labels:
  "com.visualstudio.code.devcontainers.id": "python-3",
  "com.visualstudio.code.devcontainers.release": "v0.231.6",
  "com.visualstudio.code.devcontainers.source": "https://github.com/microsoft/vscode-dev-containers/",
  "com.visualstudio.code.devcontainers.timestamp": "Wed, 13 Apr 2022 00:28:49 GMT",
  "com.visualstudio.code.devcontainers.variant": "3.10-bullseye",
  "desktop.docker.io/wsl-distro": "Ubuntu",
  "devcontainer.local_folder": "\\\\wsl.localhost\\Ubuntu\\home\\stuart\\source\\my-project",
  "version": "0.203.5"

Which of these do you suggest are included in the hash?
My goal is to have an ID that is scoped to an individual dev container and that doesn't change across dev container renames (i.e. changing name in devcontainer.json) or VS Code release versions etc

In this case only "devcontainer.local_folder": "\\\\wsl.localhost\\Ubuntu\\home\\stuart\\source\\my-project" would go into the hash.
A container created from a repository cloned to a volume has different id labels, e.g.:
"vsch.local.repository": "https://github.com/chrmarti/vscode-regex.git/tree/main",
"vsch.local.repository.folder": "vscode-regex",
"vsch.local.repository.volume": "vscode-regex-main-29a8aa263ac65c28ae2f5568b6fd157f"

In the code these labels are passed around as idLabels IIRC.

@chrmarti I assume this would also work if a volume was used for the source code in the Remote - Containers case, correct?

@Chuxel Yes, the variations I'm aware of are:
Local folder:
"devcontainer.local_folder": "\\\\wsl.localhost\\Ubuntu\\home\\stuart\\source\\my-project"

"Clone Repository in Container Volume":
"vsch.local.repository": "https://github.com/chrmarti/vscode-regex.git/tree/main",
"vsch.local.repository.folder": "vscode-regex",
"vsch.local.repository.volume": "vscode-regex-main-29a8aa263ac65c28ae2f5568b6fd157f"

When inspecting a volume:
"vsch.local.volume": "myvolume"

Codespaces (here the unique id might not be relevant at the moment):
"Type": "codespaces"

(Using a fixed id label is fine when that uniquely identifies the dev container among other containers on the same Docker host.)
The Dev Container CLI only has the local folder case built-in, in all other cases we pass id labels to the CLI as command line options (--id-label).

So we could use a hash of the id labels and then base64 encode that like:
const crypto = require('crypto');

// Array of label=value.
const idLabels = ['"devcontainer.local_folder=C:\\Users\\chrmarti\\repos\\hello'];

const hash = crypto.createHash('sha256')
	.update(JSON.stringify(idLabels.sort())) // sort to avoid order dependency
	.digest('base64url'); // omits padding =

// For a volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed,
// base64 includes "[a-zA-Z0-9+/]".
const uniqueId = 'a' + hash.replace(/\+/g, '_')
	.replace(/\//g, '-');

console.log(uniqueId); // Example prints: adg5DShAK-VwSz7TkEPJqOyzEmKEAJc3EKAsKsiCfsRE

Notes:

Is sha256 too long?

Do we need a cryptographic hash?

JSON.stringify needs to be specified in abstract terms as not including any additional whitespace (to avoid JavaScript specifics in the spec).
The result works for volumes, other names might have other limitations on allowed characters.

Should compare with, e.g., container and image name limitations.
Includes upper- and lowercase characters.

@chrmarti
What do you think about removing the dash from the set of available chars so that the unique ID could be easily selected whenever needed by double clicking on it?

@tschaffter We could use dot instead of dash (to still match base64).

Dot would lead to the same issue, but it's maybe better than using the dash has dash is used as VS Code uses the dash as separator in the name of Docker images. For example: vsc-my-project-e7f0e6fdd3e51765526df2844ad10816-features-uid. I realize that the double-click feature I mentioned depends on where the string is double clicked. But if VS Code use dash as separator in resource names, maybe it's best to exclude it from the generation of the hash.

Some time ago I also ran into encoding a sha256 in a short string (a subdomain name), and I went with encoding the number is base32 which requires at most 52 chars:
function sha256AsBase32(bytes: ArrayBuffer): string {
	const array = Array.from(new Uint8Array(bytes));
	const hexArray = array.map(b => b.toString(16).padStart(2, '0')).join('');
	// sha256 has 256 bits, so we need at most ceil(lg(2^256-1)/lg(32)) = 52 chars to represent it in base 32
	return BigInt(`0x${hexArray}`).toString(32).padStart(52, '0');
}

Here's a code pointer (uses crypto browser API, but the principle is the same for nodejs): https://github.com/microsoft/vscode/blob/6fa43c8e9dd85f83ec9f3bbd48f0eeb24db3c76b/src/vs/workbench/browser/webview.ts#L5-L26

@alexdima I like that idea. It uses [0-9] and [a-v] to represent numbers 0-31 and avoids punctuation characters and case-sensitivity.

Updated code using base32:
const crypto = require('crypto');

function uniqueIdForLabels(idLabels) {
	const stringInput = JSON.stringify(idLabels, Object.keys(idLabels).sort()); // sort properties
	const bufferInput = Buffer.from(stringInput, 'utf-8');

	const hash = crypto.createHash('sha256')
		.update(bufferInput)
		.digest();

	const uniqueId = BigInt(`0x${hash.toString('hex')}`)
		.toString(32)
		.padStart(52, '0');
	return uniqueId;
}

const examples = [
	{
		'devcontainer.local_folder': '\\\\wsl.localhost\\Ubuntu\\home\\stuart\\source\\my-project'
	},
	{
		'vsch.local.repository.volume': 'vscode-regex-main-29a8aa263ac65c28ae2f5568b6fd157f',
		'vsch.local.repository': 'https://github.com/chrmarti/vscode-regex.git/tree/main',
		'vsch.local.repository.folder': 'vscode-regex'
	},
	{
		'vsch.local.volume': 'myvolume'
	},
	{
		'Type': 'codespaces'
	}
];

const uniqueIds = examples.map(uniqueIdForLabels);
console.log(uniqueIds);
/* Prints:
[
  '1rr0ifggvslov34du7rckm9v3v1vq76fgstqpg49k5ettifijujv',
  '0ogk7ui0niiilqvq4n3cstdcmg5fa4fc2ldsetncf60o3jvu33j3',
  '09h2k0dvao1m9l93kqpcs7kenvhoeik9jlgu3q6k7l4k3nold7ce',
  '0hcbhh2c7vldoj773drm1bjldnb89u0rt96sl9nju22d9ou8d14n'
]
*/

Goal
Allow features to refer to an identifier that is unique to the dev container they are installed into.
E.g., the docker-in-docker feature needs a way to mount a volume per dev container.
Proposal
The identifier will be refered to as ${devcontainerId} in the feature metadata and that will be replaced with the dev container's id. It should only be used in parts of the metadata that is not used for building the image because that would otherwise prevent prebuilding the image at a time when the dev container's id is not known yet.
The identifier is derived from a set of container labels that uniquely identify the dev container on a Docker host. It is up to the implementation to choose these labels. (E.g., a single label with the workspace folder as its value, or a set of labels identifying a Git repository and a volume to clone the Git repository into.)
E.g., the docker-in-docker feature could use the dev container id with:
{
    "id": "docker-in-docker",
    "version": "1.0.4",
    // ...
    "mounts": [
        {
            "source": "dind-var-lib-docker-${devcontainerId}",
            "target": "/var/lib/docker",
            "type": "volume"
        }
    ]
}

Computing the Identfier

Input the labels as a JSON object with the object's keys being the label names and the object's values being the labels' values.

To ensure all implemenations get to the same result, the object keys must be sorted and any optional whitespace outside of the keys and values must be removed.

Compute a SHA-256 hash from the UTF-8 encoded input string.
Use a base-32 encoded representation left-padded with '0' to 52 characters as the result.

JavaScript implemenation taking an object with the labels as argument and returning a string as the result:
const crypto = require('crypto');

function uniqueIdForLabels(idLabels) {
	const stringInput = JSON.stringify(idLabels, Object.keys(idLabels).sort()); // sort properties
	const bufferInput = Buffer.from(stringInput, 'utf-8');

	const hash = crypto.createHash('sha256')
		.update(bufferInput)
		.digest();

	const uniqueId = BigInt(`0x${hash.toString('hex')}`)
		.toString(32)
		.padStart(52, '0');
	return uniqueId;
}

Overall looks good. This will be a useful feature.

It should only be used in parts of the metadata that is not used for building the image because that would otherwise prevent prebuilding the image at a time when the dev container's id is not known yet.

Can we formalize this to make it a requirement? For instance, we could only support that variable expansion in devcontainer properties that apply to container runtime instead of container build time (mounts, runArgs, etc).

The identifier is derived from a set of container labels that uniquely identify the dev container on a Docker host. It is up to the implementation to choose these labels.

To ensure all implemenations get to the same result, the object keys must be sorted and any optional whitespace outside of the keys and values must be removed.

These two things seem to be in opposition to each other. Unless we define the labels that must be used, implementations will use different labels as the input and get different results, even if they follow the same hashing logic. I would suggest that

If we care about implementation interoperability, then we must define the set of labels that are used for the ID so that implementations all agree and use the same inputs
If we don't care about interoperability, then we also don't need to define the hashing logic and can instead just document that the labels should be hashed to produce a unique identifier for that instance of the devcontainer. We can provide an example hashing algorithm, but it's ultimately an implementation detail of the implementor at that point.

+1 on the idea of defining the set of labels explicitly. Besides that this would be a great addition.

It should only be used in parts of the metadata that is not used for building the image because that would otherwise prevent prebuilding the image at a time when the dev container's id is not known yet.

Can we formalize this to make it a requirement? For instance, we could only support that variable expansion in devcontainer properties that apply to container runtime and not image build time (mounts, runArgs, etc).

Sounds good.

The identifier is derived from a set of container labels that uniquely identify the dev container on a Docker host. It is up to the implementation to choose these labels.

To ensure all implemenations get to the same result, the object keys must be sorted and any optional whitespace outside of the keys and values must be removed.

These two things seem to be in opposition to each other. Unless we define the labels that must be used, implementations will use different labels as the input and get different results, even if they follow the same hashing logic. I would suggest that

If we care about implementation interoperability, then we must define the set of labels that are used for the ID so that implementations all agree and use the same inputs
If we don't care about interoperability, then we also don't need to define the hashing logic and can instead just document that the labels should be hashed to produce a unique identifier for that instance of the devcontainer. We can provide an example hashing algorithm, but it's ultimately an implementation detail of the implementor at that point.

The labels to identify a dev container seem to depend on how the dev container is created (in its context, e.g., a Codespace implies a single dev container, so the label can be constant, see https://github.com/devcontainers/spec/issues/62#issuecomment-1212382898). Other implementations might come up with additional ways to create dev containers, so we probably don't want to limit the allowed labels.
We could specify that implementations can use the devcontainer.local_folder label for interoperability when a dev container is based on a local folder and that they can choose other labels as desired.

@jkeech @edgonmsft @chrmarti Why put a limit on it? Mounts is the primary use case and we do need this to work from image labels as well so that would apply to the image.

@Chuxel, what @chrmarti and I are suggesting is that the devcontainer ID is tied to a single instance of the devcontainer. You can have multiple instances of the same image running on the same machine, so if the ID is evaluated in an image, it's no longer unique. Therefore, the ID can only be evaluated at the time when a devcontainer is spun up, and it only applies to properties at that point which are tied to the container rather than the image. That's why we should restrict the property in the spec to only be allowed in runtime properties like mounts.
Even though the ID is evaluated at runtime does not mean that the ID variable cannot be present in image metadata. It would just remain as ${devcontainerId} in the image label (for the allowed properties like mounts) and then be replaced/evaluated by the CLI at runtime when spinning up the containers.

Posted the proposal with the discussed clarifications in PR https://github.com/devcontainers/spec/pull/96 for review.

//cc @bamurtaugh FYI - Another for the list of items to add to the reference over the next week or so.


Include Bootstrap by default

Includes bootstrap in the CMS by default, including the new bootstrap-reboot.scss to reset styles. This will eventually replace Eric Meyer's framework/admin/scss/_reset.scss reset styles, but for now they have a different scope (e.g. _reset.scss also resets <fieldset>, <ul>), so it'll need more work to remove that. Adjusted some CSS styles to deal with these slightly different resets.
Bootstrap itself had already been added previously (and documented in the upgrade guide), see https://github.com/silverstripe/silverstripe-framework/pull/5046 and https://github.com/silverstripe/silverstripe-framework/pull/5027. This is just getting it to the point where it can be included by all CMS classes without messing up styles.
This is the first in a series of pull requests which prepare the new 4.0 asset-admin feature.
Merge together with https://github.com/open-sausages/silverstripe-asset-admin/pull/94
/cc @scott1702 @flashbackzoo

@silverstripe/core-team We're hoping to get this pull request over the line in the next 48h because we have an opportunity for staff to fix things during an internal hackday here at SilverStripe Ltd on NZ Friday, ideally without too much branching fragmentation. Can you please review in your respective areas of expertise (PHP and/or JS/React)? @flashbackzoo, @scott1702 and myself have largely peer-reviewed each others work here, but would be good to get the thumbs up from at least one other core committer since these pull requests lay the ground work for further React integration. You'll see some @todo tags, some of it is early stages, but we agree with @sminnee's guidance that we should try to integrate early and often in our product development cycle.

Checked out these changes last night and couldn’t spot any regressions, so +1 from me

I've reviewed and I'm happy, with +1 from Loz I'm merging.


SignaturePad not working with Webpack 2

Found a bug when attempting to use signature_pad with Webpack 2!
My project is using the newest version of Create React App. Using SignaturePad with previous versions of Create React App worked as expected, but a bug appeared when they upgraded to Webpack 2. Therefore, I am pretty confident that it specifically has to do with Webpack 2's new import/export mechanisms.
What is the current behavior?
When attempting to create a new instance of SignaturePad, the app crashes with a specific webpack-related error:

What is the expected behavior?
The instance should be created as expected, without the crash.
Which versions of SignaturePad, and which browser / device are affected by this issue? Did this work in previous versions of SignaturePad?
This appears to happen in both Chrome and Safari.

@taylorlapeyre Thanks for the report. It's really strange, because it looks like instead of returning the actual JS code, it returns a path to a file, i.e.
this: __WEBPACK_IMPORTED_MODULE_1_signature_pad___default.a equals this: "/static/media/signature_pad.2ceae229.mjs".
I'll try to find out what's wrong, but if anyone has any idea and could create a PR with a fix, it would be awesome.

@taylorlapeyre I figured out what's wrong and I think it's actually a bug in react-create-app, though I could easily fix it in here as well. The issue is that Webpack 2 loads the ES6 version, which is in signature_pad.mjs file, but I guess Webpack configuration in react-create-app doesn't know how to handle files with .mjs extension - that's why it returns a filename.

@szimek ahh, that makes sense. I think that the fix should probably be in Create React App in this case. Do you want to make a PR over there? I can also take it if you give me a starting point to go off of 🙂

Just for the record - the workaround for us was simply directly copying the signature_pad.js file into our src directory. Once we did that, we were able to import it as expected.

Thanks so much for the quick reply on this, @szimek. I work with @taylorlapeyre... Just forked the repo and changed the build process to write out a .js file instead of the .mjs file. I can confirm that totally works in our create-react-app context! But yes, sounds like more of an issue on their end since mjs is a thing.

once again, huge props to @szimek for already taking this to CRA... doesn't look like they are very interested in supporting mjs though... woof.

Yeah, however it might make sense to simply rename this file to signature_pad.es6.js to make sure it's supported everywhere. However, again, renaming dist files requires a major release, so this might need to wait a while. I need to check out another issue related to default vs named export that also requires a major release (#240). Maybe I'll just do them both at the same time.

A better workaround is to import directly the js file
import SignaturePad from 'signature_pad/dist/signature_pad.js';

Thank you for the workaround, importing from signature_pad/dist/signature_pad.js works for us atm.
There is an official recommendation from Facebook as to how this could be handled.
Basically they suggest that ES6 cannot be considered fully supported for another couple years, therefore libraries should publish ES5 code. See this section in the readme:
https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#npm-run-build-fails-to-minify
Thought I'd let you know.


Adds an async SPARQL JSON results reader

Same design as the other parsers: a state machine fed by events (here JSON events)

@nyurik If you have some time review on this MR would be very welcome. The code is quite hugly but I am not sure there is a better way to make the code work in both sync and async cases.

Thank you for the review!


feat: Add uncertainty bands to stack hists

* Use hist.Hist histograms instead of numpy histograms for plot.stack_hist
* Add plotting of the statistical uncertainty on stack hists using ax.bar
* Add 'logy' kwarg to control if plot.stack_hist vertical axis is log based
* Update example notebook

Thanks to @alexander-held for the example of how to do this in cabinetry.

cc @JCZeng1


[WIP] Update profile page

This pull request:

Sets up integration tests with capybara
Implements simple tests for the homepage links and for the "edit profile" page
Removes the three fields that we discussed
Fixes a bug -- going to the /account page with no logged in user resulted in an error

It's still a work in progress, because we found a problem with my sublime text setup and all the files have tabs instead of spaces :). We'll fix this and let you know, but in the mean time you can take a look at the code and comment.

Looking good so far! :sunglasses: Make sure to set Sublime to use two spaces for indentation instead of tabs.


🐛Bug: Popover jumps to random location on close when it's parent is relative

Describe the bug
When yoy have a trigger and content inside a relative element (ex, div) when the popover closes it jumps to a random position
He is an example -> https://stackblitz.com/edit/node-kumaq4?file=src%2Froutes%2F%2Bpage.svelte
On line 9 I have the relative class. If this is removed, there is no issue.
Note: I have increased the out:fade to a big number so you see it. If this is a small number like 200ms, it appears like a flicker
To Reproduce
Steps to reproduce the behavior:

Open the stackblitz
Open the popover
Click outside the popover
Remove the relative class on line 9
Redo steps 2 and 3; no issue

Expected behavior
Remain in place during an out:fade, even if the parent is relative
Screenshots
Desktop (please complete the following information):

OS: MacOS
Browser: Firefox, Safari, Chrome

Smartphone (please complete the following information):
n/a
Additional context
n/a

Hmm, since svelte transitions are being used, I wouldn't exactly call this a bug... We portal the popover to the body when it's open. As soon as it stops being open, the portal stops being active, and it enters the normal content flow.
We'd probably have to give an option to force the portal, and content, to be active at all times (with a forceMount option). And this way, you'll control the open state or not.

I see. So the idea is you can have a transition in but not out? When it closes it should disappear immediately?

I see. So the idea is you can have a transition in but not out? When it closes it should disappear immediately?

Currently, yes, as a limitation. But with forceMount you probably could have both

Closing in favor of #70


chore(palette): small typings adjust for palette new version

Description
Use the right textVariant type in MoneyInput.tsx. This was screaming when I tested with the new palette bump that's in the oven.
PR Checklist

[ ] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

small typings adjust in the MoneyInput component - araujobarret

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (small typings adjust in the MoneyInput component - araujobarret)

  Generated by :no_entry_sign: dangerJS against 247542fdbdd258c4dca7611d950e4bdc15260349


feat(konnect): allow specifying api hostname in values, release 2.17.0-rc.2

What this PR does / why we need it:
Allows specifying a full API hostname for the Konnect integration instead of just a region. It's to easily and uniformly switch not only between regions but also between environments.
Which issue this PR fixes
Part of #740.
Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] PR is based off the current tip of the main branch.
[x] Changes are documented under the "Unreleased" header in CHANGELOG.md
[x] New or modified sections of values.yaml are documented in the README.md
[x] Commits follow the Kong commit message guidelines

How about a changelog entry 🙃 ?

There's already a generic changelog for the Konnect integration and it still holds so I decided to not add nothing more:

Added experimental support for the ingress controller's Konnect sync feature via ingressController.konnect.* values.
This feature is only available when deploying chart with Kong Ingress Controller in version 2.9 or higher and
requires ingressController.gatewayDiscovery.enabled set to true.

@pmalek There's already a generic changelog for the Konnect integration and it still holds so I decided to add nothing more:

Added experimental support for the ingress controller's Konnect sync feature via ingressController.konnect.* values.
This feature is only available when deploying chart with Kong Ingress Controller in version 2.9 or higher and
requires ingressController.gatewayDiscovery.enabled set to true.

Oh, alright. This makes sense 👍


Getting Below error while installing push-jobs cookbook on node -- OS is redhat

[2015-12-24T03:45:25-05:00] INFO: ['push_jobs']['package_url'] and ['push_jobs']['package_checksum'] not set. Chef Push client will be installed from CHEF's public repositories.
Converging 10 resources
Recipe: push-jobs::linux
  * chef_ingredient[push-client] action install[2015-12-24T03:45:25-05:00] INFO: Processing chef_ingredient[push-client] action install (push-jobs::linux line 47)

  Recipe: <Dynamically Defined Resource>
    * chef_gem[mixlib-install] action install[2015-12-24T03:45:25-05:00] INFO: Processing chef_gem[mixlib-install] action install (dynamically defined)
WARN: Unresolved specs during Gem::Specification.reset:
      httpclient (>= <IP_ADDRESS>, ~> 2.2)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
 (up to date)

    ================================================================================
    Error executing action `install` on resource 'chef_ingredient[push-client]'
    ================================================================================

    LoadError
    ---------
    cannot load such file -- mixlib/install/product

    Cookbook Trace:
    ---------------
    /var/chef/cache/cookbooks/chef-ingredient/libraries/helpers.rb:86:in `ensure_mixlib_install_gem_installed!'
    /var/chef/cache/cookbooks/chef-ingredient/libraries/helpers.rb:39:in `ingredient_package_name'
    /var/chef/cache/cookbooks/chef-ingredient/libraries/rhel_handler.rb:67:in `block in configure_package'
    /var/chef/cache/cookbooks/chef-ingredient/libraries/rhel_handler.rb:65:in `configure_package'
    /var/chef/cache/cookbooks/chef-ingredient/libraries/rhel_handler.rb:21:in `handle_install'
    /var/chef/cache/cookbooks/chef-ingredient/libraries/chef_ingredient_provider.rb:54:in `block in <class:ChefIngredient>'

    Resource Declaration:
    ---------------------
    # In /var/chef/cache/cookbooks/push-jobs/recipes/linux.rb

     47: chef_ingredient 'push-client' do
     48:   version package_version || node['push_jobs']['package_version']
     49:   package_source "#{Chef::Config[:file_cache_path]}/#{package_file}" if package_url
     50: end
     51:

    Compiled Resource:
    ------------------
    # Declared in /var/chef/cache/cookbooks/push-jobs/recipes/linux.rb:47:in `from_file'

    chef_ingredient("push-client") do
      action [:install]
      retries 0
      retry_delay 2
      default_guard_interpreter :default
      declared_type :chef_ingredient
      cookbook_name "push-jobs"
      recipe_name "linux"
      product_name "push-client"
    end

[2015-12-24T03:45:26-05:00] INFO: Running queued delayed notifications before re-raising exception

Running handlers:
[2015-12-24T03:45:26-05:00] ERROR: Running exception handlers
Running handlers complete
[2015-12-24T03:45:26-05:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 02 seconds
[2015-12-24T03:45:26-05:00] INFO: Sending resource update report (run-id: 9ca8ca9a-95f9-4c95-84ec-ac6b1c08f359)
[2015-12-24T03:45:26-05:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2015-12-24T03:45:26-05:00] ERROR: chef_ingredient[push-client] (push-jobs::linux line 47) had an error: LoadError: cannot load such file -- mixlib/install/product
[2015-12-24T03:45:26-05:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

Hi, I got this error recently.
I fixed it by upgrading the chef-client on the node.
Good luck!

Getting Below error while installing push-jobs cookbook on node (node is Oracle Linux 7+ of RHEL family)
$ sudo chef-client
Starting Chef Client, version 12.9.41
resolving cookbooks for run list: ["push-jobs"]
Synchronizing Cookbooks:
  - push-jobs (2.8.0)
  - runit (1.7.8)
  - packagecloud (0.2.0)
  - windows (1.41.0)
  - chef_handler (1.4.0)
  - chef-ingredient (0.18.4)
Installing Cookbook Gems:
Compiling Cookbooks...
Converging 12 resources
Recipe: push-jobs::install
  * remote_file[/var/chef/cache/push-jobs-client-2.1.0-1.el7.x86_64.rpm] action create (up to date)
  * chef_ingredient[push-jobs-client] action install
  Recipe: <Dynamically Defined Resource>
    * chef_gem[mixlib-install] action install (up to date)
    * ruby_block[stop chef run] action nothing (skipped due to action :nothing)
    * yum_package[push-jobs-client] action install (up to date)
     (up to date)
Recipe: push-jobs::config
  * directory[/etc/chef] action create (up to date)
  * template[/etc/chef/push-jobs-client.rb] action create (up to date)
Recipe: runit::default
  * service[runit] action nothing (skipped due to action :nothing)
  * execute[start-runsvdir] action nothing (skipped due to action :nothing)
  * execute[runit-hup-init] action nothing (skipped due to action :nothing)
  * packagecloud_repo[imeyer/runit] action add

    ================================================================================
    Error executing action `add` on resource 'packagecloud_repo[imeyer/runit]'
    ================================================================================

    RuntimeError
    ------------
    #<Net::HTTPNotFound 404 Not Found readbody=true>

    Cookbook Trace:
    ---------------
    /var/chef/cache/cookbooks/packagecloud/libraries/helper.rb:20:in `get'
    /var/chef/cache/cookbooks/packagecloud/providers/repo.rb:80:in `install_rpm'
    /var/chef/cache/cookbooks/packagecloud/providers/repo.rb:12:in `block in class_from_file'

    Resource Declaration:
    ---------------------
    # In /var/chef/cache/cookbooks/runit/recipes/default.rb

     42:   packagecloud_repo 'imeyer/runit' unless node['runit']['prefer_local_yum']
     43:   package 'runit'

    Compiled Resource:
    ------------------
    # Declared in /var/chef/cache/cookbooks/runit/recipes/default.rb:42:in `from_file'

    packagecloud_repo("imeyer/runit") do
      action [:add]
      retries 0
      retry_delay 2
      default_guard_interpreter :default
      declared_type :packagecloud_repo
      cookbook_name "runit"
      recipe_name "default"
      type "rpm"
      base_url "https://packagecloud.io"
      repository "imeyer/runit"
    end

    Platform:
    ---------
    x86_64-linux

Running handlers:
[2016-05-24T22:01:07+05:30] ERROR: Running exception handlers
Running handlers complete
[2016-05-24T22:01:07+05:30] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 08 seconds
[2016-05-24T22:01:08+05:30] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2016-05-24T22:01:08+05:30] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2016-05-24T22:01:08+05:30] ERROR: packagecloud_repo[imeyer/runit] (runit::default line 42) had an error: RuntimeError: #<Net::HTTPNotFound 404 Not Found readbody=true>
[2016-05-24T22:01:08+05:30] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

above error i am getting even after follow steps mentioned on the below link:
https://docs.chef.io/install_push_jobs.html

@abhi-paul The error you're seeing here is in the runit cookbook. It looks like there's a 404 being thrown when the runit cookbook tries to subscribe to the runit Packagecloud repository, to get the runit package.
Recipe: runit::default
  * service[runit] action nothing (skipped due to action :nothing)
  * execute[start-runsvdir] action nothing (skipped due to action :nothing)
  * execute[runit-hup-init] action nothing (skipped due to action :nothing)
  * packagecloud_repo[imeyer/runit] action add

    ================================================================================
    Error executing action `add` on resource 'packagecloud_repo[imeyer/runit]'
    ================================================================================

    RuntimeError
    ------------
    #<Net::HTTPNotFound 404 Not Found readbody=true>

    Cookbook Trace:
    ---------------
    /var/chef/cache/cookbooks/packagecloud/libraries/helper.rb:20:in `get'
    /var/chef/cache/cookbooks/packagecloud/providers/repo.rb:80:in `install_rpm'
    /var/chef/cache/cookbooks/packagecloud/providers/repo.rb:12:in `block in class_from_file'

    Resource Declaration:
    ---------------------
    # In /var/chef/cache/cookbooks/runit/recipes/default.rb

     42:   packagecloud_repo 'imeyer/runit' unless node['runit']['prefer_local_yum']
     43:   package 'runit'

    Compiled Resource:
    ------------------
    # Declared in /var/chef/cache/cookbooks/runit/recipes/default.rb:42:in `from_file'

    packagecloud_repo("imeyer/runit") do
      action [:add]
      retries 0
      retry_delay 2
      default_guard_interpreter :default
      declared_type :packagecloud_repo
      cookbook_name "runit"
      recipe_name "default"
      type "rpm"
      base_url "https://packagecloud.io"
      repository "imeyer/runit"
    end

Your node is behind a firewall? It has Internet connectivity?

Consider pre-installing runit and set ```default['runit']['prefer_local_yum'] = true``

@ankushgupta If you're using RHEL 7+ or Ubuntu this cookbook will no longer require Runit, which will resolve the issues you're seeing here. Unfortunately RHEL 6 is still going to have this problem as it doesn't have a reliable init system so Runit is used instead.

@tas50 So would the install on RHEL7+ complete without runit preinstalled? Thanks

So without runit pre-installed on RHEL7 this will just work. Closing.


⚠ Ixtanet SAT has degraded performance

In 54f9e29, Ixtanet SAT ($MEDIA_SAT) experienced degraded performance:

HTTP code: 200
Response time: 20495 ms

Resolved: Ixtanet SAT performance has improved in 184d88a after 290 days, 15 hours, 47 minutes.


Tablet doesn't have the navigation bar after the new update

I don't see navbar at all, this happened after the new update.
My device is OnePlus pad.

 I'm also going to manually trigger a new open beta build, if you want to help test this out before a full release you can opt into the beta from the links in the README and let me know.

Aah no worries. I've signed up for beta, glad to help. Thanks a lot.

I've triggered a new stable release, it'll be uploaded to Google Play in the next 15 minutes and become available in a couple hours tops. Thanks for the report!


Move contents of sim

When writing the docs I realize that the sim module isn't really a reasonable simulation of anything, I don't think it should be either. It should either be used to demo (in the tutorials) or in testing (e.g. a OneOfEveryTypeDevice). I suggest we move ophyd_async.sim.demo -> ophyd_async.demo and ophyd_async.sim.testing -> ophyd_async.testing. This gives us a nice synergy with the epics subpackage:

Building blocks
Devices for tutorial
For testing core

ophyd_async.core
ophyd_async.demo
ophyd_async.testing

ophyd_async.epics.core
ophyd_async.epics.demo
ophyd_async.epics.testing

ophyd_async.tango.core
ophyd_async.tango.demo
ophyd_async.tango.testing

@jwlodek @genematx thoughts?

Sounds sensible to me; thanks for asking, @coretl. I've been always reading sim here as "simulated devices for demo purposes".

Change all the demo words to sim


Doesn't works for me

Hi, i've tried your component and it doesn't works for me. Could you provide an example of component's use? Thank's a lot!

@lokk3d
here!
https://codesandbox.io/s/strange-jones-i1j67


fix tests

Fix tests so they work with all new changes.
Updated Makefile and github workflow so that can have
consistent make test local and in action in one command.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#193  👈
#192
#191
#190
#189
#188
#187
master

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

Join @chrisaddy and the rest of your teammates on  Graphite


[New Port Request] libtomcrypt

Library name: libtomcrypt
Library description: LibTomCrypt is a fairly comprehensive, modular and portable cryptographic toolkit that provides developers with a vast array of well known published block ciphers, one-way hash functions, chaining modes, pseudo-random number generators, public key cryptography and a plethora of other routines.
Source repository URL: https://github.com/libtom/libtomcrypt
Project homepage (if different from the source repository): https://www.libtom.net
Anything else that is useful to know when adding (such as optional features the library may have that should be included): requires libtommath

https://github.com/microsoft/vcpkg/issues/10466
https://github.com/microsoft/vcpkg/issues/10947


Switch to using npm and node 16

This PR implements the following changes...

Switch from using yarn to npm.
Update node requirement to v.16+.

This is a breaking change, it should be released in v2.0.0 rather than v1.3.0

@chenjiahan the main change here is the removal of Node v.14+. I agree it might be better to do this with a major version, but what is done is done. What do you suggest we do now?

Some repos in our organization has locked the zod-validation-error version to remain compatible with Node.js 14.

https://github.com/web-infra-dev/rspack/pull/3510
https://github.com/web-infra-dev/modern.js/pull/3932

It would be great if we could add the "node": "^14.17 || >=16.0.0" back and release a new patch version 😄


tests: fix Github action to run tests (merged PRs into develop)

Right now the action is not running the unit tests:
Github action YML

Error: Command failed with EACCES: /home/runner/work/crypto-cli/crypto-cli/dist/index.js --price bitcoin

https://github.com/Zidious/crypto-cli/pull/21


Add test for function strwidth()

This PR adds a test for function strwidth() which was not tested
according to codecov:
https://codecov.io/gh/vim/vim/src/master/src/evalfunc.c#L11816

Codecov Report

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

@@            Coverage Diff             @@
##           master    #2931      +/-   ##
==========================================
+ Coverage   75.34%   75.67%   +0.32%
==========================================
  Files          92       92
  Lines      132552   135019    +2467
==========================================
+ Hits        99871   102171    +2300
- Misses      32681    32848     +167

Impacted Files
Coverage Δ

src/if_python3.c
74.8% <0%> (-1.38%)
:arrow_down:

src/if_python.c
76.55% <0%> (-1.31%)
:arrow_down:

src/spellfile.c
73.94% <0%> (-1.05%)
:arrow_down:

src/if_perl.xs
85.86% <0%> (-0.36%)
:arrow_down:

src/netbeans.c
27.03% <0%> (-0.28%)
:arrow_down:

src/libvterm/src/screen.c
58.97% <0%> (-0.25%)
:arrow_down:

src/if_lua.c
54.17% <0%> (-0.16%)
:arrow_down:

src/main.c
57.51% <0%> (-0.16%)
:arrow_down:

src/eval.c
81.55% <0%> (-0.11%)
:arrow_down:

src/regexp.c
82.61% <0%> (-0.08%)
:arrow_down:

... and 67 more

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 d19b234...75a56e0. Read the comment docs.


Test suite failure due to missing files

  parseConfigInvalidArgCombination: OK
  unitTestsDiscovered:              OK
  integrationTestsDiscovered:       FAIL
    Exception: integration-test/: getDirectoryContents: does not exist (No such file or directory)
  exampleTestsDiscovered:           FAIL
    Exception: example/: getDirectoryContents: does not exist (No such file or directory)
  getListOfTests:                   FAIL
    Exception: test/tmpdir/: getDirectoryContents: does not exist (No such file or directory)
  getListOfTestsWithSuffix:         FAIL
    Exception: test/tmpdir/: getDirectoryContents: does not exist (No such file or directory)
  findTests:                        FAIL
    Exception: test/tmpdir/: getDirectoryContents: does not exist (No such file or directory)
  fileToTest:                       OK
  getFilesRecursive:                FAIL
    Exception: test/tmpdir/: getDirectoryContents: does not exist (No such file or directory)
  isValidModuleChar:                OK
  isValidModuleName:                OK

Done with https://github.com/lwm/tasty-discover/commit/488d44b9ef359712431039b422d1410d6a0363ae. Should be good to go @snoyberg!


[Snyk] Security upgrade @backstage/types from 0.0.0-use.local to 0.1.1

Snyk has created this PR to fix 1 vulnerabilities in the yarn dependencies of this project.
Snyk changed the following file(s):

plugins/scaffolder-common/package.json

Note for zero-installs users
If you are using the Yarn feature zero-installs that was introduced in Yarn V2, note that this PR does not update the .yarn/cache/ directory meaning this code cannot be pulled and immediately developed on as one would expect for a zero-install project - you will need to run yarn to update the contents of the ./yarn/cache directory.
If you are not using zero-install you can ignore this as your flow should likely be unchanged.

⚠ Warning
Failed to update the yarn.lock, please update manually before merging.

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Improper Input Validation SNYK-JS-NANOID-8492085
  44

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Improper Input Validation

:tada: Snyk checks have passed. No issues have been found so far.
:white_check_mark: security/snyk check is complete. No issues have been found. (View Details)
:white_check_mark: license/snyk check is complete. No issues have been found. (View Details)


Git log showing raw GPG output as commits

Before proceeding...

[X] My CLIs meet the minimum version requirements
[X] I have read through the troubleshooting guide
[X] If I updated fzf.fish for the first time in over 6 months, I read the migration guides to make sure I'm caught up

Describe the bug
If you happen to have GPG signed commits and your repo or global git configuration showw GPG signatures by default (setting showSignature = true on the repo or the global .gitconfig) , the signatures appear on the git log as entries that parse with errors. An example is this very repo, see the capture below:

with my global .gitconfig being like this:
[user]
        signingKey = xxxx
        name = xxx
        email = xxx
[commit]
        gpgSign = true
[core]
        editor = vim
[gpg]
        program = gpg
[log]
        showSignature = true
[init]
        defaultBranch = master

If you force git to not show GPG signatures (by commenting showSignature = true), this of course disappears

but I see this suboptimal since it hides the signature information
Steps to reproduce
Use git log on a repo with gpg-signed commits
Environment
Versions installed:

Fish: 3.5.1
fzf.fish: 9.5
terminal: Konsole
OS: Arch Linux

Which, if any, configuration variables such as fzf_preview_file_cmd are set?
None
Additional context
None

I opened https://github.com/PatrickF1/fzf.fish/pull/287 that adds a new flag to indicate the status of the signature, as per git log's %G? flag. The values are:

show "G" for a good (valid) signature, "B" for a bad signature, "U" for a good signature with unknown validity, "X" for a good signature that has expired, "Y" for a good signature made by an expired key, "R" for a good signature made by a revoked key, "E" if the signature cannot be checked (e.g. missing key) and "N" for no signature

For "E" (can't verify signature) it looks like this:

and for "G" (good valid signature) it looks like this:

and I can't really test the other use cases 😅

I know this is slightly tangential to the bug, but I want to make sure I understand exactly what is happening and how GPG integrates with git before I fix the bug. When the error message says gpg: Can't check signature: No public key, is that because it found a signed commit but can't verify the signature because your gpg config doesn't have the public key used to sign that signature?

it found a signed commit but can't verify the signature because your gpg config doesn't have the public key used to sign that signature

Exactly this. The user's keyring does not contain a public key paired to the private key used to generate the signature


irmin-pack: Add sequential accessors & clean dispatcher

This PR adds:

2 accessors that uses physical offsets instead of the virtual offsets
A generator for sequences of accessors that iterates trough all physical offsets of a pack file.
It also removes:
The root filed of Dispatcher.t, as it is never used.

Codecov Report

Merging #2090 (f66d223) into main (368f671) will decrease coverage by 0.14%.
The diff coverage is 7.14%.

@@            Coverage Diff             @@
##             main    #2090      +/-   ##
==========================================
- Coverage   64.75%   64.60%   -0.15%
==========================================
  Files         132      132
  Lines       15658    15696      +38
==========================================
+ Hits        10139    10141       +2
- Misses       5519     5555      +36

Impacted Files
Coverage Δ

src/irmin-pack/unix/gc.ml
40.54% <0.00%> (ø)

src/irmin-pack/unix/dispatcher.ml
51.18% <2.56%> (-21.86%)
:arrow_down:

src/irmin-pack/unix/ext.ml
61.94% <100.00%> (ø)

src/irmin-pack/unix/snapshot.ml
77.34% <100.00%> (ø)

src/irmin-fs/irmin_fs.ml
81.21% <0.00%> (-1.22%)
:arrow_down:

src/irmin-fs/unix/irmin_fs_unix.ml
68.38% <0.00%> (+0.64%)
:arrow_up:

src/irmin/watch.ml
80.98% <0.00%> (+2.11%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


How to configure what gets copied to Java directory?

Hello,
I have a build.gradle that probably isn't standard (it works, but I am fairly new to gradle).  My app generates Android and iOS apps from a library of content.  So it has a lot of related resources needed for it.
So I have a whole directory structure that needs to copied to the Java directory.  The code expects these resources to be together:
/bin/scripture-app-builder.jar
/bin/lib/x86_64/.dylib
/fonts/ (custom fonts)
/html/* (template html files)
/images/icons/*
/info/* (localization strings)
/ios/* (template iOS App)
/lib/* (android libraries)
/tools/* (related tools needed for building android app -- gradle, maven)
How do I override what gets copied to the Java directory?  The only thing that is getting copied now is "release.jar" and I don't think it is the correct thing.
Thanks,
Chris

Couple of options, you might find it is better to treat all of these as resources to be packaged in your app's jar. You can do this by simply placing them in the src/main/resources dir in your gradle build. Gradle will put them in the jar and then they will be included with your app. This is probably the safest and most "gradle" way to do it. You can read about resource in the "Source Sets" and project layout in the Java section of the gradle docs:
https://docs.gradle.org/current/userguide/java_plugin.html
However, if you really want to just copy the files, there is nothing wrong with creating a task to do the copy into build/macapp/.app/Contents/Java. See the docs on gradle's copy task here:
https://docs.gradle.org/current/dsl/org.gradle.api.tasks.Copy.html
You would then want to make the createApp task depend on your copy task so it is executed in the right order.


Revert "Jvenstad/reapply deployment graph api additions"

Reverts vespa-engine/vespa#12114
Requests to /deployment/v1 return
{"error-code":"INTERNAL_SERVER_ERROR","message":"NullPointerException"}
log on controller:
[2020-02-07 17:15:55.944] WARNING : configserver     Container.com.yahoo.vespa.hosted.controller.restapi.deployment.DeploymentApiHandler 	Unexpected error handling 'https://api-cd.vespa.corp.yahoo.com:4443/deployment/v1/' 	exception= 	java.lang.NullPointerException 	at com.yahoo.vespa.hosted.controller.deployment.DeploymentStatus$JobStepStatus.<init>(DeploymentStatus.java:504) 	at com.yahoo.vespa.hosted.controller.deployment.DeploymentStatus$JobStepStatus$3.<init>(DeploymentStatus.java:594) 	at com.yahoo.vespa.hosted.controller.deployment.DeploymentStatus$JobStepStatus.ofTestDeployment(DeploymentStatus.java:594)

I don't think this is because of the PR reverted here.

Well, requests to  /deployment/v1 started working after the version with this revert was released

Ok ... >_<

Aha.


FLOW-67: ACL endpoints for policies and policy groups

This PR adds:
FLOW-155: ACL access for policies and policy groups (both read and write) to oc_erchef
FLOW-156: pedant test coverage for the endpoints

:+1: MWR

:+1: Looks reasonable


Append the data:image/png,base64: prefix to the string returned by App.Icon

As requested by @hzrd149 in this [thread] (https://nostrudel.ninja/#/n/nevent1qyghwumn8ghj7mn0wd68ytnhd9hx2tcpzfmhxue69uhkummnw3e82efwvdhk6tcprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsz8rhwden5te0wdshgetvd35hgefwdpa8yep3xsujucm0d5hszxthwden5te0wfjkccte9eeksctjv4nkzupwdejhgtcpr4mhxue69uhkummnw3ez6vp39eukz6mfdphkumn99e3k7mf0qythwumn8ghj7cn5vvhxkmr9dejxz7n49e3k7mf0qyt8wumn8ghj7etyv4hzumn0wd68ytnvv9hxgtcprpmhxue69uhkxetvd3shytnwdaehgu3wwa5kuef0qythwumn8ghj7ct5d3shxtnwdaehgu3wd3skuep0qqsg4t00x908n9vpcdyqxev566d7g85fqc2532p2uaydc04umnjqncqsvjax5)

As per the pull request, I've uploaded a new version to npmjs that has a modified AppInfo API which includes a iconUrl member with the data: prefixed to the base64 encoded icon data:
export interface AppInfo {
  name: string;        // The name of the app as it appears in the System launcher
  packageName: string; // The package name of the app - pass this to setPackageName
  iconData: string;    // the base 64 encoded string of the app's icon
  iconUrl: string;    // the url to app's icon
}