v5: Update to Baselibs 8.7.0 default

This updates v5 to use Baselibs 8.7.0 by default

Your development orb(s) have been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link(s):
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:6fd789daa77b8a6afeaac15cd05bbde73196e0d3
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:alpha

Your development orb(s) have been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link(s):
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:aa3601501d0e766d2ff5b0cbfcbf8881e62d8eff
https://circleci.com/developer/orbs/orb/geos-esm/circleci-tools?version=dev:alpha


What makes this an Android only component?

After reading through the code the only thing Android specific I saw was the use of BackAndroid - is that the only reason you call this out as a Android only component? If so, wouldn't it be better to offload the BackAndroid usage to the developer using this component and allow the menu to work on Android and iOS?

Actually, since I don't have any mac to work with, I really didn't want to publish the component for iOS. If an issue arrive for iOS, I won't be able to tackle the issue. It could become hassle for other developers.

Through my testing, I've found that the only issue on iOS is an animation glitch when using the 3d Reveal, I think BackAndroid is simply ignored for iOS devices.

@proshoumma  do you think this would work on IOS because as @rmevans9 said the Only Android Specific thing you used was BackAndroid? did you try anything yet?


Adsk Contrib - remove namespace tabulation

Format files in include folder to remove the tabulation inside namespaces and removing trailing spaces.
Signed-off-by: Bernard Lefebvre<EMAIL_ADDRESS>

To correctly validate the pull request i.e. only tabulation changes, you could switch to the 'File Changed' tabulation and enable 'hide whitespace changes' (from the gear options).

As previously agreed for 'coding style' changes, we plan to merge the pull request Thursday to unlock us. Please let us know if you have some comment.


Street View Publish: google-gax not found

Windows 10
Python 2.7.14
google-cloud==0.33.1
gapic-google-maps-streetview-publish-v1==0.1.4
google-gax==0.15.16

Traceback:

Traceback (most recent call last):
File "C:/streetview/tests/test_upload.py", line 2, in
from google.streetview.publish.v1 import street_view_publish_service_client as client
File "C:\Users\Finfa811\.virtualenvs\streetview\lib\site-packages\google\streetview\publish\v1\street_view_publish_service_client.py", line 33, in
from google.gax import api_callable
File "C:\Users\Finfa811\.virtualenvs\streetview\lib\site-packages\google\gax_init_.py", line 47, in
version = pkg_resources.get_distribution('google-gax').version
File "C:\Users\Finfa811\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 311, in get_distribution
if isinstance(dist,Requirement): dist = get_provider(dist)
File "C:\Users\Finfa811\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 197, in get_provider
return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
File "C:\Users\Finfa811\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 666, in require
needed = self.resolve(parse_requirements(requirements))
File "C:\Users\Finfa811\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine\lib\setuptools-0.6c11\pkg_resources.py", line 565, in resolve
raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: google-gax

Steps & Code
pip install gapic-google-maps-streetview_publish-v1
Tried testing the example in https://developers.google.com/streetview/publish/libraries. Error is raised in the line:
from google.streetview.publish.v1 import street_view_publish_service_client as client

Hello @Finfa811,
I am sorry you are having trouble.
One thing I am noticing in your traceback: You are running setuptools 0.6c11. That is about nine years old at this point, and very likely to be the issue. Is it possible for you to upgrade to a modern version? (It looks like you are using something involving App Engine, which I confess I am not familiar with.)

Thanks @lukesneeringer.
You are right, the App Engine extension for Python is creating conflicts with the Street View Publish API. When you run gcloud components install app-engine-python, several libraries are installed, setuptools 0.6c11 among them.
In my virtualenv I have the last version of setuptools (39.2.0), but when running the code, the library is imported from the GAE distribution.
To fix it I just need to disable GAE support.
In any case it is very odd that such an old version of setuptools is installed by default with the App Engine SDK...

The only thing related to this repository in the report is that you appear to have the google-cloud umbrella package installed:  that package is deprecated, and also doesn't have anything to do with the reported traceback.
What is present in the traceback is libraries from the Google Cloud SDK distribution, which is supported here.


Starts porting Oppai in C#

I'm slowly porting Oppai pp calculation in C# based on the Java port made by @Francesco149 which you can see here: https://github.com/Francesco149/koohii/blob/master/src/main/java/com/github/francesco149/koohii/Koohii.java
The first version of it won't have any direct "link" with OsuSharp until it has been strongly tested. Then I'll slowly implement extension methods on OsuSharp.Oppai to calculate difficulties/pp from beatmap entities, scores, etc.
PS: I know there's already a port in C# but the GitHub repository is old, and archived, therefor not maintained.

A nuget package has been created for OsuSharp.Oppai. After a few tests, it seems it's like 95% accurate. Pp calculation for 100% accu with no mod seems perfect. When accu is not 100% or mod are added, it there's an error of some pps, but nothing very big, it seems.
It will need some tests now...

As it seems the port is a bit outdated (not supporting Taiko), I sadly decided to have a dependency over oppai.dll and use the dll api instead.


Pagination not enabled by default

How do I enable it? How do I set number of items to display? What about per model basis? Does my index method require changes to use pagination?
Will it be documented?
Thank you.

No news. Good news.


Core Dumped

Loading model from retinanet_rn50fpn.pth...
     model: RetinaNet
  backbone: ResNet50FPN
   classes: 80, anchors: 9
Bus error (core dumped)

nvidia 950m

This is caused by a shared_memory error.
If you are using the Docker version, make sure ton add the --icp=host option to the docker run command.
This will give the container enough shared memory to be able to run the training.

Thank you a lot!


Should we implement dft(x)?

In principle, though fft(x) has become standard terminology, it is about the computation of the DFT and the fact that the FFT algorithm is used is an implementation detail. Perhaps it makes sense to make a fallback implementation of dft(x) and idft(x) in terms of complex exponentials, i.e., simply implementing the O(n^2) sums in their definition. For AbstractFloats it could of course invoke fft to be faster.

Hmm, I tried but decided against it. It is opening a can of worms. Might be worth it for testing purposes.


docs: Update ethereum-package name on three pages

Description:

following merge of eth-network-package and eth2-package, updated quickstart, mevboost testnet guide, and local testnet guide to reflect updated naming and links
Is this change user facing?
YES

References (if applicable):

https://github.com/orgs/kurtosis-tech/projects/4/views/2?pane=issue&itemId=39970381

Deleted eth2 example for now!


MacOS support

In theory, MacOS should already be supported as both GTK and Rust support it. However, I cannot validate this because I don't have access to an apple computer.

Hey that's awesome news, tysm!

I cannot delete the input connection to the and gate for example without deleting the gate itself, is that normal?
Yes that's normal, I'm still working on that


Bug/revert attribs

Replace default and static with values that are allowed.  Fix elevation to match top-level name.

Updated readme with new values, reverted elevation


Can you please make the check for incompatible addons configurable?

As noted in the other thread: the gnucobol extension seems to miss a bunch of features that are available with this extension.
I would like to stay with the cobol extension, also when doing checks with gnucobol. The problem with that: While your gnucobol extension writes out a notification on each start, this extension deactivates itself as soon as a debugging extension for gnucobol (or is it any cobol extension but the microfocus extension?) is installed - even when I don't use it.
Please make this configurable. Maybe there could be a pull down "secure (disable when possible incompatibilities) [default]", "warning/output" and "disable check"?
Thank you!

The quick summary is that an option did already exist many moons ago but was removed because people were enabling and got unexpected, undesirable behaviour and expected me to fix something that was not possible to fix.
Disabling the check will bring back the impossible-to-resolve undefined behaviour that comes from Visual Studio Code associating a language with a set of extensions.   For example: If you click on a .cbl COBOL source, which extension would you expect to be activated.. both want to handle .cbl files.
The knowledgeable vscode developer already understands how some of this can be resolved through configuration but this does not stop multiple providers of vscode features from being triggered which generates multiple results or no results.   In one case it caused a registered language provider to "recursively" generate results because it was being handled by another language provider when it expect itself to handle it, which is gracefully handled by vsocde but it did consume a lot of CPU/memory, so the user of the extension experienced a major regression in performance.
This is the "core" purpose of the check itself.
The next issue is what the extension provides, this extension provides language support for Micro Focus COBOL language dialects, which although GnuCOBOL has support for very limited Micro Focus COBOL dialect, it fails to provide a lot of the core language features such as micro focus specific syntax, threading syntax, object-oriented syntax, managed code syntax, numerous types of APIs, embedded preprocessors for html, dli, cics etc.. the integration with java, .net and a lot more.. honestly I have to stop with the list, otherwise it will start to feel like I am picking wholes in the GnuCOBOL implement but I have to be honest the GnuCOBOL Micro Focus dialect implementation does not compare to the real thing.
This extension has evolved to deeply support the true Micro Focus COBOL language, so if was enabled/relaxed; you will easily end up colourising, providing IntelliSense for things that do not match the compiler or debugger.
For me, it is like having a C++ language extension, enabling it for C when the compiler and debugger don't handle C++.


NodeList's nodeAdded dispatched again and again.

The NodeList’s nodeAdded signal was dispatched when adding an component to Node’s entity

//in "addToGame"...
objs = game.getNodeList(ObjectNode);
objs.nodeAdded(addObjectToWorld);
//in "addObjectToWorld"...
function addObjectToWorld(node:ObjectNode)
{
var skin:SkinComponent = new SkinComponent();
//just add a SkinComponent to the Entity, but this will make the "nodeAdded" signal dispatched
// and "addObjectToWorld" was called again. and again....
node.entity.add(skin);
}

In Family.as, found:

internal function addIfMatch( entity : Entity ) : void{
if( !entities[entity] ){
...
nodes.add( node );
entities[entity] = node;
...
}
}

the NodeList.add is executed before store node in entities, which means the nodeAdded is dispatched before store node in entities. and the condition "!entities[entity]" will always be true...
I moved the codeline "entities[entity] = node;" before "nodes.add(node);", looks work fine. but i don't know whether it's will break Richardlord's design.

Thank you tamt. It's fixed now.


Remove mentions of Bourbon from the web site

Yes agree, this had me confused: The website indicates Bourbon as a dependency, but the latest commit messages on Neat's repository page indicates it no longer requires it!

This was fixed in https://github.com/thoughtbot/neat/pull/454 along with some other changes. Sorry, i missed this PR :(


Adding Entities, Components for Backend

PR for #19
This PR will add the following:

Entities. These are the base of our data system.
Components. These are the parts of an entity that define what it is.
Archetypes. This a describer that defines a set of components.

:eyes: I'll take a look at this tomorrow, looks super promising!

Last thing to note is that the 3 tests src-types/src/entity.rs pass perfectly. The doc tests however, above impl Entity infn add ..., fn get ... , and fn remove ... do not work currently. When I run cargo test the main 3 tests fail and the other doc tests fail.
This is not a major issue, but it is confusing when you run a cargo test. To fix this we need to

import correct dependencies in each doc test (I know repetitive :sweat_smile:)
create structs for A and B for each doc test


npm start fails

When I enter npm start, it fails with the following errors:
app/config.ts(2,13): error TS1005: ';' expected.
app/config.ts(3,67): error TS1005: ';' expected.
app/config.ts(9,1): error TS1128: Declaration or statement expected.
npm ERR! Darwin 16.1.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v7.7.1
npm ERR! npm  v4.1.2
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>start: tsc && concurrently "tsc -w" "lite-server"
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script 'tsc && concurrently "tsc -w" "lite-server" '.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the serverless-image-proc-backend package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     tsc && concurrently "tsc -w" "lite-server"
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs serverless-image-proc-backend
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls serverless-image-proc-backend
npm ERR! There is likely additional logging output above.

Hi khholtz,
looks like it's complaining about your "app/config.ts" file. When you did the step to fill in the values from the CloudFormation stack output, did you only overwrite the strings that say "TO_BE_REPLACED" (see the original config.ts file ?

You are indeed correct, in addition to the "TO_BE_REPLACED" I overwrote the string above.  Working now.  Thank you!


Bump allocator for workspace/temporary vectors

We commonly need "workspace" or "scratch" or other temporary vectors to perform some calculations. For example, Operator::AddMult is implemented as follows:
void Operator::AddMult(const Vector &x, Vector &y, const double a) const
{
   mfem::Vector z(y.Size());
   Mult(x, z);
   y.Add(a, z);
}

The vector z is a short-lived temporary vector. Especially on GPU, the cost of performing these allocations (especially in a loop, e.g. in a CG iteration or multigrid) can be non-negligible.
A solution often used currently is to move z to be a mutable data member of the class. This way, the allocation is performed once only. However, the storage for z is not freed as a long as the object is alive, and it cannot be used for other purposes.
This PR introduces a mechanism designed at helping solve this kind of issue. In this PR, Operator::AddMult is implemented as follows:
void Operator::AddMult(const Vector &x, Vector &y, const double a) const
{
   WorkspaceVector z = Workspace::NewVector(y.Size());
   Mult(x, z);
   y.Add(a, z);
}

Temporary vectors of this kind are created using Workspace::NewVector. The Workspace is essentially a "bump allocator" specifically designed for short-lived workspace vectors. When z goes out of scope, the backing vector (called a "chunk") remains allocated (i.e. there is no call to delete or cudaFree), however the Workspace is now free to reuse the memory for other workspace vectors. There is a mechanism to consolidate the allocated chunks to reduce fragmentation.
On GPU, creating a workspace vector with Workspace::NewVector (once the memory pool has been initialized) is orders of magnitude faster than allocating a new vector (incurring the overhead of cudaMalloc).
There are a couple of advantages of this approach:

Obtain roughly the same performance as the "mutable vector" approach, but without adding member data, and keeping the code clearer (the scope/lifetime of the temporaries becomes obvious, and classes don't need to manage a bunch of mutable "temp" vectors)
The memory used for workspace vectors can be reused between completely unrelated classes (e.g. when calling AddMult on two completely distinct Operators, the same buffer is used for the temporary z in both instances)

The main downside that I am aware of is that the workspace retains the storage needed, and this may increase memory usage in some situations.

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#4065
@pazner
@tzanio
@sebastiangrimberg + @v-dobrev + @tzanio + @artv3
1/27/24
⌛due 2/10/24
⌛due 2/17/24

PR Checklist

[ ] Code builds.
[ ] Code passes make style.
[ ] Update CHANGELOG:

[ ] Is this a new feature users need to be aware of? New or updated example or miniapp?
[ ] Does it make sense to create a new section in the CHANGELOG to group with other related features?

[ ] Update INSTALL:

[ ] Had a new optional library been added? If so, what range of versions of this library are required? (Make sure the external library is compatible with our BSD license, e.g. it is not licensed under GPL!)
[ ] Have the version ranges for any required or optional libraries changed?
[ ] Does make or cmake have a new target?
[ ] Did the requirements or the installation process change? (rare)

[ ] Update continuous integration server configurations if necessary (e.g. with new version requirements for each of MFEM's dependencies)

[ ] .github
[ ] .appveyor.yml

[ ] Update .gitignore:

[ ] Check if make distclean; git status shows any files that were generated from the source by the project (not an IDE) but we don't want to track in the repository.
[ ] Add new patterns (just for the new files above) and re-run the above test.

[ ] New examples:

[ ] All sample runs at the top of the example source file work.
[ ] Update examples/makefile:

[ ] Add the example code to the appropriate SEQ_EXAMPLES and PAR_EXAMPLES variables.
[ ] Add any files generated by it to the clean target.
[ ] Add the example binary and any files generated by it to the top-level .gitignore file.

[ ] Update examples/CMakeLists.txt:

[ ] Add the example code to the ALL_EXE_SRCS variable.
[ ] Make sure THIS_TEST_OPTIONS is set correctly for the new example.

[ ] List the new example in doc/CodeDocumentation.dox.
[ ] If new examples directory (e.g.examples/pumi), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add example-specific documentation, see e.g. the src/examples.md.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] In examples.md, list the example under the appropriate categories, add new categories if necessary.
[ ] Add a short description of the example in the "Extensive Examples" section of features.md.

[ ] New miniapps:

[ ] All sample runs at the top of the miniapp source file work.
[ ] Update top-level makefile and makefile in corresponding miniapp directory.
[ ] Add the miniapp binary and any files generated by it to the top-level .gitignore file.
[ ] Update CMake build system:

[ ] Update the CMakeLists.txt file in the miniapps directory, if the new miniapp is in a new directory.
[ ] Add/update the CMakeLists.txt file in the new miniapp directory.
[ ] Consider adding a new test for the new miniapp.

[ ] List the new miniapp in doc/CodeDocumentation.dox
[ ] If new miniapps directory (e.g.miniapps/nurbs), add it to MINIAPP_SUBDIRS in the makefile.
[ ] If new miniapps directory (e.g.miniapps/nurbs), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add miniapp-specific documentation, see e.g. the src/meshing.md and src/electromagnetics.md files.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] The miniapps go at the end of the page, and are usually listed only under a specific "Application (PDE)" category.
[ ] Add a short description of the miniapp in the "Extensive Examples" section of features.md.

[ ] New capability:

[ ] All new public, protected, and private classes, methods, data members, and functions have full Doxygen-style documentation in source comments. Documentation should include descriptions of member data, function arguments and return values, template parameters, and prerequisites for calling new functions.
[ ] Pointer arguments and return values must specify whether ownership is being transferred or lent with the call.
[ ] Any new functions should include descriptions of their intended use e.g. for internal use only, user-facing, etc., along with references to example code whenever possible/appropriate.
[ ] Consider adding new sample runs in existing examples to highlight the new capability.
[ ] Consider saving cool simulation pictures with the new capability in the Confluence gallery (LLNL only) or submitting them, via pull request, to the gallery section of the mfem/web repo.
[ ] If this is a major new feature, consider mentioning it in the short summary inside README (rare).
[ ] List major new classes in doc/CodeDocumentation.dox (rare).

[ ] Update this checklist, if the new pull request affects it.
[ ] Run make unittest to make sure all unit tests pass.
[ ] Run the tests in tests/scripts.
[ ] (LLNL only) After merging:

[ ] Update internal tests to include the new features.

This is really awesome! Great that it supports vectors of different sizes. I could see this being a big win when, for example, you have a lot of parallel or constrained operators and each one no longer needs to store it's own internal temporary l-vectors for the local multiplications. It should work with nesting as well, as far as I can tell, like for P1^T P2^T A P2 P1.

Yes, it will definitely work with nesting. The first time the operator is applied, you won't see any benefit (since the allocator has to set up the buffers initially), but for subsequent operator applications, the allocations should be essentially free. The memory usage will be the maximum sum of the sizes of temporary vectors that are alive simultaneously.

I am happy to be a reviewer on this once that starts. Looking forward to trying it out.

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

@v-dobrev suggested an alternative approach, where the workspace/"arena allocator" is available as a MemoryType. This would have some advantages (for example, other data structures, such as arrays or matrices, could be allocated in the workspace).
I made a prototype of this idea in this branch. I'm not super confident that the implementation is fully correct (I don't know well all the internals of the memory manager).

@v-dobrev suggested an alternative approach, where the workspace/"arena allocator" is available as a MemoryType. This would have some advantages (for example, other data structures, such as arrays or matrices, could be allocated in the workspace).
I made a prototype of this idea in this branch. I'm not super confident that the implementation is fully correct (I don't know well all the internals of the memory manager).

I just took a brief look as I was working on testing out this PR today. I'm not sure I agree with the design decision to make it a MemoryType. In the original implementation, the Workspace sits above the abstraction level of the memory manager and is  compatible with any memory manager backend (like unified memory, Umpire, or just the defaults), without the user doing anything special in their code when they interact with the Workspace. I like this encapsulation. On the other hand, as a type of MemoryType, we lose this ability I'm pretty sure. Even if we don't lose it, it makes the code more difficult to understand as now the workspace allocation for the bump allocator is all tied together with the memory manager backend code.

Also, I since this is meant to be used in application codes and not just an internal header (I think?), a  #include "general/workspace.hpp" line should be added to the top-level mfem.hpp.

I have a strange observation when using mfem::Workspace on GPU, something related to the MemoryManager I believe. I am seeing the following error:
CUDA error: (cudaMemcpy(dst, src, bytes, cudaMemcpyDeviceToHost)) failed with error:
 --> misaligned address
 ... in function: void* mfem::CuMemcpyDtoH(void*, const void*, size_t)
 ... in file: /data/home/sjg/software/palace/build-cuda-debug-x86_64/extern/mfem/general/cuda.cpp:162

These errors don't seem to be consistently reproducible in terms of where they show up, and changing different parts of the code  which are fully unrelated can change if it occurs or not. I've seen similar behaviors related to aliasing underlying Vector objects using MakeRef, and wonder if this is related. There isn't anything that sticks out as part of this PR which would create problems when running on GPUs, unless there are underlying issues with multiple levels of pointer aliasing for Memory objects.
@pazner, did you test this on GPU at all? Any ideas?

Updating here after debugging this odd misaligned address error. Walking through with cuda-gdb, the error is actually being encountered inside of cuSPARSE's spMV, and in particular here is the true error message thrown by cuSPARSE:
CUDA Exception: Warp Misaligned Address
The exception was triggered at PC 0x7f659b8a98d0

Thread 1 "palace-x86_64.b" received signal CUDA_EXCEPTION_6, Warp Misaligned Address.
[Switching focus to CUDA kernel 0, grid 554, block (80,0,0), thread (32,0,0), device 0, sm 0, warp 10, lane 0]
0x00007f659b8a9900 in void cusparse::csrmv_v3_partition_kernel<256, cusparse::VectorScalarMultiplyPolicy, int, int, double, double, double>(int const*, int, int, int, int*, cusparse::KernelCoeff<double>, int, double*)<<<(3767,1,1),(256,1,1)>>> ()

I'm using CUDA 12.2. When I use mfem::Workspace vectors, I can end up with a case where a vector starts at an alignment that seems to be rejected by cuSPARSE. Forcing the initial pointer for a vector to align to 16 bytes, instead of 8 which happens naturally, solves the errors. The issue thus arrises when putting a WorkspaceVector in a WorkspaceChunk following an odd-sized vector. I cannot find anywhere in the cuSPARSE or CUDA docs where there is a requirement for 16 byte alignment of the first entry of vector data, but it does seem to be that cuSPARSE is requiring this at least in this function. Seems very bizarre to me but maybe someone else has experience with this and it's expected behavior.
Here is the small patch required to force the non-standard alignment:
index ad8210a61..69622ec70 100644
--- a/general/workspace.cpp
+++ b/general/workspace.cpp
@@ -15,11 +15,11 @@ namespace mfem
 {

 WorkspaceVector::WorkspaceVector(
-   internal::WorkspaceChunk &chunk_, int offset_, int n)
+   internal::WorkspaceChunk &chunk_, int offset_, int n, int padding)
    : Vector(chunk_.GetData(), chunk_.GetOffset(), n),
      chunk(chunk_),
      offset(offset_),
-     original_size(n)
+     original_size(n + padding)
 {
    UseDevice(true);
 }
@@ -47,9 +47,12 @@ WorkspaceChunk::WorkspaceChunk(int capacity)

 WorkspaceVector WorkspaceChunk::NewVector(int n)
 {
-   MFEM_ASSERT(HasCapacityFor(n), "Requested vector is too large.");
-   WorkspaceVector vector(*this, offset, n);
-   offset += n;
+   constexpr int alignment = 16;
+   const int s = (n * sizeof(double)) % alignment;
+   const int padding = (s > 0) ? (alignment - s) / sizeof(double) : 0;
+   MFEM_ASSERT(HasCapacityFor(n + padding), "Requested vector is too large.");
+   WorkspaceVector vector(*this, offset, n, padding);
+   offset += n + padding;
    vector_count += 1;
    return vector;
 }
diff --git a/general/workspace.hpp b/general/workspace.hpp
index b5c0ebae8..e41e71b11 100644
--- a/general/workspace.hpp
+++ b/general/workspace.hpp
@@ -50,7 +50,8 @@ class WorkspaceVector : public Vector
    bool moved_from = false;

    /// Private constructor, create with Workspace::NewVector() instead.
-   WorkspaceVector(internal::WorkspaceChunk &chunk_, int offset_, int n);
+   WorkspaceVector(internal::WorkspaceChunk &chunk_, int offset_, int n,
+                   int padding = 0);

 public:
    /// @brief Move constructor. The moved-from WorkspaceVector has @a
@@ -104,6 +105,9 @@ public:
    /// Create a WorkspaceChunk with the given @a capacity.
    WorkspaceChunk(int capacity);

+   /// Return the data offset.
+   int GetOffset() const { return offset; }
+
    /// @brief Return the available capacity (i.e. the largest vector that will
    /// fit in this chunk).
    int GetAvailableCapacity() const { return data.Size() - offset; }
@@ -115,15 +119,12 @@ public:
    /// "original capacity" remains unchained.
    int GetOriginalCapacity() const { return original_capacity; }

-   /// Return the data offset.
-   int GetOffset() const { return offset; }
+   /// Returns true if this chunk can fit a new vector of size @a n.
+   bool HasCapacityFor(int n) const { return n <= GetAvailableCapacity(); }

    /// Sets whether the chunk is in the front of the list
    void SetFront(bool front_) { front = front_; }

-   /// Returns true if this chunk can fit a new vector of size @a n.
-   bool HasCapacityFor(int n) const { return n <= GetAvailableCapacity(); }
-
    /// Returns true if this chunk is empty.
    bool IsEmpty() const { return vector_count == 0; }

We could expose the alignment variable with a default of sizeof(double) (or sizeof(real_t) eventually) so users could set this. I have to imagine we would always want the default and would hope this issue with cuSPARSE is a bug or issue with my CUDA installation perhaps, but am not certain.

@v-dobrev suggested an alternative approach, where the workspace/"arena allocator" is available as a MemoryType. This would have some advantages (for example, other data structures, such as arrays or matrices, could be allocated in the workspace).
I made a prototype of this idea in this branch. I'm not super confident that the implementation is fully correct (I don't know well all the internals of the memory manager).

I just took a brief look as I was working on testing out this PR today. I'm not sure I prefer the design where it is implemented as another MemoryType. In the original implementation, the Workspace sits above the abstraction level of the memory manager and is compatible with any memory manager backend (like unified memory, Umpire, or just the defaults), without the user doing anything special in their code when they interact with the Workspace. Though I think this still stands with the new implementation, I think it makes the code more difficult to understand as now the workspace allocation for the bump allocator is all tied together with the memory manager backend code when it doesn't seem like it has to be.
The enums for memory types were previously exclusive, and the new design doesn't seem to reflect that. A memory object with HOST_WORKSPACE or DEVICE_WORKSPACE type actually has underlying memory which has one of the other types associated with it. This makes me suspicious of whether this is the right place to insert this new functionality and whether or not it will play nicely with the other memory types.

I would like to return to working on this PR. These are all good points. @v-dobrev, what are your thoughts about this? (Having thought about it a bit more, I do think the ability to have non-Vector scratch memory could be very useful).
Also, regarding the alignment issues, it appears that the 16-byte alignment is indeed a requirement for cuSPARSE (see here). We can probably just always enforce 16-byte alignment for new allocations. Apparently cudaMalloc always enforces 128-byte alignment. We could do the same when allocating device memory?

I substantially re-worked this PR after some discussion and feedback. (There has been a force-push to this branch—sorry!).
The fast arena allocator is now implemented using the memory manager. This likely incurs some amount of overhead (there are some hash map lookups, there are some virtual function calls in the memory manager, etc.). We should benchmark to see if the performance impact is significant. My guess is that the performance is still acceptable. I intend to add a mechanism to configure the memory manager to use e.g. Umpire for these allocations instead of the build-in arena allocator. The memory type is retrieved using Device::GetDeviceTemporaryMemoryType(), which is pretty verbose—we probably want something shorter/more convenient to type?
The deallocation method is more flexible. We don't strictly require stack (LIFO) ordering for the allocations, because the individual allocations are tracked more closely (using the hash map; this incurs some overhead, but is more flexible).
All arena allocations are aligned to 256 bytes (CUDA API calls also align to 256 bytes, so this is consistent, and should work with all the CUDA libraries).
There are still a few rough edges, but I think it's ready for another look at. @artv3, @hughcars, would you mind seeing if this implementation works with your applications (and if there are significant performance implications)?

I measured the overhead of requesting a new temporary vector to previously allocated memory, and it appears to be about 1/3 microsecond per temporary vector, regardless of requested vector length N.

I also benchmarked BlockOperator::Mult setup for partial assembly in the same way as in ex5.cpp (Darcy problem) for a 2D rectangular domain with N elements along each side, with degree 1-3 elements.

Overall the two perform similarly, though there are a few discrepancies which I suspect are due to some kind of systematic issue with how I setup the benchmark.

A great improvement indeed 😉 , but I have a question. Is the implementation thread safe? A can imagine that someone will accidentally or intentionally try to allocate thread local vectors with this... 🤔

A great improvement indeed 😉 , but I have a question. Is the implementation thread safe? A can imagine that someone will accidentally or intentionally try to allocate thread local vectors with this... 🤔

Good point, I haven't really thought about it, which means that it's very likely not thread-safe 😅 I would imagine that some kind of locks or mutexes would be needed to avoid data races.
On this topic: is the memory manager itself generally thread-safe? There are global maps that store metadata associated with allocated pointers (e.g. device pointer and alias information), I don't know if we can guarantee that there aren't data races, etc.
I don't know if this is important for the design. Maybe documentation would suffice for now?

Can you please merge the updated master and resolve conflicts?

@pazner , I just quickly checked and I think the memory manager is roughly thread-safe only on host, which is probably more or less ok, as no one mixes legacy OpenMP with GPUs hopefully 🤔 . However, I would consider the workspace vectors even for host, so we could get rid of the guarded ( with MFEM_THREAD_SAFE) local allocations of vectors, which are missing at many places anyway. This PR does not make the situation worse, but could make it better 😉
A straightforward and performant way how to achieve thread safety could be to split the arena, so there would be multiple instances, each for one thread. There would then some accessing stub, returning the corresponding arena based on the thread id. This would work at least for OpenMP with omp_get_thread_num(). However, it can be deferred to a later PR and some documentation notes/warnings for now 😉 .

Thanks for checking @najlkin.
I agree that the MFEM_THREAD_SAFE allocation of local vectors could be improved significantly here. I guess two options are (1) to have thread-local arenas, or (2) to make the arena thread safe.
I propose that we postpone this to a future PR (I'd be happy to review, but I don't have the expertise to implement). In the meantime I will write some documentation and mention this.


Alter Study.prep_templates action

calling an instantiated study object's prep_templates function should return a dict of artifacts, keyed by plugin type, e.g.
{'TargetGene.16S': [PrepTemplate1, PrepTemplate2, ...], ...}

I think that after our offline discussion we agreed that this is not needed?

It would still save a couple DB calls, but yeah, it's not strictly needed.


Hide the menu and bottom bottom when fullscreen

When in fullscreen mode it should only display the image. A preference in the GUI and/or a command line option to start in fullscreen mode should be available.
Would allow the image viewer to be a great alternative to minimal image viewers like imv or feh.

Good point. I added it in 27c032d.


test: If a new commit on the current branch has a Fixes: #… line, check codebase for TODO(#…)s

It would be nice to have an automated check for TODO(#…)s that remain in the code when they're supposed to be deleted as part of fixing the specified issue. These might have been left in accidentally despite the issue actually being fixed properly, or they might have been missed because there was actually something important to do that wasn't done.
Can we add something in tools/check that checks all new commits on the current branch (the ones not on upstream/main) to see if any has a Fixes line, and errors if there are any corresponding TODO(#…)s still in the codebase?

Sure, seems reasonable.
The way to spell upstream/main in the script should be $(git_upstream_ref), using a helper from lib/git.sh.
Then to find "Fixes" lines, I'd take git log "$(git_upstream_ref)".. --format=%b and pipe that through an appropriate Perl one-liner, which can print just the issue number for each match.


Added ability to toggle on/off the small bottom-left menu

Sometimes, especially for experiments, it's good to have a clean window without any menus to take screenshots. I added a small code that provides a toggle to turn on or off the bottom-left stats menu. I also added an optional parameter to turn it off when initializing the viewer. By default, nothing changes, the stats menu will be visible as like before.
I had to introduce two different names for these menus: help_menu for the previous menu and statistics_menu for the bottom-left one.

Hi @rohanpsingh just pushed the new changes. Let me know if this is better. Thanks for sharing this library, it's really useful.

Thanks, I'll merge!


Feedback

[ ] Sign in/ sign up with google is redirecting back to sign in page, and account is getting created but not able to login

[x] Need to add text "Profile" or "Account"

[x] profile icon is blank

[x] "Not Verified" might sound better

[x] Top section is not aligned with other section

placeholder is missing, title is center-aligned, description below title is missing

@ShaileshParmar11 , regarding this, verified and unverified terms are standard, so will keep that only.

"Not Verified" might sound better

@ShaileshParmar11 , Not able to reproduce this, recording might be helpful.

Sign in/ sign up with google is redirecting back to sign in page, and account is getting created but not able to login

@ShaileshParmar11 , Not able to reproduce this, recording might be helpful.

Sign in/ sign up with google is redirecting back to sign in page, and account is getting created but not able to login

https://github.com/Sachin-chaurasiya/Code-Snippets-Builder/assets/71748675/8f6691f9-f38d-42d2-932d-f3dabb124693

@ShaileshParmar11 , Not able to reproduce this, recording might be helpful.

Sign in/ sign up with google is redirecting back to sign in page, and account is getting created but not able to login

Screen.Recording.2023-06-14.at.10.46.31.PM.mov

@ShaileshParmar11 , usually it's not reproducible, however, I can reproduce on incognito, I have added a toast message to have proper context why it's failing.

Thanks @ShaileshParmar11  for the feedbacks, I have try to address all of them.

Thanks, @ShaileshParmar11 for the feedback, I have tried to address all of them.

@ShaileshParmar11 , Appwrite uses session cookies to store the session and your browser might be blocking the 3rd party cookies, that's why you are not able to log in.


Does not work on iOS

Expected Behavior
The editor functionality should work in iOS Safari.
Actual Behavior
There is no visible cursor, and the invisible cursor that is placed on the page does not work correctly, and clicking the Tweet and Save buttons simply does nothing.

Duplicate of #28. Closing.


[CHORE] Complete removal of fsspec

Removes all user-facing fsspec APIs.
After this PR, we no longer need fsspec as a dependency.

Removes the fs= kwarg from:
a. daft.read_parquet
b. daft.read_json
c. daft.read_csv
As a result, the fs kwarg is also removed in all downstream APIs.
We also deprecate and remove the use of StorageConfig which used to help us pass along fsspec-parametrized IO configurations. Now we just use a naked IOConfig object.

Closing this branch until we decide to completely eliminate non-native reads


google place library language option does not work

even passing the language:['en'] options to Autocomplete,
the actual https request (as below) still fire using the language loaded in AgmCoreModule.forRoot
https://maps.googleapis.com/maps/api/place/js/PlaceService.GetPlaceDetails?2sja-JP&key=MYKEY
    // Load Places Autocomplete
    this.mapsAPILoader.load().then(() => {
      let autocomplete = new google.maps.places.Autocomplete(this.searchInputRef.nativeElement, {
        types: ['address'],
        language:['en']
      });
      autocomplete.addListener('place_changed', () => {

        this.ngZone.run(() => {
          // get the place result
          let selectedPlace = autocomplete.getPlace();

         // place.formatted_address => is in english, because I didn't setup it.
         // Need to have opportunity for localization of formatted_address
        });
      });
    });

make a look on the mapLoaderAPI, and i found a quick and dirty way to make "_config" public so that i can set this.mapsAPILoader._config.language to whatever i want before running this.mapsAPILoader.load()
and magic, everything work fine

@kkbear1985 How did you do this?

@kkbear1985 How did you do this?

just declare _config @LazyMapsAPILoader.ts to public and make is public too at MapsAPILoader.ts
quick and dirty

@kkbear1985  Can you please explain the solution, didn't get what you did.

@kkbear1985  Can you please explain the solution, didn't get what you did.

@kkbear1985 Can you please explain the solution, didn't get what you did.

i did it when it was angular 7.. not sure if it still work..

edit angular-google-maps/packages/core/src/lib/services/maps-api-loader/lazy-maps-api-loader.ts  line 84 as below
add a line public _config; in angular-google-maps/packages/core/src/lib/services/maps-api-loader/maps-api-loader.ts
before  this.mapsAPILoader.load(); add this line this.mapsAPILoader._config.language="en";

@Injectable() export class LazyMapsAPILoader extends MapsAPILoader {   protected _scriptLoadingPromise: Promise<void>;   public _config: LazyMapsAPILoaderConfigLiteral; //<===edit this   protected _windowRef: WindowRef;   protected _documentRef: DocumentRef;   protected readonly _SCRIPT_ID: string = 'agmGoogleMapsApiScript';   protected readonly callbackName: string = agmLazyMapsAPILoader;

@kkbear1985 Can you please explain the solution, didn't get what you did.

i did it when it was angular 7.. not sure if it still work..

edit angular-google-maps/packages/core/src/lib/services/maps-api-loader/lazy-maps-api-loader.ts  line 84 as below
add a line public _config; in angular-google-maps/packages/core/src/lib/services/maps-api-loader/maps-api-loader.ts
before  this.mapsAPILoader.load(); add this line this.mapsAPILoader._config.language="en";

@Injectable() export class LazyMapsAPILoader extends MapsAPILoader {   protected _scriptLoadingPromise: Promise<void>;   public _config: LazyMapsAPILoaderConfigLiteral; //<===edit this   protected _windowRef: WindowRef;   protected _documentRef: DocumentRef;   protected readonly _SCRIPT_ID: string = 'agmGoogleMapsApiScript';   protected readonly callbackName: string = agmLazyMapsAPILoader;


fix: chage the default test scope to avoid targeting map files or gzip files

Description

Fix invalid regular expression used as default setting for identifying js files from asset name. Related to #114.
This changes applies to v2 of the plugin.
How has this been tested?

Tested with:

devtool: 'source-map' enabled, which generates a [name].js.map file
mode: 'development' enabled, which generates a [name].js.LICENSE.txt file

Check to see if the non-js files are correctly emitted.
Types of changes

[ ] New feature - feat
[x] Bug fix - fix
[ ] Refactor - refactor
[ ] Test cases - test
[ ] Other(s):

Remarks

N/A

/rebase


Upgrade<EMAIL_ADDRESS>

Please make sure the below checklist is followed for Pull Requests.

[ ] All continuous integration tests are green

[ ] Tests are added where necessary

[ ] Documentation is added/updated where necessary

[ ] Coding Rules & Commit Guidelines as per our CONTRIBUTING.md document are followed

@pascalgrimaud Will this commit be released soon? Otherwise one cannot generate with Vue blueprint smoothly with JHipster 6.9.1.

@tan9 : I plan to do a release soon. In the meantime, you should be able to skip checks: jhipster --blueprints vuejs --skip-checks, so it won't check the compatibility

@tan9 : for your information, a new version of this blueprint has been released: v1.8.2


Add support for STJ-native C# code gen

I took another crack at adding the missing System.Text.Json polymorphic serialization features to NSwag's C# client generator (previous PR: https://github.com/RicoSuter/NJsonSchema/pull/1595).
As per your suggestion I added a C# client generator setting named JsonPolymorphicSerializationStyle that defaults to NSwag (old behavior). Setting it to SystemTextJson will opt into the new behavior:

Generate JsonPolymorphic and JsonDerivedType attributes
Don't generate JsonInheritanceConverter and JsonInheritanceAttribute classes

I also added a corresponding (WIP) PR in the NSwag repo that might be missing a couple of things: https://github.com/RicoSuter/NSwag/pull/4782/files

@schnerring @RicoSuter What's the latest status of this PR?

@RicoSuter Anything else? It's good to go from my side.

@schnerring Would you mind adding a setting to support JsonUnknownDerivedTypeHandling ?
I could do the work if you want me to.
// Ryan

@schnerring @RicoSuter What's the latest status of this PR? It is related to issue #4375 which is critical because can lead to denial of service on public APIs

@schnerring @RicoSuter What's the latest status of this PR? It is related to issue #4375 which is critical because can lead to denial of service on public APIs

Which issue #4375 ?

Sorry about that. This issue - https://github.com/RicoSuter/NSwag/issues/4375

Yep in christianhelle/refitter/#462 we worked around it using the STJ-native.

@schnerring @RicoSuter What's the latest status of this PR? It is related to issue RicoSuter/NSwag#4375 which is critical because can lead to denial of service on public APIs

We're experiencing the same, stackoverflow exceptions on incorrect/missing type discriminator. Any reason why this PR is open for so long?

Thanks for the PR.
Regarding the stackoverflow, I could not really repro this:
https://github.com/RicoSuter/NJsonSchema/commit/22d33c9e65615080b04bb3587c444b31eb22f3b0#diff-181052195a641873f0edadea91a8d21aa00fbd92982bc42bd24431593e9cd04b

Should we make this the new default or is something missing?


New snippet to demonstrate loop->switch->break

Summary
New snippet to demonstrate break statements inside of switch statements inside of loops.
Fixes (well, prepares) dotnet/docs#9566

 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.:x: davidlfox sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Upgrade qt

qt 6.6.2 isn't released yet. Once it will, it should have this fix https://bugreports.qt.io/browse/QTBUG-117765


Upgrading google authenticator version

Upgrading the Google authenticator version to onboard Google One Tap feature

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/3194942396

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/3194942396
Status: failure


Reset signalling state when answer a call after receiving 180/183 with SDP.

I added state storage to flutter-webrtc.
https://github.com/cloudwebrtc/flutter-webrtc/commit/396af855ac7f13a378c4dcd87856e60dfdfeb7a2
Try to fix the error after receiving 180/183 with SDP.

Isn't the design already in JsSIP?

Yes, there are already designs in JsSIP, but the expected state is inconsistent.

I use this branch to test the call on FreeSwitch, answered after receiving the early media, it seems to work fine.

It's a holiday here tomorrow, but I can arrange access to an asterisk system next week if that helps.

@rlsutton1 If you can, please send the asterisk test account to my Github email to reproduce the error, but I have a week holiday and go online again on October 3.

The expected state should be RTCSignalingStateStable because the SDP negotiation has been completed.
The explanation of stable is as follows:
There is no ongoing exchange of offer and answer underway.
This may mean that the RTCPeerConnection object is new,
in which case both the localDescription and remoteDescription are null;
**it may also mean that negotiation is complete and a connection has been established.**

==> it may also mean that negotiation is complete and a connection has been established. <==
So I think this PR is correct, and when you test on Asterisk, the state is RTCSignalingState.RTCSignalingStateHaveLocalOffer, I guess your state is after the completion of CreateOffer and SetLocalDescription, but before receiving the 180/183 SDP, but I don't understand why I can't setRemoteDescription.

I’ve been attempting to connect with FreeSWITCH using the provided example in this repo, but without success. Can anyone provide me with a working example for connecting with FreeSWITCH? I’ve even tried using code generated by ChatGPT, but it didn’t work. I’ve been stuck on this for days and would appreciate any help.


Use setuptools>60 for cpython3.12, skip unicode test on PyPy and 3.12+

See issue #5149. This skips the test that cannot run on 3.12+ and is problematic on PyPy. I think there should still be a warning somewhere if the APIs are used.
This also unpins setuptools for 3.12 so the tests can start.

python3.12 tests are running. The PyTypeObject in 3.12 gained a tp_watched field, so there are lots of warnings about that which makes it hard to see what else is failing.

Thanks


Missing word in cloud native security page

This is a Bug Report

Problem:
I wrote Cloud Native Security and Kubernetes but I think I missed a word out.
In the paragraph:

Containers provide two things: isolation between different applications, and a mechanism to combine those isolated applications to run on the same host computer. Those two aspects, isolation and aggregation, mean that runtime security involves trade-offs and finding an appropriate balance.

the trade-offs parts seems to be repeated by “finding an appropriate balance“.
Proposed Solution:
Before “trade-offs“, add the word “identifying”
Page to Update:
https://kubernetes.io/docs/concepts/security/cloud-native-security/

Additional Information:
/good-first-issue
/triage accepted
/sig security
/language en
Anyone is welcome to send in a PR to fix this. If you've contributed to Kubernetes before, please consider leaving this one for a new contributor to pick up.

/assign

/unassign

/assign


[question] is it possible to provide a pre-populated target image somehow?

In many examples on YT it is suggested to do this in order to force a certain structure. For example one could pre-populate a target image with floor tiles to mark a walkable way or where a certain room shall be.
Is that possible?
Oh, and while I'm at it: the library returns an image. However, in order to use this in a game I don't really need an image but a 2d map of tile types (e.g. walkable, walls/water/holes etc). So it would be required to pass in a list of tile properties along with the initial tileset to the function, which it keeps per every placed tile. Does that make sense?
thanks in advance,
Tom

Update: to show what I mean: This is what I'd need:

So, I need (in this case) closed room[s]. Rooms maybe connected but if they are not, it's fine as well because in my game I have portals.
However, this is what I get currently:

How can I solve this?

So, I tried adding the feature myself, which might be a good opportunity to get deeper into WFC, see https://github.com/TLINDEN/go-wfc/commit/c75a9534d6415867f2556603fa6b8089462bbb9a
However, it's not working yet. I assume I got the slot population wrong somehow?
With this pre-populated output map:

And using this example I get:

:(

Ok, I compared the wave.PossibilitySpace contents after one successful example (examples/islands/) with the content of the pre-populated one:

[X] Each pre-populated slot has 1 module
[X] all 4 Adjacency checksums of those slots have the same value (since I pre-populated it with only water tiles)
[X] all non-pre-populated slots have all 16 modules

I really don't get it why it's not working.
Any idea? (example: https://github.com/TLINDEN/go-wfc/tree/main/examples/islands-pre)

so, [slot 24] in this example has 0 modules:
slot 24, modules: 0:

This is the single tile surrounded by transparency...

Ah, there's the problem: I prepopulate wave.PossibilitySpace with the slots of the setup image. But I set all other slots to any, including the ones neighboring the prepopulated ones. Abd the loop doesn't look at the prepopulated slots, because they have entropy 1. So, I think, their neighbors do not get a chance to get propagated properly. So in order to get a correct starting map, the propagation needs to run over the whole map once before the actual collapse loop.


[BUG] exception when using .netcoreapp3.0

Describe the bug

https://github.com/StanleyGoldman/UnderstandReactiveUIProblem
System.TypeInitializationException : The type initializer for 'ReactiveUI.RxApp' threw an exceptio
---- System.TypeLoadException : Could not load type 'System.Reactive.Concurrency.DispatcherScheduler' from assembly 'System.Reactive, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=94bc3704cddfc263'.

I've tried adding 4.2.0-preview.625 explicitly and i'm not getting any luck
Steps To Reproduce

Add rxui 10 to netcoreapp3.0 on wpf.
Expected behavior

No exception.

Issue is caused by the lack of <UseWpf>true</UseWpf> in the test .csproj file. This is expected functionality. Closing this issue.

I didn't realize, thanks for the answer.
I am looking for where that is documented. I don't see it.


[BUG] AttributeError: Hash information for sdist was not found on PyPi metadata.

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Ran grayskull pypi arn --maintainers BastianZim -o /package --strict-conda-forge
See error

Expected behavior
A clear and concise description of what you expected to happen.
The template for the package should be created.
Outputs
If applicable, add the output to help explain your problem.
Error:
#### Initializing recipe for arn (pypi) ####

Recovering metadata from pypi...
Traceback (most recent call last):
  File "/Users/username/opt/anaconda3/envs/grayskull/bin/grayskull", line 10, in <module>
    sys.exit(main())
  File "/Users/username/opt/anaconda3/envs/grayskull/lib/python3.9/site-packages/grayskull/__main__.py", line 121, in main
    recipe = GrayskullFactory.create_recipe(
  File "/Users/username/opt/anaconda3/envs/grayskull/lib/python3.9/site-packages/grayskull/base/factory.py", line 22, in create_recipe
    return GrayskullFactory.REGISTERED_CLASS[repo_type.lower()](
  File "/Users/username/opt/anaconda3/envs/grayskull/lib/python3.9/site-packages/grayskull/pypi/pypi.py", line 58, in __init__
    super(PyPi, self).__init__(name=name, version=str(version) if version else None)
  File "/Users/username/opt/anaconda3/envs/grayskull/lib/python3.9/site-packages/grayskull/base/base_recipe.py", line 58, in __init__
    self.update_all_recipe()
  File "/Users/username/opt/anaconda3/envs/grayskull/lib/python3.9/site-packages/grayskull/base/base_recipe.py", line 114, in update_all_recipe
    self.refresh_section(section)
  File "/Users/username/opt/anaconda3/envs/grayskull/lib/python3.9/site-packages/grayskull/pypi/pypi.py", line 534, in refresh_section
    metadata = self._get_metadata()
  File "/Users/username/opt/anaconda3/envs/grayskull/lib/python3.9/site-packages/grayskull/pypi/pypi.py", line 553, in _get_metadata
    pypi_metadata = self._get_pypi_metadata(name, version)
  File "/Users/username/opt/anaconda3/envs/grayskull/lib/python3.9/site-packages/grayskull/pypi/pypi.py", line 713, in _get_pypi_metadata
    "sha256": PyPi.get_sha256_from_pypi_metadata(metadata),
  File "/Users/username/opt/anaconda3/envs/grayskull/lib/python3.9/site-packages/grayskull/pypi/pypi.py", line 759, in get_sha256_from_pypi_metadata
    raise AttributeError(
AttributeError: Hash information for sdist was not found on PyPi metadata.

Environment:

conda list:

# packages in environment at /Users/username/opt/anaconda3/envs/grayskull:
#
# Name                    Version                   Build  Channel
alabaster                 0.7.12                     py_0    conda-forge
babel                     2.9.0              pyhd3deb0d_0    conda-forge
brotlipy                  0.7.0           py39h66d5b7b_1001    conda-forge
c-ares                    1.17.1               hc929b4f_0    conda-forge
ca-certificates           2020.12.5            h033912b_0    conda-forge
certifi                   2020.12.5        py39h6e9494a_1    conda-forge
cffi                      1.14.4           py39h7786acb_1    conda-forge
chardet                   4.0.0            py39h6e9494a_1    conda-forge
colorama                  0.4.4              pyh9f0ad1d_0    conda-forge
cryptography              3.3.1            py39h79a2c39_1    conda-forge
curl                      7.71.1               hcb81553_8    conda-forge
docutils                  0.16             py39h6e9494a_3    conda-forge
expat                     2.2.9                hb1e8313_2    conda-forge
gettext                   <IP_ADDRESS>          h7937167_1005    conda-forge
git                       2.30.0          pl5320hd05cdc2_0    conda-forge
grayskull                 0.8.4              pyhd8ed1ab_0    conda-forge
idna                      2.10               pyh9f0ad1d_0    conda-forge
imagesize                 1.2.0                      py_0    conda-forge
jinja2                    2.11.2             pyh9f0ad1d_0    conda-forge
krb5                      1.17.2               h60d9502_0    conda-forge
libcurl                   7.71.1               h9bf37e3_8    conda-forge
libcxx                    11.0.0               h4c3b8ed_1    conda-forge
libedit                   3.1.20191231         h0678c8f_2    conda-forge
libev                     4.33                 haf1e3a3_1    conda-forge
libffi                    3.3                  h046ec9c_2    conda-forge
libiconv                  1.16                 haf1e3a3_0    conda-forge
libnghttp2                1.41.0               h7580e61_2    conda-forge
libssh2                   1.9.0                h8a08a2b_5    conda-forge
markupsafe                1.1.1            py39hcbf5805_3    conda-forge
ncurses                   6.2                  h2e338ed_4    conda-forge
openssl                   1.1.1i               h35c211d_0    conda-forge
packaging                 20.8               pyhd3deb0d_0    conda-forge
pcre                      8.44                 hb1e8313_0    conda-forge
perl                      5.32.0               hbcb3906_0    conda-forge
pip                       20.3.3             pyhd8ed1ab_0    conda-forge
progressbar2              3.53.1             pyh9f0ad1d_0    conda-forge
pycparser                 2.20               pyh9f0ad1d_2    conda-forge
pygments                  2.7.3              pyhd8ed1ab_0    conda-forge
pyopenssl                 20.0.1             pyhd8ed1ab_0    conda-forge
pyparsing                 2.4.7              pyh9f0ad1d_0    conda-forge
pysocks                   1.7.1            py39h6e9494a_3    conda-forge
python                    3.9.1           h1d169a7_3_cpython    conda-forge
python-utils              2.4.0                      py_0    conda-forge
python_abi                3.9                      1_cp39    conda-forge
pytz                      2020.5             pyhd8ed1ab_0    conda-forge
rapidfuzz                 0.12.5           py39ha36be7a_0    conda-forge
readline                  8.0                  h0678c8f_2    conda-forge
requests                  2.25.1             pyhd3deb0d_0    conda-forge
ruamel.yaml               0.16.12          py39hcbf5805_2    conda-forge
ruamel.yaml.clib          0.2.2            py39hcbf5805_2    conda-forge
ruamel.yaml.jinja2        0.2.4                      py_1    conda-forge
setuptools                49.6.0           py39h6e9494a_3    conda-forge
six                       1.15.0             pyh9f0ad1d_0    conda-forge
snowballstemmer           2.0.0                      py_0    conda-forge
sphinx                    3.4.3              pyhd8ed1ab_0    conda-forge
sphinxcontrib-applehelp   1.0.2                      py_0    conda-forge
sphinxcontrib-devhelp     1.0.2                      py_0    conda-forge
sphinxcontrib-htmlhelp    1.0.3                      py_0    conda-forge
sphinxcontrib-jsmath      1.0.1                      py_0    conda-forge
sphinxcontrib-qthelp      1.0.3                      py_0    conda-forge
sphinxcontrib-serializinghtml 1.1.4                      py_0    conda-forge
sqlite                    3.34.0               h17101e1_0    conda-forge
stdlib-list               0.7.0                      py_2    conda-forge
tk                        8.6.10               h0419947_1    conda-forge
tzdata                    2020f                he74cb21_0    conda-forge
urllib3                   1.26.2             pyhd8ed1ab_0    conda-forge
wheel                     0.36.2             pyhd3deb0d_0    conda-forge
xz                        5.2.5                haf1e3a3_1    conda-forge
zlib                      1.2.11            h7795811_1010    conda-forge

pip list

Package                       Version
----------------------------- -------------------
alabaster                     0.7.12
Babel                         2.9.0
brotlipy                      0.7.0
certifi                       2020.12.5
cffi                          1.14.4
chardet                       4.0.0
colorama                      0.4.4
cryptography                  3.3.1
docutils                      0.16
grayskull                     0.8.4
idna                          2.10
imagesize                     1.2.0
Jinja2                        2.11.2
MarkupSafe                    1.1.1
packaging                     20.8
pip                           20.3.3
progressbar2                  3.53.1
pycparser                     2.20
Pygments                      2.7.3
pyOpenSSL                     20.0.1
pyparsing                     2.4.7
PySocks                       1.7.1
python-utils                  2.4.0
pytz                          2020.5
rapidfuzz                     0.12.5
requests                      2.25.1
ruamel.yaml                   0.16.12
ruamel.yaml.clib              0.2.2
ruamel.yaml.jinja2            0.2.4
setuptools                    49.6.0.post20210108
six                           1.15.0
snowballstemmer               2.0.0
Sphinx                        3.4.3
sphinxcontrib-applehelp       1.0.2
sphinxcontrib-devhelp         1.0.2
sphinxcontrib-htmlhelp        1.0.3
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.3
sphinxcontrib-serializinghtml 1.1.4
stdlib-list                   0.7.0
urllib3                       1.26.2
wheel                         0.36.2

grayskull --version

0.8.4

Additional context
Add any other context about the problem here.
The package is https://github.com/instacart/arn which is on PyPi: https://pypi.org/project/arn/#description
From what I can find, the download options do offer a hash but I'm not sure if that's the one grayskull is talking about.
Thanks!

Edit: The package only has a wheel on PyPi so nothing can be installed from there.

Edit: The package only has a wheel on PyPi so nothing can be installed from there.

See #8 (If I'm not mistaken)

See #8 (If I'm not mistaken)

Yeap, you are right, it is because there is no sdist package on pypi.
However, if you want to, you can let this issue open, because it will be useful in the future to improve grayskull. It would be nice to inform a better error message when the sdist is not present and also to try to generate the recipe using the github tarballs

Yeap, you are right, it is because there is no sdist package on pypi.
However, if you want to, you can let this issue open, because it will be useful in the future to improve grayskull. It would be nice to inform a better error message when the sdist is not present and also to try to generate the recipe using the github tarballs

Of course, will do, thanks for the reply!

Of course, will do, thanks for the reply!

Of course, will do, thanks for the reply!

Thanks for reporting it! :)

Of course, will do, thanks for the reply!

Thanks for reporting it! :)

Pleasure ! :)

Pleasure ! :)

Just to check, should I change this to a feature request and add a more detailed summary at the top?

Just to check, should I change this to a feature request and add a more detailed summary at the top?

Just to check, should I change this to a feature request and add a more detailed summary at the top?

A feature request would be better indeed, please fell free to change it if you want to :)

Just to check, should I change this to a feature request and add a more detailed summary at the top?

A feature request would be better indeed, please fell free to change it if you want to :)

Ok, will do! :)

Ok, will do! :)

Updated everything! Feel free to ping me if you want me to clarify anything or add some more info! I couldn't change the label though so would you mind doing that?

Updated everything! Feel free to ping me if you want me to clarify anything or add some more info! I couldn't change the label though so would you mind doing that?

Niiice! Thanks a lot!

Niiice! Thanks a lot!

  :)


Support v.qq.com iframe URLs

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm requesting a site-specific feature
[X] I've verified that I'm running yt-dlp version 2023.01.02 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
USA
Example URLs
https://v.qq.com/txp/iframe/player.html?vid=a00269ix3l8&tiny=0&auto=1
Provide a description that is worded well enough to be understood
https://v.qq.com/x/cover/7ce5noezvafma27/a00269ix3l8.html is a supported URL (it appears in the _TESTS of yt_dlp/extractor/tencent.py). Downloading this URL works fine.
https://v.qq.com/txp/iframe/player.html?vid=a00269ix3l8&tiny=0&auto=1 is the same video but accessed at a URL used for embedding v.qq videos in an iframe in another site. Downloading this URL appears to be unsupported.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
[debug] Command-line config: ['-vU', 'https://v.qq.com/txp/iframe/player.html?vid=a00269ix3l8&tiny=0&auto=1']
[debug] User config: []
[debug] System config: []
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8 (No ANSI), error utf-8 (No ANSI), screen utf-8 (No ANSI)
[debug] yt-dlp version 2023.01.02 [d83b0ad] (pip)
[debug] Python 3.8.10 (CPython x86_64 64bit) - Linux-5.15.0-56-generic-x86_64-with-glibc2.29 (OpenSSL 1.1.1f 31 Mar 2020, glibc 2.31)
[debug] exe versions: ffmpeg 4.2.7, ffprobe 4.2.7
[debug] Optional libraries: Cryptodome-3.16.0, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1754 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2023.01.02, Current version: 2023.01.02
yt-dlp is up to date (2023.01.02)
[generic] Extracting URL: https://v.qq.com/txp/iframe/player.html?vid=a00269ix3l8&tiny=0&auto=1
[generic] player: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] player: Extracting information
[debug] Looking for embeds
ERROR: Unsupported URL: https://v.qq.com/txp/iframe/player.html?vid=a00269ix3l8&tiny=0&auto=1

I also encountered  the same problem

Not a python programmer doesnt know how actually yt-dlp works.
Suggested Changes:
-->In case of above urls only video_id/vid is obtained. cid/series_id is absent so commit below change

video_id, series_id = self._match_valid_url(url).group('id' or 'iframe_id', 'series_id')
query = {   'vid': video_id,
'cid': series_id if 'series_id' in locals() else None,
...
...
}
class VQQVideoIE(VQQBaseIE):                                              IE_NAME = 'vqq:video'
_VALID_URL = VQQBaseIE._VALID_URL_BASE + r'/(?:txp|x)/((?:page|cover/(?P<series_id>\w+))?(/(?P\w+))|iframe/player.html?.*?vid=(?P<iframe_id>\w+))'

_VALID_URL REGEX:
/(?:txp|x)/((?:page|cover/(?P<series_id>\w+))?(/(?P\w+))|iframe/player.html?.*?vid=(?P<iframe_id>\w+))
MATCHES:
https://v.qq.com/txp/iframe/player.html?vid=a00269ix3l8&tiny=0&auto=1
https://v.qq.com/txp/iframe/player.html?pid=090vid=a00269ix3l8&tiny=0&auto=1
https://v.qq.com/txp/iframe/player.html?vid=a00269ix3l8
https://v.qq.com/x/page/7ce5noezvafma27.html
https://v.qq.com/x/cover/7ce5noezvafma27/a00269ix3l8.html
Named Groups
series_id, id(video_id), iframe_id(video_id)

@pukkandan
hey test the solution i have described and update the extractor
so issue can be closed

@tathastu871 Don't tell anyone else what to do.
You didn't describe a solution; you posted a bunch of info which may or may not aid in finding a solution. Someone still needs to write the code that fixes this issue, and open a pull request. That someone could be you

Sorry. But i did provided with enough code
Update in Base Url regex to match new urls
Update to query parameters to support new urls
Update to new json reponse that we get for new urls
Everything there and tested.
Just that i didnt know how python program works otherwise i would have given updated diff, though i have made exact javascript verion of extractor with new url support and tested it works to get m3u8 that i can then pass to ytdl

any update

@tathastu871 Don't tell anyone else what to do.
You didn't describe a solution; you posted a bunch of info which may or may not aid in finding a solution. Someone still needs to write the code that fixes this issue, and open a pull request. That someone could be you

Hey sorry but i did provided changes in code probaly new regex and change in query parameters to expand and suppott new urls
i did tested my code on JAVASCRIPT
since i dont know python but i did try to gave python code based changes
if you have time please read once its not just bunch of infi

follow https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#developer-instructions and open a pull request

OP will need someone to translate the useful analysis here into PR code, a slave or a mentor depending on how much work OP is going to put in.
These test URLs need to be replaced with valid ones (non-404):

https://v.qq.com/x/page/7ce5noezvafma27.html
https://v.qq.com/x/cover/7ce5noezvafma27/a00269ix3l8.html.

What video or playlist is expected from a page like # 1 (since, from the next URL, 7ce5noezvafma27 is a series_id)?
It's probably best to have a separate extractor class for the lol.qq.com URL type. If docid can be passed in the original API request, why do we need to use apps.game.qq.com?

The test urls are not real some actually dont exist i made them up so that regex can be generalised to match variety of urls where in some urls some query may be present some query params may be not present
Some in different positions
So those urls that give 404 are jut dummy ones for generalising regex

For development and testing, actual valid URLs are needed (if they are not geo-restricted, so much the better). A description of the media expected to be found at each URL can also be helpful, since all manner of website issues could cause a developer not to be able to reproduce what the requesting user sees.


cant not use LspStop

Description
the command LspStop seem to not find any LSP's this is something that never happened before and i'm not even sure if this is an bug or not
i have provided screenshots but ask me any information you need

mean while these language servers are recognizable in LspIngo

false alarm
there is not issue here the problem was that i was using just the tab auto complete to fill the lsps but the command only takes the number not the name
like this:-lspstop 1
not this :-lspstop 1 quick_lint_js
i'm still confused why this never happened before but ig there was an update

anyway im self closing the issue will open if ever needed

LspStop did not support the name variant until recently.
We may need to fix those completion results...


Image support?

Hi, is image upload possible?

Not at the moment through the web UI. You'd have to manually add it to
the wiki folder and then commit it.
On 26/01/2015 09:45, Srinivas Gorur-Shandilya wrote:

Hi, is image upload possible?
—
Reply to this email directly or view it on GitHub
https://github.com/hiddentao/melkor/issues/14.

--
Ramesh Nair
Freelance Web Developer
www.hiddentao.com
www.github.com/hiddentao

thanks. any plans for the future?

Not in the near future, no. I don't have a pressing need for it myself. PR's welcome though.


facing issue inputcontrol when I use useRefs hook

Hi @anshuopinion ,
I think it's because the component does not forward the ref.
I have the same issue. I copied the code from the repo and forwarded the ref.
Then I import the InputControl from this newly created file instead of the package.
import { Input, InputProps } from "@chakra-ui/react";
import { useField } from "formik";
import { BaseProps, FormControl } from "formik-chakra-ui/dist/form-control";
import React from "react";
import { ForwardedRef } from "react";

export type InputControlProps = BaseProps & {
  inputProps?: InputProps;
};

export const InputControl = React.forwardRef(
  (props: InputControlProps, ref: ForwardedRef<HTMLInputElement>) => {
    const { name, label, inputProps, ...rest } = props;
    const [field] = useField(name);

    return (
      <FormControl name={name} label={label} {...rest}>
        <Input {...field} id={name} {...inputProps} ref={ref} />
      </FormControl>
    );
  }
);

export default InputControl;

Hi, I've been really busy, and to be honest, I probably won't have time to fix ref forwarding on all components but I will release a fix for InputControl now.
Will release a new version for other components in few days.
@ahmad-reza619 I will accept PR's if you want to contribute.
Thank you.


split ec2 results into vpc and ec2 classic

#6   extraneous print command in the last pr.  Cleaned up.

Thanks for the PR
I think this is okay for now. Maybe in a future refactor I will look into condensing both VPC and Classic instances into one report (maybe even one report for all services)
Going to merge and release this later today with some fixes for other issues. Will also take care of the tests and flake8 issues

Coverage decreased (-98.9%) to 1.068% when pulling a40df377c2e62554c042a0823216f07e2d064605 on mbassett:master into 4b37d8325649592a1f15852733c5ba7d366ff8d1 on TerbiumLabs:master.


Initialization on PCD8544 board for raspberry

Hi there!
Thanks for your lib! Maybe you'll have some highlight on my initialization issue...
I bought the PCD8544 board which can be plug very easily on the Raspi, as you can see here:
https://github.com/pevandenburie/PCD8544/blob/master/PCD8544.pdf
The provided C demo (wiringPi based) works well.
However, I failed use your PCD8544 python wrapper...
To match the given layout:
CLK = GPIO17
D/C = GPIO27
CS = GPIO22
Din = GPIO18
RST = GPIO23
I tried following initialization:
LCDInit(CLK = 17, DIN = 18, DC = 27, RST = 23, LIGHT = 0, CE = 22);
I thought Light was just hardwired to 3.3V, and CE = CS.
But I got nothing on screen… Any idea on what I missed ?
Many thanks!

I missed this issue completely - sorry for the non-reply.
Did you have any luck getting it working?
Please re-open if you still need assistance.

No problem :-)
No I failed, my guess is all LCD' PINs are not wired on the "Raspberry PCD8544 board".
I wrote instead a NodeRED - Javascript wrapper over the C driver...
Thanks!

Hi @rm-hull
I am having exactly the same issue as pevandenburie, could you please advise me how to configure the pcd8544, while those pins apart from RESET and D/C are totally different as the one specify in the doc, how can I redefine pins like SCLK, SDA, and CE?
Screen shield is the one he used: PCD8544.pdf
here is my pcd8544.conf file:
--display=pcd8544
--interface=spi
--spi-bus-speed=32000000
--gpio-reset=23
--gpio-data-command=27
--gpio-backlight=4
--width=84
--height=48

Thank you in advance, or any other one can help also thank you!


"Cannot find module" with Typescript

Hi,
This vue-svg-loader is really useful and I used it successfully with some JS projects.
Now I'm trying to use it in a project with Nuxt and Typescript and I cannot make Typescript understand that my SVGs are Vue component.
I get this error: Cannot find module '../assets/icons/notification.svg'
The path is right, it compiles (with errors) and works well in dev mode, but then I can't build for prod because of the errors.
I tried adding this in my index.d.ts without success:
import Vue from 'vue';
declare module '*.svg' {
  export default Vue;
}

Do you know how I can fix that? Thanks!

Ok, I found a way to fix it 😄
I made a new file svg.d.ts (I have other typings in index.d.ts) and modified the declaration like this:
declare module '*.svg' {
  import Vue from 'vue';
  export default Vue;
}

I suggest you had an explanation in the README (eg: vue-svg-icon-loader).

Thank you @Godefroy for reporting this!
I added the section with the solution in the docs:
https://vue-svg-loader.js.org/faq.html#how-to-use-this-loader-with-typescript


Allow 'vagrant' username to be configured by passing DEV_USER variable

This allows the script to work on official Ubuntu images, which use the username 'ubuntu' instead.

Looks good to me.


There are 2 NVIDIA GPUs available in this machine. Largest GPU ID request for GPU #3 exceeds the number of available GPUs

I tried the example for the 3DShapeNet, however it came up with the following error:
There are 2 NVIDIA GPUs available in this machine.
Largest GPU ID request for GPU #3 exceeds the number of available GPUs
FatalError at LIINE 8178. Program terminated.

I have two NVIDIA TITAN Xs available

Is it running witch tools/viewer_matlab/plotNet.m


Updating ML table schema url fallback to blob url from cdn url

Description
Updating ML table schema url fallback to blob url from cdn url.
Currently there is some delay in updating the schema in cdn from blob. In order to verify the schema with the latest as per the document
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

The cdn has been updated, and we no longer need this change.


Exam mode: Improve behavior of exam cards for non participating students and tutors

Checklist
General

[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Server

[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Spring) related to the features (with a high test coverage).
[x] I implemented the changes with a good performance and prevented too many database calls.
[x] I documented the Java code using JavaDoc style.

Client

[x] I followed the coding and design guidelines and ensured that the layout is responsive.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Changes affecting Programming Exercises
Motivation and Context

Improve the interaction in edge cases of the exam card. These are students that did not participate and tutors that click on the exam card.
Description

The text on the exam card is now more streamlined such that it does not show confusing text to students that did not participate. I.E. "Click here to see the results of the exam".
Additionally the exam card no longer has a hover effect when it is not clickable, i.e. when the student cannot start another test exam.
When a tutor or higher clicks on the exam card there is no longer a server error shown. Instead the user has the option to go to the exam overview.
Steps for Testing

Prerequisites:

1 Instructor
1 Student
1 Exam

Log in to Artemis
Create the exam correctly
Try to click on the exam card as instructor and check the reroute to the overview
Check the text on the exam card as not participating student in different stages (before exam start but already visible, during exam conduction, after deadline of exam, after results are published)
Check that the exam card of a test exam no longer has a hover effect, when you participated in the test exam or when you missed the due date of the test exam.

Review Progress

Code Review

[x] Review 1
[x] Review 2

Manual Tests

[x] Test 1
[x] Test 2

Test Coverage

Class/File
Branch
Line

exam-participation.component.ts
63%
78%

course-exam-detail.component.ts
84%
92%

ExamAccessService
84%
94%

Screenshots

View of a non-participating student after the exam due date:

View of a tutor after clicking on the exam card:

I got an exam card with a plain "Exam Closed" (without the "You can review your submission by clicking on the tile") even for a student that did participate in the exam. Is this expected behaviour?

Codecov Report

Merging #6286 (2e974ba) into develop (0e34616) will increase coverage by 0.00%.
The diff coverage is 72.13%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #6286   +/-   ##
==========================================
  Coverage      80.30%   80.30%
- Complexity     12902    12904    +2
==========================================
  Files           2289     2289
  Lines          88746    88779   +33
  Branches       13111    13119    +8
==========================================
+ Hits           71270    71297   +27
- Misses          9726     9727    +1
- Partials        7750     7755    +5

Impacted Files
Coverage Δ

.../exam/manage/student-exams/student-exam.service.ts
80.76% <0.00%> (-6.74%)
:arrow_down:

...course-exam-detail/course-exam-detail.component.ts
77.33% <55.55%> (+0.06%)
:arrow_up:

.../in/www1/artemis/web/rest/StudentExamResource.java
86.14% <66.66%> (-0.52%)
:arrow_down:

...p/exam/participate/exam-participation.component.ts
66.85% <82.75%> (+0.96%)
:arrow_up:

...n/www1/artemis/service/exam/ExamAccessService.java
87.28% <100.00%> (+0.68%)
:arrow_up:

...um/in/www1/artemis/domain/lecture/LectureUnit.java
92.59% <0.00%> (ø)

Flag
Coverage Δ

client
76.49% <69.38%> (+<0.01%)
:arrow_up:

server
84.56% <83.33%> (-0.01%)
:arrow_down:

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 0e34616...2e974ba. Read the comment docs.

Tested on TS1. Rerouting for the instructor worked. Still no "You can review your submission by clicking on the tile" for participating student after the results are released. I guess that's fine though? Exam was not at all shown for student that is in the course but was not registered for the exam.

That is intended

Tested on ts1, as you can see from the recording as a student i can access the exam even if it says exam closed.  I don't think this should be the case.
https://user-images.githubusercontent.com/26312757/224600293-9b5cc9cd-ac74-4b4b-8d91-4bc29617466f.mov

Tested on ts6. Works as expected.

@JohannesStoehr Could you resolve the small conflict, please? :)


Bug Report: source/Character.hx:387: characters 5-8 : Expected :

Hello! When I compile 1.6, I get the error source/Character.hx:387: characters 5-8 : Expected :

Error: Source path "C:/HaxeToolkit/haxe/lib/extension-webm/git/ndll/Windows64/extension-webm.ndll" does not exist

Hello! When I compile 1.6, I get the error source/Character.hx:387: characters 5-8 : Expected :

what do lines 386-389 say on character.hx?

Nevermind! I fixed it myself, I just had a little typo.


Backmerge release 3.48.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.1%) to 31.548%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
13031

Relevant Lines:
14791

💛  - Coveralls


fix(hr/expressive-modal): add separator role and update button

Related Ticket(s)
#9708
#9427
Description
adds role separator to HR
adds href to button in expressive modal story

https://ibmdotcom-webcomponents.s3.us-east.cloud-object-storage.appdomain.cloud/deploy-previews/10256/index.html

you can use control-option-arrowkeys to navigate to the HR and it will read horizontal splitter


External dependencies upgrade - Spring Boot 3.3.5 and Spring Cloud 2023.0.3

Updates external dependencies to align with Spring Boot version 3.3.5 from 3.3.4 and Spring Cloud version 2023.0.3 from 2023.0.3.
Release notesSourced from spring-boot releases.🐞 Bug Fixes Running mvn spring-boot:run with classpaths that exceeds Windows' length limits leaves temporary files #42841 Report produced by ConditionReportApplicationContextFailureProcessor is always empty in a failed test #42785 Case-insensitive comparisons may be adversely affected by the user's locale #42735 DataSourceProperties#driverClassIsLoadable should not print a stacktrace to the error stream when it fails #42683 Some @ControllerEndpoint and @RestControllerEndpoint infrastructure remains undeprecated #42498 Auto-configuration for Rabbit Streams doesn't consider RabbitConnectionDetails #42490 ClassNotFoundException is thrown when loading protocol resolvers from ForkJoinPool task #42468 ActiveMQ Artemis Connection Factory creation fails in native image #42421 Duplicate meter binding when context contains multiple registries, none are primary, and one or more is a composite #42397📔 Documentation Document that embedded Tomcat must be at least 10.1.25 #42849 Fix systemd example configuration #42805 Document that the exact behavior of the maximum HTTP request header size property is server-specific #42789 Clarify why @Primary is recommended when defining your own ObjectMapper that replaces JacksonAutoConfiguration's #42787 Polish javadoc for Binder#bindOrCreate(String, Class) #42778 Document that Tomcat's maxQueueCapacity need to be greater than 0 #42726 Remove stale link to jar-to-war getting started guide #42723 Fix typos and formatting errors in documentation #42718 Fix case used for examples in "Sanitize Sensitive Values" #42702 Fix Regex javadoc links #42685 Document how Map properties are bound from environment variables #42672 Improve classpath index documentation for reproducible builds #42643 Remove links to Spring Data GemFire #42596 Order alphabetically the sections in Common Application Properties #42520 Improve the javadoc describing when @ConditionalOn(Missing)Bean will infer the type to match #42505 Document how to handle MANIFEST.MF in native image with Maven #42476 Fix links to Micrometer reference doc #42467 Polish documentation #42454 Add Javadoc since for PrometheusScrapeEndpoint(PrometheusRegistry, Properties) #42406 Remove note about graceful shutdown with Tomcat requiring 9.0.33 or later as we now require 10.1.x #42382 Document support for Java 23 #42380 Improve documentation for CycloneDX integration #41506🔨 Dependency Upgrades Prohibit upgrades to Undertow 2.3.18.Final #42756 Upgrade to CycloneDX Maven Plugin 2.8.2 #42631 Upgrade to GraphQL Java 22.3 #42757 Upgrade to Infinispan 15.0.10.Final #42632 Upgrade to Jaybird 5.0.6.java11 #42752 Upgrade to Jersey 3.1.9 #42633 Upgrade to Jetty 12.0.14 #42635 Upgrade to Jetty Reactive HTTPClient 4.0.8 #42634 Upgrade to jOOQ 3.19.14 #42818 Upgrade to JUnit Jupiter 5.10.5 #42637 Upgrade to Logback 1.5.11 #42753 Upgrade to Micrometer 1.13.6 #42543 Upgrade to Micrometer Tracing 1.3.5 #42544 Upgrade to Neo4j Java Driver 5.25.0 #42628 Upgrade to Netty 4.1.114.Final #42639 Upgrade to Pooled JMS 3.1.7 #42640 Upgrade to Pulsar Reactive 0.5.8 #42819 Upgrade to R2DBC Pool 1.0.2.RELEASE #42754 Upgrade to R2DBC Postgresql 1.0.7.RELEASE #42755 Upgrade to Reactor Bom 2023.0.11 #42545 Upgrade to Spring Authorization Server 1.3.3 #42546 Upgrade to Spring Data Bom 2024.0.5 #42547 Upgrade to Spring Framework 6.1.14 #42548 Upgrade to Spring GraphQL 1.3.3 #42742 Upgrade to Spring Integration 6.3.5 #42549 Upgrade to Spring LDAP 3.2.7 #42550 Upgrade to Spring Pulsar 1.1.5 #42551 Upgrade to Spring RESTDocs 3.0.2 #42743 Upgrade to Spring Retry 2.0.10 #42552 Upgrade to Spring Security 6.3.4 #42553 Upgrade to Spring Session 3.3.3 #42554 Upgrade to Tomcat 10.1.31 #42642❤ ContributorsThank you to all the contributors who worked on this release:@IMWoo94, @arefbehboudi, @izeye, @jeonghyeon00, @ngocnhan-tran1996, @nosan, and @quaff
This PR is created by GitHub Actions: https://github.com/Azure/spring-cloud-azure-tools/actions/runs/11509519303

API change check
API changes are not detected in this pull request.

/azp run java - spring - tests

@saragluna @alzimmermsft @jeanbisutti please help take a review, thanks

/check-enforcer override


Blade resolved loads from CFD

This PR is ready to merge.
Feature or improvement description
A new module named ExtLoads interfaces with CFD to transfer loads from a CFD solver into OpenFAST.  This module is an alternative to AeroDyn.
To stabilize the CFD solution, AeroDyn loads are used during initialization and then blended into the CFD solution after the transients die out.  The time AD15 loads are used is user configurable (set in radians of rotation -- typically a few revolutions). This requires that AeroDyn is used in addition to the ExtLoads module.
During the simulation, the CFD code will call OpenFAST multiple times for each CFD timestep.  This may require rewinding the OpenFAST simulation to the prior CFD timestep and recalculating all the intervening times using updated CFD information.  To accomplish this, the size of the state variables (and other things) was increased from 2 to 4 so that a saved copy of the previous and current state information (3,4) at the CFD time step can be used.  When rewinding OpenFAST back to the previous CFD time, this data will be copied over to the previous and current state information (1,2).
Other additional features include:

the ability to rewind multiple timesteps when called through the cpp interface from CFD

Related issue, if one exists
Impacted areas of the software

Cpp interface
glue code

additional copies of states, inputs, miscvars to store a checkpoint (copy of previous state and this state at some specific time in history)
additional logic for the ExtLoads module

FAST_Library.f90

name changes

FAST_ExtInfw_Solution0 renamed FAST_CFD_Solution0
FAST_ExtInfw_Step renamed FAST_CFD_Step and split into multiple routines

routines with new variables

FAST_ExtInfw_Restart new variable numElementsTower_c

new routines

FAST_ExtLoads_Restart
FAST_CFD_Store_SS
FAST_CFD_Reset_SS
FAST_CFD_Prework
FAST_CFD_UpdateStates
FAST_CFD_AdvanceToNextTimeStep
FAST_CFD_WriteOutput

FAST_Subs.f90

new routines -- split out from FAST_Solution

FAST_Prework
FAST_UpdateStates
FAST_AdvanceToNextTimeStep
FAST_WriteOutput

new routines for substep management

FAST_Store_SS
FAST_Reset_SS
FAST_InitIOarrays_SS

Additional supporting information
Test results
To do

[ ] update api_change.rst
[ ] verify documentation renders correctly

There are discrepancies in some models run with the cpp driver and the OpenFAST Fortran executable.  So we will need to fix whatever the underlying issue is before merging this.
Marking this as draft until we resolve the problem.

Simulation from NALU-Wind coupled to OpenFAST through the ExtLoads module.


Support combination MSVC + Ninja

@alexcrichton
Could you also publish a new version after this is merged?
My goal was to support MSVC+Ninja in rustbuild in the first place.

Will do!

Thanks!


Revert "Tuto-secific branch (breaks functionality: NOT for master branch)"

Reverts TrustAI/DeepConcolic#62

I @xiaoweih,
I think to complete the revert you just have to merge this PR. Then `tutorial' will be the only branch with the change (hopefully ;) ).


Pacrd

changing links in bootstrap pipelines to point to documentation

The title of this Pull Request needs to be changed to match the format:
<type>(<scope>): <subject>

See more details here: https://www.spinnaker.io/community/contributing/submitting/#commit-message-conventions
Some common examples are:
feat(armory.io): add docs.armory.io
fix(parser): grammar and spelling
style(loadingPage): made it super pretty!
refactor(helpMessages): changed order to make more sense

@chadtripod - you'll need to fix the merge conflicts.
It might just be easier if you started a new branch from master - and then add your new files and changes.


fix: make drop target for uploads functional across entire range

Description of Change
This PR addresses the issue [#21439](https://github.com/TryGhost/Ghost/issues/21439), where the drop target for uploads was inconsistent and did not cover the full range of the drop area.
Changes made:

Added w-full and h-full classes to the drop component of the FileUpload drag-and-drop.
Removed unnecessary padding that created non-functional areas within the drop target.

Use Case
The change ensures that the entire designated area for uploads functions correctly as a drop target, improving the user experience and fixing the reported bug.

I'm sorry to report that this does not solve the problem.

Thanks for the submission. This seems to foul up the visual indicator that you're over the drop. We're working on a similar fix that's for more than just the migrations dropdown, so I'm going to close this out, but it should be resolved fairly soon.


Add parameter "namespaces"

See  #505.
Set a namespace or a list of namespaces. A namespace is a key-value structure, separated by a space. Multiple namespaces are separated by a semicolon.

I've changed to your proposals. Will squash when you approve and add a PG example.


Suppress xinitrc output to tty

I normally just typed startx into the tty to start my DE. But now since I use ly I wanted to make it look a little bit smoother. Is it somehow possible to make ly not output to the tty when starting using xinitrc?
I'm not sure if this has something to do with my xinitrc or not. I run the following to start i3: exec i3 > /dev/null 2>&1

This actually is a fairly straightforward fix. Before compilation add -keeptty > ~/.xorg.log 2>&1 to the end of the LY_CMD_X line so it reads #define LY_CMD_X "/usr/bin/X -keeptty > ~/.xorg.log 2>&1" I'm also running i3 and this has made for an entirely silent login/logout.

wow that actually fixed. Thanks very much!
Is that the command ly runs to start x?

fixed in upcoming version

wow that actually fixed. Thanks very much!
Is that the command ly runs to start x @zackarymoore?

Yes it is, just make sure if you reinstall in the future to add that in before compiling.