Add OpenCL 2.2 support with OpenCL C++

To support better modularity, composability, really useful constructs such as classes, lambdas, and templates, compile time polymorphism (very useful for performance gains over C and has a large following in CUDA), genericity including the use of type traits, and ultimately sophisticated maximum performance focused device-side libraries such as CUB, please support OpenCL C++ in ROCm.
While ROCm already supports multiple families (HCC, OpenMP, HIP, AMP?) offering similar capabilities in separate components, none offer the simultaneous promise of an industry backed standard and a fine level control. HCC/AMP/OpenMP lack finer levels of control (in particular memory related) necessary for the highest performance code. HCC effectively compare to the vendor lock-in CUDA offers, although the project is opensource, and this ultimately islands code, in a sense.  This choice over vendors (or similarly unreliance on a single vendor) is often what drives the choice of developers and project managers to invest in OpenCL.  HIP is the most attractive option of these and essentially CUDA-lite, but not quite in runtime or operations supported and its not clear what it does and doesn't have - which is to say it doesn't follow a standard in earnest.  One more feature OpenCL has on all of these approaches is JIT compilation  - an incredibly powerful option in the right hands (Watch this GTC video of NVidia's Jitify project for a great overview of the technique and it's importance, which OpenCL made easy from day 1!)
ROCm has the opportunity to be first for widespread conformance and whip the rest of industry into shape.  It is not clear, with the exception of HIP, why someone would choose to invest in the other options over OpenCL C++ when they do not offer the promise of an industry standard and inherent performance from tighter control (gauging HCC and OpenMP as comparable to AMP).
Please keep this ticket open to collect support.
This slide mentions a birds eye view of the feature, original source is slide 5 from The 2016 OpenCL state of the union.  Note this feature was added ala carte to OpenCL 2.1, but more in the family in OpenCL 2.2.

Note: This is a  Request for Comment (RFC)  on the desire to extend our OpenCL Library and Compiler to be extended to support  OpenCL C++ conforming the 2.2 Specification running on the ROCm platform in addition to the ROCm platforms already enabled two  C++ enabled languages listed bellow.
On this project, note now that we have open sourced our OpenCL Runtime and Compiler frontend this could be done via community developments.
Current C++ enabled ROCm Languages

HCC a single Source Parallel C++  this compiler will also have OpenMP 4.5/5.0 support for C & C++

HCC support classes, lambdas, and templates, and compile time polymorphism it builds on the ISO  C++ 14 and C++ 17 standard.   We are building out Parallel STL library for HCC.

HIP which is Static C++ Kernel language with c time api.   Which is similar to the Cuda API.

Ports of CUB, Thrust and NCCL are under development will be released this summer.

Of those languages listed, OpenCL is the only one that's an open standard. Additionally, there are projects invested in OpenCL many risking technical debt and wasted effort by keeping OpenCL support alive essentially only for AMD GPUs -- a good example being the project I'm involved in (despite the rather low user-interest).
It's a bit worrying that to an RFE requesting that AMD catches up with the standard after an understandable step backward (from OpenCL 2.0), the answer is that the community "could do it". While others could indeed do it, is it likely that it will just organically happen given that as far as I can tell there is very little in terms of OSS community around ROCm? Are there any stakeholders that showed interest to do the work and have made plans or perhaps are already working on it? I think the community would appreciate knowing that continued OpenCL investment is worth it.
Overall, I applaud the efforts to release a fully open GPU compute stack and I'm hoping we'll see soon plans of a path forward to supporting the more recent versions of the OpenCL standard.

We moving to opencl 2.1  in a future release. So we have all platforms supported windows  and Linux. Still working on timing.   Note  we getting traction more on HIP.
Get Outlook for iOShttps://aka.ms/o0ukef
On Thu, Jul 13, 2017 at 4:00 PM -0500, "Szilárd Páll" <notifications<EMAIL_ADDRESS>wrote:
Of those languages listed, OpenCL is the only one that's an open standard. Additionally, there are projects invested in OpenCL many risking technical debt and wasted effort by keeping OpenCL support alive essentially only for AMD GPUs -- a good example being the project I'm involved in (despite the rather low user-interest).
It's a bit worrying that to an RFE requesting that AMD catches up with the standard after an understandable step backward (from OpenCL 2.0), the answer is that the community "could do it". While others could indeed do it, is it likely that it will just organically happen given that as far as I can tell there is very little in terms of OSS community around ROCm? Are there any stakeholders that showed interest to do the work and have made plans or perhaps are already working on it? I think the community would appreciate knowing that continued OpenCL investment is worth it.
Overall, I applaud the efforts to release a fully open GPU compute stack and I'm hoping we'll see soon plans of a path forward to supporting the more recent versions of the OpenCL standard.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/RadeonOpenCompute/ROCm/issues/159#issuecomment-315200929, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AD8DucJFUIvmxsAZb9vyL6hX_3zO_UX-ks5sNoVrgaJpZM4OTTf4.

RFE is for a solution no company supports in opencl community today.
Get Outlook for iOShttps://aka.ms/o0ukef
On Thu, Jul 13, 2017 at 4:00 PM -0500, "Szilárd Páll" <notifications<EMAIL_ADDRESS>wrote:
Of those languages listed, OpenCL is the only one that's an open standard. Additionally, there are projects invested in OpenCL many risking technical debt and wasted effort by keeping OpenCL support alive essentially only for AMD GPUs -- a good example being the project I'm involved in (despite the rather low user-interest).
It's a bit worrying that to an RFE requesting that AMD catches up with the standard after an understandable step backward (from OpenCL 2.0), the answer is that the community "could do it". While others could indeed do it, is it likely that it will just organically happen given that as far as I can tell there is very little in terms of OSS community around ROCm? Are there any stakeholders that showed interest to do the work and have made plans or perhaps are already working on it? I think the community would appreciate knowing that continued OpenCL investment is worth it.
Overall, I applaud the efforts to release a fully open GPU compute stack and I'm hoping we'll see soon plans of a path forward to supporting the more recent versions of the OpenCL standard.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/RadeonOpenCompute/ROCm/issues/159#issuecomment-315200929, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AD8DucJFUIvmxsAZb9vyL6hX_3zO_UX-ks5sNoVrgaJpZM4OTTf4.

@pszi1ard  we have not seen any industry traction on c++ version of opencl.  Check Intel, Nvidia, and Apple.

@gstoner I think that's because compilers for these purposes are hard work and we've had to take what we could get as developers, not because of community disinterest.  The support for versions of OpenCL is all over the place, tending towards the 1.2 side - without that being higher, it suggests C++ was never a possibility because of the large technical gap.

That is the issue opencl1.2 is the defacto standard.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Jason Newton <notifications<EMAIL_ADDRESS>Sent: Thursday, July 13, 2017 5:40 PM
Subject: Re: [RadeonOpenCompute/ROCm] Add OpenCL 2.2 support with OpenCL C++ (#159)
To: RadeonOpenCompute/ROCm <rocm<EMAIL_ADDRESS>Cc: Gregory Stoner <gstoner<EMAIL_ADDRESS>Mention <mention<EMAIL_ADDRESS>@gstonerhttps://github.com/gstoner I think that's because compilers for these purposes are hard work and we've had to take what we could get as developers, not because of community disinterest. The support for versions of OpenCL is all over the place, tending towards the 1.2 side - without that being higher, it suggests C++ was never a possibility because of the large technical gap.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/RadeonOpenCompute/ROCm/issues/159#issuecomment-315221296, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AD8DuW4csKXCSzl4Ei6ewKi0pbI4aQlnks5sNpzrgaJpZM4OTTf4.

Also HCC follows ISO C++.standard. Built on one of the best implementations with clang,  Which is a industry standard.   For C++ the community we talk to broadly wants us engaged in ISO standards body for our C++ work not other bodies.
Get Outlook for iOShttps://aka.ms/o0ukef

@gstoner thanks for this info. I think it would be help to have a roadmap for HIP development, so that developers will feel confident investing time in it. Will it eventually match all of the capabilities of OpenCL 2, for example ? And be cross platform ?  I've been developing OpenCL apps for the past 3 years, but because of nVidia lock-in behaviour, I need another solution for their platform, which is the vast majority of discrete graphics cards at the moment, (hopefully changing soon).  I looked at HIP, but because it is linux only at the moment, I'm afraid I'm going to have to bite the bullet and port my OpenCL code to CUDA.  This is video transcoding, not HPC or Deep Learning, so windows is a critical platform to support.
I realize there is much to do for AMD and limited resources, but I really do need a cross platform solution now, or at least a plan for getting there in the next 6-12 months.  Having a road map would help a lot.

HIP has more feature then OpenCL 2.0.  it better maps to ROCr runtime api capabilities,   We will be bring HCC and HIP to Windows, we just need to get it to feature maturity level before we moved it over.  HIP currently also run on NVIDA using there NVCC compiler.

Developers can code in C++ as well as mix host and device C++ code in their source files. HIP C++ code can use templates, lambdas, classes and so on.

HIP provides pointers and host-side pointer arithmetic.

HIP provides device-level control over memory allocation and placement.

HIP offers an offline compilation model.

Cross-lane instructions including shfl, ballot, any, all

Are you asking about GL Interop and Texture Support, these are in development.
http://rocm-developer-tools.github.io/HIP/
Table Comparing Syntax for Different Compute APIs
Term    CUDA    HIP     HC      C++AMP  OpenCL
Device  int deviceId    int deviceId    hc::accelerator concurrency::
accelerator     cl_device
Queue   cudaStream_t    hipStream_t     hc::
accelerator_view        concurrency::
accelerator_view        cl_command_queue
Event   cudaEvent_t     hipEvent_t      hc::
completion_future       concurrency::
completion_future       cl_event
Memory  void *  void *  void *; hc::array; hc::array_view       concurrency::array;
concurrency::array_view cl_mem
    grid    grid    extent  extent  NDRange
    block   block   tile    tile    work-group
    thread  thread  thread  thread  work-item
    warp    warp    wavefront       N/A     sub-group

Thread-
index   threadIdx.x     hipThreadIdx_x  t_idx.local[0]  t_idx.local[0]  get_local_id(0)
Block-
index   blockIdx.x      hipBlockIdx_x   t_idx.tile[0]   t_idx.tile[0]   get_group_id(0)
Block-
dim     blockDim.x      hipBlockDim_x   t_ext.tile_dim[0]       t_idx.tile_dim0 get_local_size(0)
Grid-dim        gridDim.x       hipGridDim_x    t_ext[0]        t_ext[0]        get_global_size(0)
Device Kernel   global global      lambda inside hc::
parallel_for_each or [[hc]]     restrict(amp)   __kernel
Device Function device device      [[hc]] (detected automatically in many case)    restrict(amp)   Implied in device compilation
Host Function   _host(default)        _host (default)       [[cpu]] (default)       restrict(cpu) (default) Implied in host compilation.
Host + Device Function  host____device host____device      [[hc]] [[cpu]]  restrict(amp,cpu)       No equivalent
Kernel Launch   <<< >>> hipLaunchKernel hc::
parallel_for_each       concurrency::
parallel_for_each       clEnqueueNDRangeKernel
Global Memory   global global      Unnecessary / Implied   Unnecessary / Implied   __global
Group Memory    shared shared      tile_static     tile_static     __local
Constant        constant constant    Unnecessary / Implied   Unnecessary / Implied   __constant
    __syncthreads   __syncthreads   tile_static.barrier()   t_idx.barrier() barrier(CLK_LOCAL_MEMFENCE)

Atomic Builtins atomicAdd       atomicAdd       hc::atomic_fetch_add    concurrency::
atomic_fetch_add        atomic_add
Precise Math    cos(f)  cos(f)  hc::
precise_math::cos(f)    concurrency::
precise_math::cos(f)    cos(f)
Fast Math       __cos(f)        __cos(f)        hc::
fast_math::cos(f)       concurrency::
fast_math::cos(f)       native_cos(f)
Vector  float4  float4  hc::
short_vector::float4    concurrency::
graphics::float_4       float4
###Notes

For HC and C++AMP, assume a captured tiled_ext named "t_ext" and captured extent named "ext". These languages use captured variables to pass information to the kernel rather than using special built-in functions so the exact variable name may vary.
The indexing functions (starting with thread-index) show the terminology for a 1D grid. Some APIs use reverse order of xyz / 012 indexing for 3D grids.
HC allows tile dimensions to be specified at runtime while C++AMP requires that tile dimensions be specified at compile-time. Thus hc syntax for tile dims is t_ext.tile_dim[0] while C++AMP is t_ext.tile_dim0.

@gstoner please make a PDF of that comparison and put it on some site

It already in the hcc and hip docs. We are working new online documentation  so it be easier to find.

Thanks, Greg. I am more excited about HIP now :)

I put the table at the bottom of this article for now.
ROCm, Lingua Franca, C++, OpenCL and Python
The open-source ROCm stack offers multiple programming-language choices. The goal is to give you a range of tools to help solve the problem at hand. Here, we describe some of the options and how to choose among them.
HCC: Heterogeneous Compute Compiler
What is the Heterogeneous Compute (HC) API? It’s a C++ dialect with extensions to launch kernels and manage accelerator memory. It closely tracks the evolution of C++ and will incorporate parallelism and concurrency features as the C++ standard does. For example, HC includes early support for the C++17 Parallel STL. At the recent ISO C++ meetings in Kona and Jacksonville, the committee was excited about enabling the language to express all forms of parallelism, including multicore CPU, SIMD and GPU. We’ll be following these developments closely, and you’ll see HC move quickly to include standard C++ capabilities.
The Heterogeneous Compute Compiler (HCC) provides two important benefits:
Ease of development
A full C++ API for managing devices, queues and events
C++ data containers that provide type safety, multidimensional-array indexing and automatic data management
C++ kernel-launch syntax using parallel_for_each plus C++11 lambda functions
A single-source C++ programming environment---the host and source code can be in the same source file and use the same C++ language; templates and classes work naturally across the host/device boundary
HCC generates both host and device code from the same compiler, so it benefits from a consistent view of the source code using the same Clang-based language parser
Full control over the machine
Access AMD scratchpad memories (“LDS”)
Fully control data movement, prefetch and discard
Fully control asynchronous kernel launch and completion
Get device-side dependency resolution for kernel and data commands (without host involvement)
Obtain HSA agents, queues and signals for low-level control of the architecture using the HSA Runtime API
Use direct-to-ISA compilation
When to Use HC
Use HC when you're targeting the AMD ROCm platform: it delivers a single-source, easy-to-program C++ environment without compromising performance or control of the machine.
HIP: Heterogeneous-Computing Interface for Portability
What is Heterogeneous-Computing Interface for Portability (HIP)? It’s a C++ dialect designed to ease conversion of Cuda applications to portable C++ code. It provides a C-style API and a C++ kernel language. The C++ interface can use templates and classes across the host/kernel boundary.
The Hipify tool automates much of the conversion work by performing a source-to-source transformation from Cuda to HIP. HIP code can run on AMD hardware (through the HCC compiler) or Nvidia hardware (through the NVCC compiler) with no performance loss compared with the original Cuda code.
Programmers familiar with other GPGPU languages will find HIP very easy to learn and use. AMD platforms implement this language using the HC dialect described above, providing similar low-level control over the machine.
When to Use HIP
Use HIP when converting Cuda applications to portable C++ and for new projects that require portability between AMD and Nvidia. HIP provides a C++ development language and access to the best development tools on both platforms.
OpenCL™: Open Compute Language
What is OpenCL? It’s a framework for developing programs that can execute across a wide variety of heterogeneous platforms. AMD, Intel and Nvidia GPUs support version 1.2 of the specification, as do x86 CPUs and other devices (including FPGAs and DSPs). OpenCL provides a C run-time API and C99-based kernel language.
When to Use OpenCL
Use OpenCL when you have existing code in that language and when you need portability to multiple platforms and devices. It runs on Windows, Linux and Mac OS, as well as a wide variety of hardware platforms (described above).
Anaconda Python With Numba
What is Anaconda? It’s a modern open-source analytics platform powered by Python. Continuum Analytics, a ROCm platform partner, is the driving force behind it. Anaconda delivers high-performance capabilities including acceleration of HSA APUs, as well as ROCm-enabled discrete GPUs via Numba. It gives superpowers to the people who are changing the world.
Numba
Numba gives you the power to speed up your applications with high-performance functions written directly in Python. Through a few annotations, you can just-in-time compile array-oriented and math-heavy Python code to native machine instructions---offering performance similar to that of C, C++ and Fortran---without having to switch languages or Python interpreters.
Numba works by generating optimized machine code using the LLVM compiler infrastructure at import time, run time or statically (through the included Pycc tool). It supports Python compilation to run on either CPU or GPU hardware and is designed to integrate with Python scientific software stacks, such as NumPy.
When to Use Anaconda
Use Anaconda when you’re handling large-scale data-analytics, scientific and engineering problems that require you to manipulate large data arrays.
Wrap-Up
From a high-level perspective, ROCm delivers a rich set of tools that allow you to choose the best language for your application.
HCC (Heterogeneous Compute Compiler) supports HC dialects
HIP is a run-time library that layers on top of HCC (for AMD ROCm platforms; for Nvidia, it uses the NVCC compiler)
The following will soon offer native compiler support for the GCN ISA:
OpenCL 1.2+
Anaconda (Python) with Numba
All are open-source projects, so you can employ a fully open stack from the language down to the metal. AMD is committed to providing an open ecosystem that gives developers the ability to choose; we are excited about innovating quickly using open source and about interacting closely with our developer community. More to come soon!

I hope you're aware of all this documentation for now
AMDGPU LLVM Compiler

Doucmentation for AMDGPU Code Generator in LVVM

HCC

HCC overview
How to use HCC and select a GPU device
HCC language API documentation
HC API: Moving Beyond C++ AMP for Accelerated GPU Computing
HCC Saxpy example

HIP

HIP porting guide: overview and
how-to
HIP terminology comparison with OpenCL, Cuda, C++ AMP and HCC
HIP run-time API overview and documentation
(Doxygen)
HIP kernel-language overview
HIP FAQ

GCN ISA, ROCm Object Format, ABI and Assembly Documentation

GCN Architecture overview
GCN Architecure crash course by Lala Mah
GFX7 GCN ISA Southern Islands manual---Hawaii
GFX8  GCN Version 3---Tonga, Fiji and Polaris
AMD GPU-compute application binary interface (ABI)
Documentation covering helper tools for ROCm GCN LLVM assembler
GCN float16
ROC device library---Open Compute Math Library  intrinsics

Following with tradition of making this open source program all the documentation online. We are using Sphinx and Read the doc for the documentation.
The link to the ROCm Online Documentation while it under development.
Where we have ROCm Github Documentation Source

Thanks, I will RTFM :)

That last link was to show where we going it still under constructions.  The link above from ROCm Website are the best place away to start

Great, thanks.

Looks like OpenCL 1.2 getting cemented a little more in the business  Google Rolled out OpenCL 1.2 on Vulkan with Codeplay's help.
https://github.com/google/clspv
https://github.com/google/clspv/blob/master/docs/OpenCLCOnVulkan.md   OpenCL 1.2 on Vulkan.
Interesting to see, since I help start Vulkan effort at Khronos group,  pushing in the main proposal we called XGL.

This is very good to see. I've heard rumours that OpenCL will merge into Vulkan. Creating something like Metal, only more powerful, and cross-platform.

Looks to be a subset of OpenCL 1.2

Metal? Yes, looks like it. And iOS only. Too bad they didn't go with OpenCL - they started it after all.

Here is the press release:
https://www.codeplay.com/portal/07-14-17-codeplay-release-clspv-an-opencl-tool-for-vulkan-enabled-devices

Some notes on the clspv:
Yep..
This is a prototype, with known issues. However, it does compile significant portions of kernels
It uses close to top-of-tree versions of LLVM and Clang as third-party projects - this is not a fork
It is mainly a set of LLVM module passes. The flow starts with the SPIR code generated from stock Clang, then massages it into SPIR-V for Vulkan
It exercises SPV_KHR_variable_pointers (rev13)

@gstoner have the GCN/NCU Docs for Vegas architecture been release yet? Other than some high level slides and overview, I haven't been able to find any technical documents on Vegas NCU.

It not out yet,  it with the legal team for final review.

@jstefanop The Vega Shader ISA Reference Guide was released recently, see: http://developer.amd.com/wordpress/media/2013/12/Vega_Shader_ISA_28July2017.pdf

The VEGA ISA link changed to: http://developer.amd.com/wordpress/media/2013/12/Vega_Shader_ISA_28July2017-1.pdf

The VEGA ISA link changed to: http://developer.amd.com/wordpress/media/2013/12/Vega_Shader_ISA_28July2017-1.pdf

Dead link.

@pszi1ard  http://rocm-documentation.readthedocs.io/en/latest/GCN_ISA_Manuals/testdocbook.html#testdocbook   You now get the Vega ISA  online here

What is the current status of this? I am eager to use ROCm with OpenCL 2.2 for my applications.

+1

+1

+1

SYCL is also an alternative as a single source C++ programming model for GPUs.

Thanks @nevion
As its very old issue, and no updates for the last 2 years, this issue is going to be closed.
Request to open a new ticket, if you found any.
Thank you.

Does this mean "#wontfix"?

Hi @pszi1ard
As part of process improvement, we requested you to close very old(>2 years) open ticket.
Request you to open a new ticket, if you still face the same/new problem, where you will get fast updates.
Thank you.

The bot is kinda badly calibrated. It's true this issue is more than 2 years old, but it's false that no update happened in the last 2 years.


Cannot push jobs to queue in mysql connection strict mode

Laravel Version: 5.5
PHP Version: 7.0
Database Driver & Version: Mysql 5.5.54

Description:
In strict mode, laravel doesn't seem to provide a default value for 'reserved' column.
Steps To Reproduce:
Dispatch Job in strict mode.

Can you provide more details?

reserved_at defaults to null.


Add RepoRev field to Text/TokenSearchOpts

Added a field to the new search options structs that I realized is necessary while working on the new text search implementation. Each options struct needs a RepoRev to pass into the the Search methods so the search can be appropriately scoped to the correct repo and rev.
Right now the new token search method is getting away with embedding the RepoURI in the query as a string, which is similar to how the old def search worked but kind of messy since it has to be parsed out. With this change we can properly pass it in as a struct instead.

LGTM


fix: Filter patches to drop "remove" operation to prevent dropping unknown fields

Reason for Change:

Filter patches to only allow "add" operation to prevent dropping unknown fields

Issue Fixed:

fixes https://github.com/Azure/azure-workload-identity/issues/1312

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 53.03%. Comparing base (3874533) to head (a222c86).
Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1333      +/-   ##
==========================================
+ Coverage   51.66%   53.03%   +1.36%
==========================================
  Files          53       53
  Lines        2938     2436     -502
==========================================
- Hits         1518     1292     -226
+ Misses       1378     1102     -276
  Partials       42       42

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Closing this PR after further testing.
In e2e tests we create a pod with init container and test injecting sidecar proxy. The sidecar is added as the first container in the list so it's started first and the way patches get generated instead of doing a complete replace of
/spec/containers/0, it does replace and remove on individual fields (which is expected)
{replace /spec/containers/0/name azwi-proxy}
{replace /spec/containers/0/image aramase/proxy:add_op_00}
{add /spec/containers/0/ports [map[containerPort:8080]]}
{add /spec/containers/0/securityContext/privileged false}
{replace /spec/containers/0/securityContext/runAsNonRoot true}
{add /spec/containers/0/securityContext/readOnlyRootFilesystem true}
{remove /spec/containers/0/securityContext/seccompProfile <nil>}
{remove /spec/containers/0/securityContext/runAsUser <nil>}
{remove /spec/containers/0/args/2 <nil>}
{replace /spec/containers/0/args/1 --log-level=info}
{replace /spec/containers/0/args/0 --proxy-port=8080}

if we skip "remove" operation, it breaks because the args and other fields incorrectly remain.

The k8s version bump will resolve the current issue with Kubernetes native sidecar fields.
I've opened  https://github.com/Azure/azure-workload-identity/issues/1337 for us to investigate further.


squash a security vuln in actionpack via bundle update rails

I rule and have completed some work on Case Manager that's ready for review!
Rails has an actionpack cve; squashing it via bundle update rails.
This pull request makes the following changes:

bundle update rails to <IP_ADDRESS>

no viewchange
no issue
For reviewer:

Adjust the title to explain what it does for the notification email to the listserv.
Tag this PR:

feature if it contains a feature, fix, or similar. This is anything that contains a user-facing fix in some way, such as frontend changes, alterations to backend behavior, or bug fixes.
dependencies if it contains library upgrades or similar. This is anything that upgrades any dependency, such as a Gemfile update or npm package upgrade.

If it contains neither, no need to tag this PR.

Codecov Report

Merging #2349 (9174dc6) into main (5403f04) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #2349   +/-   ##
=======================================
  Coverage   96.24%   96.24%
=======================================
  Files          79       79
  Lines        1651     1651
=======================================
  Hits         1589     1589
  Misses         62       62

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 5403f04...9174dc6. Read the comment docs.

godmoding to shake things loose


perf: Intive to workspace options filtering

Details

This is the continuation of moving from getSearchText to filtering the lists. Here we are migrating the logic in Workspace invite page.
Fixed Issues

$ https://github.com/Expensify/App/issues/37619
PROPOSAL:
Tests

Go to profile -> Workspaces and create a new workspace
Go to Members and Invite members
Type something that matches any of the options existing on your list
Verify option is displayed after finished typing
Verify the list has the same options in the same order as the same search text applied on main branch
Clear the input and write an random, non-existing email
Verify the option appears on the list
Clear the input and write an email of the account you are logged in
Verify the option is not displayed on the list

[x] Verify that no errors appear in the JS console

Offline tests

n/a
QA Steps

Go to profile -> Workspaces and create a new workspace
Go to Members and Invite members
Type something that matches any of the options existing on your list
Verify option is displayed after finished typing
Clear the input and write an random, non-existing email
Verify the option appears on the list
Clear the input and write an email of the account you are logged in
Verify the option is not displayed on the list

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/13985840/2b87c292-127a-4768-969d-e4355796c16c

Android: mWeb Chrome
https://github.com/Expensify/App/assets/13985840/4ccce149-330c-413a-9c4e-e9773ff59862

iOS: Native
https://github.com/Expensify/App/assets/13985840/694fce3a-1a11-4457-88fa-96ae3436f14d

iOS: mWeb Safari
https://github.com/Expensify/App/assets/13985840/0801cda1-3982-45df-96af-467c0058cee5

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/13985840/8760328a-2b44-4cf1-91f4-f6e43ffee727

MacOS: Desktop
https://github.com/Expensify/App/assets/13985840/529ca723-031a-4b61-b7f1-757a28f8d7e5

To be opened once https://github.com/Expensify/App/pull/40285 gets merged - it's sharing the same logic for inviting a user as in the mentioned PR

Cross-posting comment & discussion about linking the correct issue in the PR (the current one is already closed) https://github.com/Expensify/App/pull/40350#issuecomment-2190790119

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome
https://github.com/Expensify/App/assets/59907218/a67105b2-1b06-4810-ad3c-0704ba2486b1

iOS: Native
https://github.com/Expensify/App/assets/59907218/ec395878-4253-4ba8-b281-0b0916882706

iOS: mWeb Safari
https://github.com/Expensify/App/assets/59907218/98cfeb00-6645-469b-92d6-117b34afbede

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/59907218/d596886e-0526-40d9-b7a1-8b409da2d025

MacOS: Desktop
https://github.com/Expensify/App/assets/59907218/cbcca332-0e76-4975-9cf2-bd2bdc4d1e2e

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/roryabraham in version: 9.0.4-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/tgolen in version: 9.0.4-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/Julesssss in version: 9.0.5-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 9.0.6-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Normalize line endings to CR LF in *.cs files

All *.cs files should be using windows style line endings (CR+LF) for source code.
The change updates the .gitattributes file to reflect this and converts*.cs files. Having a standard for the *.cs files should make contributions and reviews easier.

Hi @mjbvz, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Matt Bierner). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

awesome! :+1:


Trial flexibility, plans allow new trial modes

Now plans allow 3 trial modes, those are prepend, in_period and detach.
Prepend (current behaviour)
With prepend mode, trial period will be placed before starting subscription.
Example: 7 days trial + 30 day subscription. 7 days of trial will be placed before 30 day subscription starts.
In period
With in_period mode, trial period will elapse during subscriptions period.
Example: 7 days trial + 30 day subscription. 7 days of trial will be placed inside the 30 day subscription.
Detach
With detach mode, trial period will end and no subscription will be made.
Example: 7 days trial + 30 day subscription. 7 days of trial. Then subscription should be renewed to start.

I discard this idea, after giving it a thought I do not find it useful.

;) I was just about to write my thoughts :)
I think, the in_period mode could be useful, but not see usage for the detach mode - subscription do not create automatically, so I see it the same as prepend.
The in_period mode would have an impact on the ->renew() method - that is renewal (or rather starting of the subscription) would be made for "30 days" from the start of the trial and not from now(). And this would be useful. Probably should inflict as well behaviour of the usage of features (not resetting them, keeping what has been already consumed during the trial).
And IMHO I still think that if we have subscription with trial, then ends_at should be the same as trial_ends_at and starts_at should be now(). It's so much more intuitive - we know the end date with no ifs (if trial? / if no trial?), and as well can easily display it to user.

Right now I'm working on a simple logic: if subscriber has trial, subscriber does not have subscription.
So then you can decide what to do when trial ends, either renew() keep it dead or whatever.

How would we define features for the trial? As they can differ from the target subscription. Or it would be treated as well as a subscription, but with the flag "trial"?

Or it would be treated as well as a subscription, but with the flag "trial"?

This.
But with this new approach it's not too difficult to make 2 sets of features, I just need to add one column in subscription_plan_features that refers to subscription vs trial. And since there are already methods to sync features, trial features would be forced to disappear and be synchonized with subscription ones on renewal.


Change general form binding to gogs form

This PR is related to #7692 #7692

Codecov Report

Merging #8334 into master will increase coverage by 0.02%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master    #8334      +/-   ##
==========================================
+ Coverage   41.62%   41.64%   +0.02%
==========================================
  Files         495      495
  Lines       65523    65520       -3
==========================================
+ Hits        27274    27286      +12
+ Misses      34730    34716      -14
+ Partials     3519     3518       -1

Impacted Files
Coverage Δ

routers/repo/webhook.go
1.38% <0%> (ø)
:arrow_up:

routers/routes/routes.go
82.27% <100%> (ø)
:arrow_up:

models/repo_indexer.go
70.15% <0%> (+3.87%)
:arrow_up:

models/unit.go
67.56% <0%> (+5.4%)
:arrow_up:

Continue to review full report at Codecov.

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

If I understand it correctly, this PR just specializes newGenericWebhookPost into newGogsWebhookPost, but does not change any behavior. Is that the intention? What is the motivation?

@guillep2k No. the emphasis is it changed the binding form

@guillep2k yes, and it will solves "HTTPMethod cannot be empty problem" when create gogs webhook. https://github.com/go-gitea/gitea/issues/8332

@lunny add lable backport done?


Upgrade to Scala 2.11

Adds strict dependency management
Fixes many compile errors and warnings

LGTM :+1:


update docs/design/secrets.md to v1beta3

It's the same update performed for docs/secrets.md
@bgrant0607 @nikhiljindal
ref #8087

LGTM


Error: Status 403 trying to pull repository library/elasticsearch: "Account is not Active"

Tried to pull the official 'elasticsearch' image but got this error.
Error: Status 403 trying to pull repository library/elasticsearch: "Account is not Active"

When I tried it a second time, it seemed to work fine.

It's usually an issue with your actual hub account which needs to be activated. Logging in to Hub will get this resolved.


Fix Workflows Functions so it can run inside other programs

Right now its a docker container reading a workflow config.
However it would be great if workflow was just a struct you can create to setup workflows inside other programs.

Done,


Install fails with "cabal: unrecognized 'user-config' option `-a'"

github actions suddenly fails with an 'unrecognized option' error on a PR to
our project https://github.com/msp-strath/mary
The error is:
  /opt/cabal/2.0/bin/cabal user-config update -a http-transport: plain-http -v3
  cabal: unrecognized 'user-config' option `-a'

Has actions/setup-haskell@v1 been changed?

Looks like cabal v2.0 doesn't support the -a flag to user-config. The action automatically runs cabal update and adds the http-transport on a recommendation from Herbert (hvr). I think I had tested this successfully with cabal v2.4 but had failed to see that it wasn't supported in cabal 2.0. (it doesn't help that I have read through the entire set of docs for cabal v3, and v2.4 and have failed to see any mention of the -a flag at all).
Between this issue and other issues about wanting to skip cabal update entirely if you're using stack, I'm thinking it might just be best to remove all mention of updates

I'm not married to v2.0, I think I just picked version numbers based on what
I saw listed on the ghc download page of each version.
Looking at the README, I see that you are not listing 2.0 (anymore?) as a
supported version of cabal so it's probably my fault for relying on that.
I have just bumped the version number to 2.2 and it seems to be happily
building now.

Excellent! I'm not sure why I "dropped" 2.0; I suspect it has to do with only supporting recent-ish GHC versions and I picked the versions of cabal that corresponded with those. That being said, I'm pretty sure cabal v2.0 was around when GHC 7.10 was?
Either way, I'm working on a fix to support cabal 2.0. The bigger goal here is remaining fully backwards compatible with v1.


html2canvas not renders angularjs gridster

I have issue when I am trying to take screenshot of field where angular gridster is placed, I get it invisible. I van see all parent elements like forms and body but the space  where is gridster is empty.
This is gridster I am talking about: https://github.com/ManifestWebDesign/angular-gridster
What I expect.

What I get.

Example: http://jsfiddle.net/s3229t77/10/

anybody hear?

@niklasvh I am facing the same issue. This is not capturing properly in case of gridster is being used. Please let me know how we can fix this?

I am also using angular-gridster2 and it is having the same problem as you.
It does not capture all the pictures on the screen

I am also using angular-gridster2 and it is having the same problem as you.
It does not capture all the pictures on the screen

Hi @konopiux @deepender87 I solved the problem by removing the transition. I added following css rule on the global scope:
.gridster-item {  transition: unset !important; }
Error => https://imgur.com/X0XskSZ Pass => https://imgur.com/LmoLWSV

i add css but It's not working

i add css but It's not working.
tested on html2canvas v1.3.2
Any help is welcome.

Is the issue resolved?
I am facing same issue when i upgraded my project from angular 6 to 9.
Any help is much appreciated..


feat: add sqs event envelope handler

[!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

#187  👈
#186
main

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

Join @pevisscher and the rest of your teammates on  Graphite


WSL2 does not use discrete graphics

I have ASUS G14 with spec:

CPU : R5-4600HS
GPU : NVIDIA GTX 1650
WSL2
When I run GUI applications, they run using integrated graphics. How can i run GUI apps on NVIDIA graphics?

Have same problem on Acer Aspire 7 with spec:

CPU:  i7-9750H
GPU : NVIDIA GTX 1650

Nvidia driver was installed from the link
Ubuntu 20.04
Mesa drivers were built manually using this link

I have the same issue. Running a ortbk GUI app and seeing "No available video device".

I would say that your OpenGL renderer is still on software (llvm).
You can check by using this command and read the "OpenGL renderer string"
glxinfo | grep OpenGL

To install glxinfo : sudo apt install mesa-utils
On my system, I upgraded mesa using this ppa (both on Ubuntu 18.04 & 20.04) : https://launchpad.net/~kisak/+archive/ubuntu/kisak-mesa
sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt-get update && sudo apt dist-upgrade

Then when running glxinfo | grep OpenGL, I got OpenGL rendered on my GPU:
OpenGL vendor string: Microsoft Corporation
OpenGL renderer string: D3D12 (NVIDIA GeForce GTX 1660 Ti)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 21.0.3 - kisak-mesa PPA

Hope this helps !

At the moment if you have multiple GPU all supporting vGPU in WSL, the mesa d3d12 gallium driver will pick which ever GPU happens to be enumerated first on your system. We're currently looking at changes that will let user control which GPU is picked, stay tune.

@spronovo Weird thing is I am on a ryzen processor so I only have the discrete card that provides graphics. Unless I am understanding that wrong.

Could you share the output of glxinfo-B

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa/X.org (0xffffffff)
    Device: llvmpipe (LLVM 11.0.0, 256 bits) (0xffffffff)
    Version: 20.2.6
    Accelerated: no
    Video memory: 7927MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Mesa/X.org
OpenGL renderer string: llvmpipe (LLVM 11.0.0, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 20.2.6
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.1 Mesa 20.2.6
OpenGL shading language version string: 1.40
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.2.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Thanks, you are running on Mesa's software renderer (LLVM 11.0.0, 256 bits). This is because you are running Mesa 20.2.6. As the blog and project main page describes, you need to be on Mesa 21.x in order to light up GPU acceleration. Mesa is a component that ships along with your user distro, so not something that WSLg itself can update for you.
From: https://devblogs.microsoft.com/commandline/wslg-architecture/
Depending on when you read this, accelerated OpenGL in WSLg may or may not immediately light up on your system as you may still be running an older version of Mesa. If you don’t want to wait on your distro to pick up those changes and want to try this out immediately, you can visit Mesa official home and build a private version of Mesa with this support. Alternatively, you can try out Canonical recently announced Ubuntu on Windows Community Preview for WSL 2. This new distribution of Ubuntu is built from bleeding edge components an includes support for Mesa 21.0, enabling seamless hardware accelerated OpenGL with WSLg out of the box. This distribution is meant for advanced WSL users to help test and debug upcoming features and not meant as a “daily driver” but is a great way of getting an early glimpse at those features.

Alternatively, you can try something like the package repo that Kisak maintains so you can easily install bleeding build of Mesa without having to build them yourselves or having to switch to a bleeding edge distro.
https://itsfoss.com/install-mesa-ubuntu/
Eventually these changes will flow through the system and will be available in your distro without taking additional steps, but that is still some ways away.
Steve

I have  the 470.14 NVIDIA Driver installed, as well as  The Canonical Release of Ubuntu on Windows Community Preview for WSL 2 (Mesa Version is 21.0.1). Still getting the same issue as these other people.

Make sure to update to the latest WSL kernel version.

@archee8 do you see /dev/dxg listed? If not you need to update your NVIDIA driver to one supporting WSL: https://developer.nvidia.com/cuda/wsl.
I see that you are using kisak's repo. In addition to be on Mesa 21.x, you need to have compile Mesa with the d3d12 gallium driver included. kisak had a chat with our d3d folks over the weekend and he updated his repo to include those binaries, so you may need to sudo apt-get update && sudo apt dist-upgrade to pick up the latest. List the content of the directory below and verify if d3d12_dri.so is present.
spronovo@OFFICE:~$ ls /usr/lib/x86_64-linux-gnu/dri
d3d12_dri.so       iHD_drv_video.so   nouveau_drv_video.so  r600_dri.so        radeonsi_drv_video.so  zink_dri.so
i915_dri.so        iris_dri.so        nouveau_vieux_dri.so  r600_drv_video.so  swrast_dri.so
i965_dri.so        kms_swrast_dri.so  r200_dri.so           radeon_dri.so      virtio_gpu_dri.so
i965_drv_video.so  nouveau_dri.so     r300_dri.so           radeonsi_dri.so    vmwgfx_dri.so

Could you verify which kernel you are running as well
spronovo@OFFICE:~$ uname -a
Linux OFFICE <IP_ADDRESS>-microsoft-standard-WSL2 #1 SMP Fri Apr 2 22:23:49 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

If you are not on 5.10.16, you'll want to wsl --shutdown and wsl --update from an elevated command prompt in Windows.

I see  /dev/dxg
archee8@DESKTOP-KJHVQ36:~$ ls /usr/lib/x86_64-linux-gnu/dri
d3d12_dri.so  iris_dri.so        nouveau_vieux_dri.so  r600_dri.so      swrast_dri.so      zink_dri.so
i915_dri.so   kms_swrast_dri.so  r200_dri.so           radeon_dri.so    virtio_gpu_dri.so
i965_dri.so   nouveau_dri.so     r300_dri.so           radeonsi_dri.so  vmwgfx_dri.so

archee8@DESKTOP-KJHVQ36:~$ uname -a
Linux DESKTOP-KJHVQ36 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

You're on the older kernel... The 5.4 kernel was creating /dev/dxg even if no actual GPU devices enumerated over vPCI.
Could you update your kernel (wsl --shutdown and wsl --update).
On Windows, could you launch dxdiag.exe, click "Save All Information" and attach the resulting txt file to this thread.

You're on the older kernel... The 5.4 kernel was creating /dev/dxg even if no actual GPU devices enumerated over vPCI.
Could you update your kernel (wsl --shutdown and wsl --update).
On Windows, could you launch dxdiag.exe, click "Save All Information" and attach the resulting txt file to this thread.

I have updated kernel to 5.10 but nothing has changed.
DxDiag.txt

Your GeForce GTX 1650 is currently running on a WDDM2.7 driver (466.27).
Could you update to 470.14. You need to download from this link specifically:
https://developer.nvidia.com/cuda/wsl/download

I updated the driver and it worked! Thank you!

You're welcome, once this hit retails the driver situation will get easier :-).
Have fun!

@willparsons did you get yours working as well?

@spronovo Sorry I never get a chance to and I'm on a different machine now

Is there a perfect solution to this?
I'm running both an iGPU and a discrete graphics card. glxinfo keeps reporting my iGPU, and I've tried setting the Graphics settings of wsl to "High performance mode" but that doesn't work (maybe I'm selecting the wrong executable).
When I disable my iGPU, WSL immediately picks up my NVIDIA 3090 and works as expected, but I need my iGPU enabled.

@FarisR99, please see the following article on how to select which GPU WSLg will use
https://github.com/microsoft/wslg/wiki/GPU-selection-in-WSLg

@FarisR99, please see the following article on how to select which GPU WSLg will use
https://github.com/microsoft/wslg/wiki/GPU-selection-in-WSLg

Nice solution! Now I can change to the GPU driver which I want to use.


Output actual and expected values when test fails

I will merge this, and then extend the unit tests to cover this use case.

Published to npm as v1.8.0

Thanks for handling the unit tests

Tests added in https://github.com/larsthorup/mocha-vite-puppeteer/commit/ceaeaff74f71216d1f857df72aa0d366ae7c0549


[refmt] change default print-width to 80 columns

Currently the default is 100 columns, I was hoping that we could copy prettier default print-width, It reads nicer(opinion) and when embedding code into other sites(medium, etc.) the code reads perfectly. I know we can pass refmt this option with -w in the CLI, but most editors don't give option for this.
Here is prettier rationale for 80 columns: https://prettier.io/docs/en/options.html#print-width

I think we're at 80 by default now


add polyBool package

PolyBOOL is fine, but nimAGG isn't. Why does the git repo contain all of its dependencies?

it's still in development process, and I am just lazy to remove the dependencies. they will be removed soon once it get more stable

Okay, please make sure to do it in the future :)


x86: early_serial: extend to support MMIO UART

This expands the early_serial to support MMIO UART, in addition to
port I/O, by duplicating part of the hardware initialization from
the NS16550 UART driver. This allows enabling of early console on
hardware with MMIO-based UARTs.
Signed-off-by: Daniel Leung<EMAIL_ADDRESS>

looks fine. do we need an MMU_BOOT_REGION for the MMIO defines? or is that already covered at the SOC level

As long as the UART is enabled with MMU_BOOT_REGION, this would work.


Update README.md link for slack-go library

From the old nlopes/slack README file:

You're encouraged to update your import statements to use the official slack-go/slack version above.

It looks like the code was already updated and only this link was overlooked.

Are the golangci-lint and test-build-upload really critical for this PR? It only modifies one link, in the human-targeted documentation. Ideally those actions would not be required for such patches, or at least would detect that the patch doesn't affect source code.


Handle driver submitting a task with a function that hasn't been registered.

Consider the script
import ray
import ray.services as services
import test_functions

# assume that we run this script from inside ray/test/
test_dir = os.path.dirname(os.path.abspath(__file__))
test_path = os.path.join(test_dir, "test_worker.py")
services.start_singlenode_cluster(return_drivers=False, num_workers_per_objstore=1, worker_path=test_path)

x = test_functions.keyword_fct1(1)
xval = ray.pull(x) # xval should be "1 hello"

Two things happen:

The line servics.start_singlenode_cluster starts a worker process, which connects to the scheduler and registers all of the functions in the test_functions module (that is, it lets the scheduler know that it knows how to execute those functions).
The line x = test_functions.keyword_fct1(1) submits a task to the scheduler for executing the function test_functions.keyword_fct1.

There are two possibilities.

If 1) happens before 2), then everything works great.
If 2) happens before 1), then things are trickier. The method SubmitTask currently throws a fatal error. The advantage of throwing a fatal error is that a lot of the time when 2) happens before 1) it will be because the user forgot to register a particular module, and we will want to draw this to the user's attention to make debugging easier. The disadvantage of throwing a fatal error is of course that this situation can happen legitimately. For example, if test_worker.py takes a while before registering its functions (e.g., it first creates a tensorflow model), then 2) will probably happen first. In this situation, what should we do? Perhaps the answer is that the call to x = test_functions.keyword_fct1(1) should block until the function has been registered on some worker. The advantages of this are

It should be easier to debug if the user forgot to import a module.
If we are waiting for a slow worker, then it won't fail.
The function SubmitTask needs to return the correct number of object references to the driver program. Right now, it gets that information when the function gets registered, so if we wait, then we will have that information. If we don't wait and want to return immediately, then that information will have to be in the SubmitTaskRequest, which feels a bit ugly.

Thoughts? @pcmoritz @mehrdadn @Wapaul1.

Suggestion: Have the scheduler return an error code of some sort, then have the client retry. Hopefully do this lower in the client's stack so it can be done automatically by default and doesn't affect every single talk. This should let the clients customize their behavior from pure blocking (e.g. timeouts, exponential backoff, etc.).

Addressed by  #108.


Jupyter Lab: use markdown as its storage format

From your Readme.md
Editing in the browser (new!)
You can configure IPython / Jupyter to seamlessly use markdown as its storage format. Add the following to your config file:

c.NotebookApp.contents_manager_class = 'notedown.NotedownContentsManager'
Now you can edit your markdown files in the browser, execute code, create plots - all stored in markdown!

For Jupyter, your config file is jupyter_notebook_config.py in ~/.jupyter.

For Jupyter lab:
jupyter-lab --generate-config

The method you provided works nicely with jupyter notebook, but is not working like that for Jupyter lab.
Could you please extend the support to Jupyter-lab.

Depends on https://github.com/jupyterlab/jupyterlab/issues/4924.

Fixed in the latest development version of jupyter.
There is now a 'Notebook' entry in the 'Open With' context menu for such notebooks.


TypeError: 'int' object is not iterable

Hi, just updated to the latest fbx2gltf.py (thanks again!), but my test FBX file now returns TypeError: 'int' object is not iterable. Here is the stack trace:
$ python fbx2gltf.py /tests/test.FBX
Traceback (most recent call last):
  File "fbx2gltf.py", line 1474, in <module>
    args.binary
  File "fbx2gltf.py", line 1329, in Convert
    lSceneIdx = ConvertScene(lScene, poseTime)
  File "fbx2gltf.py", line 904, in ConvertScene
    lNodeIdx = ConvertSceneNode(pScene, lRoot.GetChild(i), pPoseTime)
  File "fbx2gltf.py", line 889, in ConvertSceneNode
    lChildNodeIdx = ConvertSceneNode(pScene, pNode.GetChild(i), pPoseTime)
  File "fbx2gltf.py", line 854, in ConvertSceneNode
    lGLTFMesh['primitives'] += ConvertMesh(pScene, lNodeAttribute, pNode, lGLTFSkin, lClusters)
  File "fbx2gltf.py", line 639, in ConvertMesh
    lTmpIndex, lScaleU, lScaleV, lTranslationU, lTranslationV = ConvertToPBRMaterial(lMaterial)
TypeError: 'int' object is not iterable

This same FBX file worked with the previous version of fbx2gltf.py, and this FBX file can be opened with the official FBX Review tool. I tried different FBX files, and those did convert correctly and without errors.
Any idea what the problem could be?

You can now get gift and promotional item at wholesale price. All kinds of gift and promotional product with printing in all over United Arab Emirates and Oman. The product will be always with good quality and perfect form as you mentioned.


Failed cron mails to root - attempting to graph non existent wlan0

The root mailbox seems to fill up with the following emails, seems to be related to attempting to graph the wlan0 interface without checking if it is present ;)
From: Cron Daemon root@raspberrypi
To: root@raspberrypi
Subject: Cron root@raspberrypi bash /home/pi/adsb-receiver/build/portal/graphs/make-collectd-graphs.sh 1h >/dev/null
ERROR: opening '/var/lib/collectd/rrd/localhost/interface-wlan0/if_octets.rrd': No such file or directory

Fixed.
Redirect STDERR to STDOUT then to /dev/null to suppress emails.
Commit: 33c5aceb4ba75452cb5445c5227fd953f887edea
Fix will be made available in the next upcoming release.


Question on Cascade select in case of JSON form

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request
[x] question

Hi,
I had a query regarding cascaded select feature in formly, below is the example
https://stackblitz.com/edit/ngx-formly-ui-bootstrap-pcwqtr
how to make the dropdowns present in tab1 as a cascade select? please help me on this

Angular version: 5.0

see https://github.com/formly-js/ngx-formly/issues/815#issuecomment-374586474

if in case I am using dependent dropdown then in this.getField('firstName') firstName will be on the fly. how to get which dropdown templateOptions has to be changed?

you can add some extra option in templateOptions to identify which dropdown has to be changed

another question is there any example of a custom control which will create a single select dropdown?. I have created multiselect dropdowns but they all are created with plugins. I want a custom control which will create a single select dropdown.

no sure but it can be done easily based on doc

The problem where I am facing is I need to create a dependent dropdown the structure of the dependent  dropdown will be mentioned in json and each dropdown in the dependent dropdown is a custom control and I am not able to get the right method to do this..


Add documentation for representing prescriptions and medication orders

This will create a page with documentation on how to represent prescriptions and medication orders

@ksmith94 , for now just convert the full table to MDX:

Element
Description
Example

 Dispense and Ingestion Information

medicationCodeableConcept
The medication being requested, coded as a concept. The details of the drug will be in the MedicationKnowledge resource with the same code.
42844 - Percocet

dosageInstructions
Instructions on how the medication should be used by the patient.
See below

dispenseRequest
Provides details about how the medication should be dispensed or supplied, including quantity, refills, and more.
See below

substitution
A boolean value, indicating whether a substitution is allowed by the dispensing pharmacist. If it is blank, it implies that a substitution is allowed.
false

priority
How quickly the request should be addressed.
urgent

 Tracking and Administration

subject
The patient or group who the medication or prescription is for.
Patient/homer-simpson

requester
The practitioner who created the request or wrote the prescription.
Practitioner/dr-alice-smith

reasonReference
A reference to a Condition or Observation that indicates why the order was made.
Condition/chronic-pain

encounter
The medical appointment at which the request was created.
Encounter/homer-simpson-annual-physical

priorPrescription
A reference to a previous prescription or order that this one is replacing or updating.
MedicationRequest/homer-simpson-percocet-1

status
The current state of the order (i.e. completed, active, etc.)
completed


fixup! refactor: set minimum aspect_bazel_lib to 2.7.1 (#1580)

When you upgraded to 2.7.1 aspect_bazel_lib was removed as a direct dep of these so we shouldn't be invoking aspect_bazel_lib_dependencies anymore.
This is a !fixup on that commit, assuming we'll rebase/squash and push -f at some point still?

Yea, we can squash it with the commit on the 2.x stack that makes most sense. Maybe the one that introduces rules_js_toolchains?

This commit is marked as a fixup! on the commit that made it red so I think that's the one that it should be squashed into.


Clean up the previous user properties from MQTT protocol

Since we use the MQTT Properties.User to load the extension of the cloudevents. It can't contain the previous extension.

@embano1 /cc


azure-storage-azcopy: 10.4.3 -> 10.5.1

Semi-automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Azure/azure-storage-azcopy/releases.
meta.description for azure-storage-azcopy is: "The new Azure Storage data transfer utility - AzCopy v10"
meta.homepage for azure-storage-azcopy is: ""
meta.changelog for azure-storage-azcopy is: ""
Updates performed

Golang update

To inspect upstream changes

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 10.5.1 with grep in /nix/store/0hsxs8mchdwr68aa4aaxaabaig742513-azure-storage-azcopy-10.5.1

directory tree listing: https://gist.github.com/d4dd4ab6298895fce54a69606ae97bcf

du listing: https://gist.github.com/4188c1bcae3ce78486c77af14cf23792

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
azure-storage-azcopy

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/0hsxs8mchdwr68aa4aaxaabaig742513-azure-storage-azcopy-10.5.1 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A azure-storage-azcopy https://github.com/r-ryantm/nixpkgs/archive/09bf6190b69feffd190602ceba9f90f4cca49e71.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/0hsxs8mchdwr68aa4aaxaabaig742513-azure-storage-azcopy-10.5.1
ls -la /nix/store/0hsxs8mchdwr68aa4aaxaabaig742513-azure-storage-azcopy-10.5.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package built:

azure-storage-azcopy

Maintainer pings
cc @colemickens @kalbasit for testing.

Weird. I don't even see 10.4.3 tagged on that repo, I don't see how this worked before.


pull request for e2e test at 02/06/2017 04:56:16

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


make engineResult not Optional since it isn't

SubmitResult#engineResult has an Optional type which is not correct. Per the docs (https://xrpl.org/submit.html) it is not optional.

Ship it!


Write flat index last key setting

This new WriteLastFlatIndexKey setting is needed for comparison of Precharge logic: B-tree index doesn't have the last key, so it can't be used when we precharge some range [k1, k2] where k1 > the last key

For the record: btree precharge may use rightmost slice's right boundary as the last key.


ObjectVars wrong _var_type

Describe the bug
ObjectVars are often not automatically detected. Even if they are, the _var_type often ends up being a ObjectVar[dict] instead of the actual type.
For example if you want to access a nested Object you currently often have to do smth like this:
MyState.obj.to(ObjectVar, Obj).other_object.to(ObjectVar, OtherObject).attribute

Without .to(ObjectVar) attribute access ist completly blocked and without specifing the type, it often ends up being a dict which obviously does not have the same annotations as the correct type.
I once create a draft PR (https://github.com/reflex-dev/reflex/pull/3911) to at least improve the situation for guess_type. But that is not sufficient, there are many more places where this needs improvement.
To Reproduce
I added some tests to showcase this: https://github.com/reflex-dev/reflex/pull/4268
Expected behavior
Reflex is able to handle arbitrary objects with a serializer defined without ToOperations everywhere.
Screenshots
Specifics (please complete the following information):

Python Version: 3.13
Reflex Version: main
OS: arch

Additional context

@adhami3310 there might be a bug in the Var.to method. var_type/base_type is never used

For one, you can do:
MyState.obj.to(Obj).other_object.to(OtherObject).attribute

I will investigate the possible .to bug

You're correct in that base_type isn't being used, it's a relic of modified code that got removed. Although var_type is still being used.
I checked your PR, I don't see any unexpected behavior. The only case I would say is that we don't handle normal classes w/ serializers like base classes. Is it possible to use dataclasses in your case? The issue is that there are logic that pydantic classes and dataclasses provide to retrieve fields and such that would be missing from such a bare class.

You're correct in that base_type isn't being used, it's a relic of modified code that got removed. Although var_type is still being used.

Yes, you are right, only base_type is not used, I cleaned it up here: https://github.com/reflex-dev/reflex/pull/4271

Is it possible to use dataclasses in your case?

With hacking, everything is possible. But I would rather prefer reflex supporting bare classes as much as possible.

The issue is that there are logic that pydantic classes and dataclasses provide to retrieve fields and such that would be missing from such a bare class.

I thought the only requirement was get_attribute_access_type for which I implemented support for bare classes, bare sqlalchemy etc.
And if we manually apply all the .to(ObjectVar, type_) everything works flawless.

I thought the only requirement was get_attribute_access_type for which I implemented support for bare classes, bare sqlalchemy etc.

We can then try to do that. So we should basically also handle bare classes with serializers. Can you either edit this issue or create a new one with specifically that info?

That would be awesome! Just to clarify: While not documented, this all worked flawless before the var refactor, that's why I am raising an issue instead of a feature request.
The only issue is that the new var operations do not work great if you don't use pydantic/dataclasses. And that's basically what this issue is about. However, if you want, I can still open a separate issue.
Btw: I just added some failing typing tests in my PR (#4268) as well. I think we can improve this with generics in the to overloads.

Next btw:
OBJECT_TYPE = TypeVar("OBJECT_TYPE", bound=Dict)

It seems like ObjectVar is currently typed to "contain" only dict subclasses, the typevar is bound to dict. However, iirc ObjectVar is also used for dataclasses and rx.Base which are no subclasses of dict. Is this intended?

Is this intended?

half intended, it's sth i long wanted to fix just not bothered enough to do, but yea there should be no bounds for OBJECT_TYPE

wdyt about this

Some overloads only include generic in return, which doesn't make much sense, but i see improvement on some ends, although generally speaking, you're not gaining much from specifying to the static typing what kind of object var it is because we cannot give static typing of wrapped classes anyways


Prevent IDE warning about missing required attributes when bound instead

It would be great if using bindings for DOM element required attributes didn't result in an IDE warning for "missing" attributes.
For example, the <img> element requires a src attribute. But when this is bound, PhpStorm doesn't understand that src is taken care of by :src and shows a warning:

I prefer the bad warning to turning off that inspection, but thought there might be a way around this.

The most recent PR (https://github.com/inxilpro/IntellijAlpine/pull/46) should fix that.

It would be really great if this could get fixed :)


Fix findbugs issues

The following screenshot is an example of the issues flagged within the findbugs report when we execute mvn clean install.
We should address these issues and improve the quality of the mudrod codebase.

When I build the spark2.0.0 branch now, I am getting the following warnings
[INFO] BugInstance size is 169
[INFO] Error size is 0
[INFO] Total bugs: 169


Some Lint errors are reported twice

https://github.com/Microsoft/RTVS/commit/a41b8bdafe14223acd780a936a23ca6c2345f964


Python syntax highlighting in a code block is inconsistent

🐛 Bug Report
Python syntax highlighting in a code block is inconsistent
To Reproduce
Add this block:
@dataclass
class MySQLConfig:
    host: str = "localhost"
    port: int = 3306

@dataclass
class Config:
    db: MySQLConfig = MySQLConfig()
    verbose: bool = True

cfg_store = ConfigStore.instance()
cfg_store.store(name="config", node=MyConfig)

@hydra.main(config_name="config")
def my_app(cfg: MyConfig) -> None:
    # Python knows that the type of cfg.db is MySQLConfig without any additional hints
    print(f"Host: {cfg.db.host}, port: {cfg.db.port}")

if __name__ == "__main__":
    my_app()

Expected behavior
Syntax highlighting is applied consistently.
Actual Behavior
See screen shot, only the first @dataclass annotation is highlighted.

Your Environment
Ubuntu 18.

Docusaurus version used:
package.json

This is probably because prism-react-renderer uses an older version of prismjs, in which decorator syntax highlighting has not yet been fixed.
https://github.com/PrismJS/prism/pull/2018/files#diff-e99f677a9aaad5549db82df4b410cb1fR47
https://github.com/PrismJS/prism/blob/master/CHANGELOG.md#1180-2020-01-04

cool, what is the path to get this dependency upgraded?

If I understand correctly, then we need to bump to latest version of prismjs in prism-react-renderer, however that dependency seems to be abandoned (its author @kitten does not accept PRs very well :disappointed:).

Did this break again?
I tried to upgrade prism-react-renderer with yarn upgrade prism-react-renderer but I am still on 1.10.0 for some reason.
$ rg prism
yarn.lock
1143:    prism-react-renderer "^1.1.0"
1144:    prismjs "^1.20.0"
<EMAIL_ADDRESS>7388:  resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.1.1.tgz#1c1be61b1eb9446a146ca7a50b7bcf36f2a70a44"
<EMAIL_ADDRESS>7393:  resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.20.0.tgz#9b685fc480a3514ee7198eac6a3bf5024319ff03"


A Bug on InputEvent

Tested versions
v4.2.1.stable.official [b09f793f5]
System information
Windows10-Godot 4.2.1 stable-Forward+
Issue description
I set the custum input buttom as:

``
I use this code to control my character
Input.get_vector("move_left", "move_right", "move_up", "move_down")
At the same time, I supervise other inputs from my keyborad by using:

When I press 'W' 'S' 'A' 'D' to move my character, everything is just fine, the character can move smoothly to each eight directions around.
The problem is that, when my character is moving to top-left corner by pressing both "W" and "A", at this moment, I press the "normal_attack" key, and nothing happens....even the [print("Attack!!!!")] is not excuted....
However, the code works just fine when the character is moving to top-right (press "W" and "D"), buttom-left (press "A" and "S"), buttom-right ("D" and "S")....the code of "print("Attack!!!!")" is correctly excuted....
Moreover, when I use "Arrow-Right" "Arrow-Up"  "Arrow-Down" and "Arrow_Left"  instead of "W" "S" "A" "D" to move my character, this problem disappeared...
So, is this a bug?
Steps to reproduce
Write move control (can move eight directions) related code in " func _physics_process(delta: float) -> void: "
Then use " func _input(event: InputEvent) -> void: " to detect other keyboard inputs.
When press "W" and "A" to move the character, at the same time, press another custom button, and check if the pressing can by detected by  " func _input(event: InputEvent) -> void: "
Minimal reproduction project (MRP)
N/A

You might run into the problem of Keyboard Ghosting.


tests/taskflow/test_feature_extraction is too slow for unit tests

问题描述
PaddlePaddle/ernie_vil-2.0-base-zh is too large of a model to be used in unit tests, as the model download takes too long and is prone to failure. Consider creating and uploading a tiny random ernie-vil model under 5MB (e.g. __internal_testing__/tiny-random-ernie) with very small num_layers, num_attention_heads and hidden_size and use that for unit tests.

https://github.com/PaddlePaddle/PaddleNLP/pull/4881


Only recognize tags at the begginning of the title

So that this kind of stuff does not happen: https://fail.rakudo.party/t/BELL

I think this was the original behaviour, but then people will said that it doesn't recognize tags that aren't in the beginning (I think [Coke] did)


Version 0.14.1 does not work with latest Android Gradle Plugin

Android Gradle Plugin 1.1.0-rc1 was released yesterday and it appears that the latest version of the spoon-gradle-plugin does not work with it.
Error:
java.lang.NullPointerException: Cannot get property 'outputs' on null object
at com.stanfy.spoon.gradle.SpoonPlugin.createTask(SpoonPlugin.groovy:97)
https://github.com/stanfy/spoon-gradle-plugin/blob/master/src/main/groovy/com/stanfy/spoon/gradle/SpoonPlugin.groovy#L97
It seems like testedVariant is null. I don't see anything in the latest version of the Android Gradle Plugin that indicates that this was deprecated though.

I second that - especially sad as 1.1 brings this awesome unit-testing support ..

also happening with  1.1.0-rc2

We should wait for 1.1.0. It will either be resolved on Android plugin side
or we'll make an update here.
On 00:52, Thu, Feb 12, 2015 ligi<EMAIL_ADDRESS>wrote:

also happening with 1.1.0-rc2
—
Reply to this email directly or view it on GitHub
https://github.com/stanfy/spoon-gradle-plugin/issues/37#issuecomment-74036940
.

The problem seems to be resolved.
https://code.google.com/p/android/issues/detail?id=140267
If the latest version of this plugin does not work with 1.1.0, we'll fix it.

1.1.0 is now released and spoon works again - so this can be closed


feat:Support downstream and upstram, which can be configured through helm parameters

Ⅰ. Describe what this PR did
Support downstream and upstram, which can be configured through helm parameters
Ⅱ. Does this pull request fix one issue?

fixes #1386
Ⅲ. Why don't you add test cases (unit test/integration test)?
This is helm
Ⅳ. Describe how to verify it
Execute helm locally
#kubectl get cm higress-config -n higress-system -o yaml
apiVersion: v1
data:
  higress: |-
    downstream:
      connectionBufferLimits: 32768
      http2:
        initialConnectionWindowSize: 1048576
        initialStreamWindowSize: 65535
        maxConcurrentStreams: 100
      idleTimeout: 180
      maxRequestHeadersKb: 60
      routeTimeout: 0
    tracing:
      enable: true
      sampling: 100
      skywalking:
        port: 11800
        service: ""
      timeout: 500
    upstream:
      connectionBufferLimits: 10485760
      idleTimeout: 10

Ⅴ. Special notes for reviews

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@CH3CHO cc

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 43.53%. Comparing base (ef31e09) to head (d0b543b).
Report is 177 commits behind head on main.

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #1399      +/-   ##
==========================================
+ Coverage   35.91%   43.53%   +7.62%
==========================================
  Files          69       76       +7
  Lines       11576    12320     +744
==========================================
+ Hits         4157     5364    +1207
+ Misses       7104     6621     -483
- Partials      315      335      +20

see 69 files with indirect coverage changes


install issue

Hello, I'm trying to run DL-DiReCT on a workstation ,actually i ano sure whether it was installed well.
and the program prompted that as follow,and i want to know how to eliminate this question,Thanks in advance.  :
(DL) C:\Users\SU>dl+direct -h
Traceback (most recent call last):
File "\?\S:\SU\anaconda\envs\DL\Scripts\dl+direct-script.py", line 33, in
sys.exit(load_entry_point('DL-DiReCT==1.0.0', 'console_scripts', 'dl+direct')())
File "\?\S:\SU\anaconda\envs\DL\Scripts\dl+direct-script.py", line 25, in importlib_load_entry_point
return next(matches).load()
File "S:\SU\anaconda\envs\DL\lib\importlib\metadata_init_.py", line 171, in load
module = import_module(match.group('module'))
File "S:\SU\anaconda\envs\DL\lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'run_script'

Hi,
It looks like the source directory might no longer be available. After you put the source in a directory (either with git clone or by extracting the zip: https://github.com/SCAN-NRAD/DL-DiReCT/archive/refs/heads/main.zip), did you run 'pip install -e .' within that directory?
You still need to keep that directory after the installation. Is that directory still present?
It also looks like you are running it under windows. Although DL+DiReCT should in principle run under windows, it requires a linux shell. You might want to use Windows WSL for this (https://learn.microsoft.com/en-us/windows/wsl/install).


fix: support custom Global Vue alias

Adding support for customizing the Global Vue alias in WebComponent builds.
The reason for this is to avoid conflict with other components that may bundle Vue as part of their library. I am having this issue at present.

@linusborg I want externalize Vue as Vue$ or some other name to avoid a collision.
I have a bundled vue application that uses a another component that is bundled but also includes Vue.
When I set window.Vue = Vue in my main.js of my core application, it breaks the other code split component which had Vue bundled as part of its code.
I have to set this in my main.js because I bring in webcomponents built within Vue.
The reason I bring Vue Web components is specifically for use inside a tinymce editor.
Do you understand what I mean?

Hey @LinusBorg
So I am revisiting this because I really need it :)
I have made a change to add a command line alias operation, I have updated the tests to reflect this.
  '--alias': "use with --target 'wc' or 'wc-async' to externalize Vue under a custom alias, e.g. $MyVue"
Within demo-wc.html
<meta charset="utf-8">
<title><%- htmlWebpackPlugin.options.libName %> demo</title>
<script src="https://unpkg.com/vue"></script>
<% if  (htmlWebpackPlugin.options.alias !== 'Vue') { %>
<script>
    window[<%= JSON.stringify(htmlWebpackPlugin.options.alias) %>] = Vue;
</script>
<% } %>
<script src="./<%- htmlWebpackPlugin.options.libName %>.js"></script>

<% for (const comp of htmlWebpackPlugin.options.components) { %>
<<%= comp %>></<%= comp %>>
<% } %>

Hey @shaydoc
Thanks for working on this and pushing it. I definitely understand the use case now as well, so thanks for that.
I'll try and review this before the end of the week. Want to take some time in order to think about possible implications.

Okay so I think the code looks fine technically. I'm still thinking about the use cases.
In your specific case, I'd like to understand how the 3rd party component, which has not externalized Vue, but instead comes with it's own version bundled inside, creates issues when a global Vue instance is present? If they use their internally bundle version, I don't see how their code could care about the globally available version.
Do they assign their bundled version to window.Vue?
I ask about this as I want to make sure this actually solves a use case that is not super-rare and caused by bad practices in some other place...

So in my app when I set window.Vue = Vue  I get this error from the 3rd party component

@LinusBorg any further thoughts on this one ?

Actually I am building a library for my website which both are built in vue, And I'm experiencing the same error (Cannot redefine property.. $router), Would like an update on this also

@LinusBorg any updates on when this might be able to be merged ?
How could i use this in the immediate term, can I npm install this branch globally ?

It's already possible with the following config in vue.config.js:
module.exports = {
  chainWebpack: (config) => {
    config.externals({
      vue: 'global $MyVueAlias'
    })
  }
}

So no need to add a new flag.


Add turborepo

[x] add Turborepo
[x] Move the dataset browser to the app workspace
[x] Use the three default turbo packages, and update with our config

[x] eslint-config-custom
[x] tsconfig
[x] UI

[x]  Add the components, now placed under /components

TODO

[ ] fix the vercel build
[ ] Check the GitHub workflows
[ ] update readme
[ ] What to do with the docs folder?
[ ] Docker

I noticed that gts fix and gts link wasn't working in the npm workspaces. This is related to the issues:

https://github.com/google/gts/issues/752
https://github.com/google/gts/issues/490

The last issue is with yarn but has more discussion. One solution was using nohoist. This is not a default option with npm. So I tried with the following package https://github.com/zgriesinger/noist. But this did not fix the errors. The last solution mentioned was only linting from the root level; this works.
I have also subscribed to the issue [feature] support npm workspaces. There may be a better solution in the future.

I have updated the workflows or added the needed scripts to package.json. I cannot see if the workflows are working. The Vercel build first needs to be successful.

This work is moved to https://github.com/colonial-heritage/colonial-collections


The complete code package about the pytorch version

Hi! I have read the paper "MultiResUNet : Rethinking the U-Net Architecture for Multimodal Biomedical Image Segmentation" recently, and now I want to reproduce the code corresponding to the paper. I am honored to see your research on the pytorch version. Could you please provide pytorch version of the complete code package?
The gratitude is beyond words! Looking forward to your early reply!

Hi. Thank you.
What exactly do you mean by complete code package?
Thanks,
Sripad

Hi!  Thank you very much for your reply.
The complete code package means that it contains code such as model, train, test, etc.
I would be grateful if you could share it.
Thanks again!

Hi, I am sorry I currently don't have the complete code package I used to train this model. Please refer - https://github.com/j-sripad/colon_crypt_segmentation/blob/master/Training.ipynb , It contains a well defined train loop, you will just need to use this multiresnet model there. Hope you find it useful.
Thanks
Sripad


Add MemoryMappedFile abstraction

We use MemoryMappedFile. It would be nice if there was a way to test this.

Thanks for the request!
Could you sketch out the desired API shape so that we have something to iterate on?


[5.1] SIMD Overlay: inline deprecated methods (#23250)

On Swift 5, using the deprecated SIMD.init(_ scalar: Scalar) initialiser rather than SIMD.init(repeating scalar: Scalar) will cause the type to fail to be specialised, resulting in performance degradation. Mark this method and static prefix func - as @_transparent to ensure they are correctly specialised.
Fixes rdar://problem/48755752

@swift-ci please test


Lost my crate key

A couple of days ago I bought a Astral keycrate but I didn't get to use it until yesterday because I out of no where had a busy schedule. I came online yesterday trying to use it and I got confused why it wasn't working, and then the server crashed. After it got put online again I checked my inventory and my wallet and I didn't receive anything. I can't show you the purchase agreement because for some reason my bank (ING, It's a dutch bank) doesn't allow me to make screenshots of my purchases. I did have my friends online (3ripleJ and Vinceboy9) who can confirm I did buy the key crate at that moment and used it before the crash.

By the way, my IGN is 8hrr

Refunded, thanks!


fixing doc string location and content

The block moved applies to the set method not to the get method, also the set method does not work with partial values it will return a 400 error using the current example

In Beam, we do not document set methods, but rather get methods. Please revert that part of the change.
R: @sammcveety  -- for the actual content of the documentation changes