WIP: Migrate CopCore/AdePT to Allen-style target device choice

As we've been discussing, it's useful to try out the host/device portability system from LHCb's Allen project. There were some issues with the initial attempts, but this is now understood, and thus this PR has a go at a using "Allen style" in CopCore/AdePT.
It's quite cut down from @graeme-a-stewart's first import so that it only imports the basic preprocessor macros and CPU backend (though this is not used yet). It adds a new macro DEVICE_COMPILATION_TRAJECTORY that's equivalent to VecCore's VECCORE_CUDA_DEVICE_COMPILATION, and is defined if and only if the compiler is compiling for the device.
It's never defined for CPU, and has only been set up for CUDA (there is a HIP equivalent, but later...). It also adds COPCORE_FORCE_INLINE to replace the VecCore equivalent.
The major changes in the CopCore/Adept code are relatively straightforward:

Add a CMake option TARGET_DEVICE to CopCore's CMakeLists.txt to select the backend.

This is CUDA by default since Adept is (but see below).

Include the new CopCore/backend/BackendCommon.h in CopCore headers
Change VECCORE_ macros to Allen's __host__ etc and COPCORE_ for the inlines

Have to admit I'm not totally convinced, but that's likely due to the remaining macros for inlining etc...
Most examples and tests then run, but there are a couple of exceptions:

The RayTracing example. However, this didn't compile for me when starting this branch, so something else is wrong with that (to be checked).
The test/test_launcher.cpp test.

The issue appears to be that the Allen style effectively hardcodes CPU/CUDA. In CUDA mode, you can't then use CopCore from a C++ translation unit (at least in the above naive translation). This is logical for Allen's use case as it's explicitly chosen at configure time, and uniform over compile time. We're not doing that in Adept though, at least as the tests/examples are implemented.

Admittedly I'm at the limit of my knowledge on the above, but I think comes down to how to separate C++/CUDA APIs and whether we are doing so in a library or an application. At least for the initial benchmark of a simple Geant4 app offloading a set of tracks in a calo to GPU, it feels like we'll eventually need a C++ only API,
// Adept.h
SomeReturnType offloadTracks(TrackCollection col);

// ---------
// Adept.cu
__global__ offloadTracks_CUDA(...) {
  ...
}

SomeReturnType offloadTracks(TrackCollection col) {
   ... prep data, etc
   offloadTracks_CUDA<<<...>>>(...);
   ... extract data
   return SomeReturnType(...);
}

... of course this brings us right back to the problem of compiling/deploying for heterogenous resources...

Thanks a lot @drbenmorgan!
Out of the box this isn't working for me, I immediately get a compilation error:
[4/29] Building CXX object test/CMakeFiles/test_launcher.dir/test_launcher.cpp.o
FAILED: test/CMakeFiles/test_launcher.dir/test_launcher.cpp.o
/usr/bin/c++ -DTARGET_DEVICE_CUDA -DVECCORE_ENABLE_CUDA -I/home/graemes/code/AdePT/base/inc -I/home/graemes/code/AdePT/base/inc/CopCore/include -isystem /opt/nvidia/cuda-11.0/include -fabi-version=0 -faligned-new -msse2 -O2 -g -DNDEBUG -std=c++14 -MD -MT test/CMakeFiles/test_launcher.dir/test_launcher.cpp.o -MF test/CMakeFiles/test_launcher.dir/test_launcher.cpp.o.d -o test/CMakeFiles/test_launcher.dir/test_launcher.cpp.o -c /home/graemes/code/AdePT/test/test_launcher.cpp
In file included from /home/graemes/code/AdePT/base/inc/CopCore/include/CopCore/CopCore.h:18,
                 from /home/graemes/code/AdePT/base/inc/AdePT/BlockData.h:13,
                 from /home/graemes/code/AdePT/test/test_launcher.cpp:11:
/home/graemes/code/AdePT/base/inc/CopCore/include/CopCore/Launcher.h: In function 'void copcore::kernel_launcher_impl::kernel_dispatch(int, Function, const Args ...)':
/home/graemes/code/AdePT/base/inc/CopCore/include/CopCore/Launcher.h:25:18: error: 'blockIdx' was not declared in this scope
   for (auto id = blockIdx.x * blockDim.x + threadIdx.x; id < data_size; id += blockDim.x * gridDim.x) {
                  ^~~~~~~~
...

I will dig into it.

Ah, that's one of the known errors! The issue is that test_launcher.cpp is trying to use a CopCore that's targeting CUDA (-DTARGET_DEVICE_CUDA). At present, only one device can be targeted in any one build. I'm not sure how we want to handle this:

Disable tests for devices other than being targeted.
Build CopCore once for each device and link explicitly to the required one

OK, now I read your initial notes more carefully - so do you also see a compilation failure on test/test_launcher.cpp? Initially I thought it was just a runtime error...

Yes, I also get that error at compile time.

Thanks @drbenmorgan - ok, I can confirm that skipping over that then the basic fisher_price examples run. Of course, these are dyed-in-the-wool CUDA examples (explicit use of curand) so not helpful for attempting prove CPU/CUDA device switching.

Well, I'll try on my side to understand how to use a launcher in this approach (or if it still makes sense) and what are the constraints on how the code must be instrumented. I'd really like to see an implementation of the ray-tracer example using both styles. Meanwhile, it would be great if we manage to push this in keeping still the possibility to use the previous examples - even if it's ugly for a while. Not sure this is possible due to the differences in using macro annotations. I'll start looking into this.

O.k., I've tried the approach we discussed on Friday of having two versions of CopCore compiled concurrently, one for CPU, libCopCore_CPU, and one for GPU, libCopCore_CUDA. That is easy enough in CMake, it's just two different add_library calls. What fails, and I think near terminally, for this approach is that examples like test_launcher would still require linking to both libraries since it's a mix of C++ and CUDA. At least it is if you care about dispatching to one or the other backend at runtime.
That's terminal for the Allen approach as it stands (and as AdePT/CopCore are currently implemented) because you'll always end up with symbol clashes from the redefinition of things like the cuda API calls/dim3 variables.  Only way around that is inline namespaces as acknowledged here:
https://github.com/apt-sim/AdePT/blob/6e5dd37b3584e26ef40de97cdfff211b34d3aa19/test/sim_kernels.h#L23-L24
and that means Allen's overrides cannot be used directly in the sense of "write everything CUDA style and the macros handle everything on CPU/HIP". They could be hidden in inline namespace(s) but not sure we gain much by that, or what traps/pitfalls there might be (e.g. host vs device memory management).
Personally at this point I think we need simplicity and clarity over portability. If that means some double coding to compare CPU/GPU then I think within the scope of AdePT that would be more efficient, but further discussion and ideas are very welcome!

I'm not very fan of the mixed CPU/GPU approach either, because the support provided by CUDA for doing this is very limited - this is what gave bread on the table to portability frameworks. I tried to combine the two worlds with the Launcher approach, but eventually the code in more complex cases becomes a mess: what runs on host/device, which inline namespace is applied where, or what has to be templated by the backend. I think what we should stick to is to have a unique definition of the algorithmic library. The fact that we need to duplicate some code for backend-specific launching or memory management is OK. So we can have backend-specific compilation targets and lower our expectations that examples such as test_launcher would work. On the other hand, this should not prevent us in using utilities that are templated by the backend, when the provided functionality can be mapped (e.g. memory allocators).
On the practical side, I'd still try to modify the test_launcher to work separately for the 2 backends (not in the same example) - to get an idea of how much of the code can be put in common. Would you push your mods for creating 2 separate libraries/executables for the examples that can be migrated?

Thanks @agheata, the minimal dual build is in the latest commit. It's not sophisticated, but should give the general picture.

I must agree here with the statement 'we need simplicity and clarity over portability'. Our goal is to prove that we can generate and EM shower on GPU and that this gives speedup with respect to a similar shower simulated on CPU (with Geant4 being the baseline). We can't forget about portability and we should certainly avoid doing things that would never work outside CUDA, but shouldn't also spend too much energy of providing portability of something we don't have yet. I would say that our priority should be now to have a proper stepping-like pipeline of kernels with transportation, real physics and geometry (and magnetic field).

I checked out this branch and rebased on master, fixing locally some minor conflicts. Indeed, if I disable the test_launcher the raytracing and example2 it compiles and runs for COPCORE_ENABLE_CUDA=ON. Switching this flag to OFF produces a missing <CopCore/CopCore.h>because the tests are linking against CopCore::CopCore_CUDA but this target is not created. I guess we want to support 2 versions for some (most) of the tests and examples, for CPU and CUDA. What do you think about refactoring the tests produce separate targets for the 2 cases, like test_track_block_cpp and test_track_block_cuda? I would be interested to see a clean separation between cpu/cuda/common files/methods.


why the symbol ":" should be added after bb_name in afl-llvm-pass.co.cc:361?

I used aflgo to fuzz ImageMagick, but the distance.cfg.txt is empty.
I found that it was because the BBnames.txt was like filename:line:，and its n_name was like {filename:line::, so the function find_nodes(name) return [].
def node_name(name):
    if is_cg:
        return "\"{%s}\"" % name
    else:
        return "\"{%s:" % name

#################################
# Find the graph node for a name
#################################
def find_nodes(name):
    n_name = node_name(name)
    n_list = list(filter(lambda d: 'label' in d[1] and n_name in d[1]['label'], G.nodes(data=True)))
    if len(n_list) > 0:
        return n_list
    else:
        return []

Then I found where the ':' was added in afl-llvm-pass.co.cc.
if (!bb_name.empty()) {

          BB.setName(bb_name + ":");
          if (!BB.hasName()) {
            std::string newname = bb_name + ":";
            Twine t(newname);
            SmallString<256> NameData;
            StringRef NameRef = t.toStringRef(NameData);
            BB.setValueName(ValueName::Create(NameRef));
          }

          bbnames << BB.getName().str() << "\n";
          has_BBs = true;

#ifdef AFLGO_TRACING
          Value *bbnameVal = Builder.CreateGlobalStringPtr(bb_name);
          Type *Args[] = {
              Type::getInt8PtrTy(M.getContext()) //uint8_t* bb_name
          };
          FunctionType *FTy = FunctionType::get(Type::getVoidTy(M.getContext()), Args, false);
          Constant *instrumented = M.getOrInsertFunction("llvm_profiling_call", FTy);
          Builder.CreateCall(instrumented, {bbnameVal});
#endif

        }

But I am confused why you need to add the ":" after bb_name rather than just bb_name?

I used aflgo to fuzz ImageMagick, but the distance.cfg.txt is empty.
Did you try to compile with -O0?

I found the reason is that the bb_name in BBnames.txt was like filename:linenum:，so it could not match the label value in cfg dot file. If I delete the : symbol, the distance.cfg.txt will not be empty.
But I don't understand why the bb_name is like filename:linenum: instead of filename:linenum, what is the symbol ":" in the tail used for?


allow adding non-conservative source terms to RK stages

For multiple physics modules, we need to integrate source terms in an temporally-unsplit manner. We need to add the ability to pass a FAB corresponding to rhs terms at each RK stage in non-conservation law form. (Note that this requires the rhs to be computed using the values at the beginning of the stage -- this is not equivalent to operator split updates at each stage.)
Note that the current RK integrator functions only specify arguments for the flux-divergence terms along each coordinate direction. This was done in order to ensure exact symmetry preservation of the flux-divergence terms. This is the approach taken in Athena++ for source terms that can be case in flux-divergence form [1], but is not used for gravity source terms [2] [3] [4] -- the Athena++ gravity methods paper is not actually the method used in the code!
[1] https://github.com/PrincetonUniversity/athena/wiki/Diffusion-Processes
[2] https://github.com/PrincetonUniversity/athena/commit/1d264a9d8ae9a0e03a873151fac1f8036ddf6f72
[3] https://github.com/PrincetonUniversity/athena/blob/master/src/hydro/srcterms/self_gravity.cpp
[4] https://github.com/PrincetonUniversity/athena/blob/master/src/hydro/srcterms/hydro_srcterms.cpp

Not as useful as first thought. The internal energy will be updated inside the Riemann solver, and gravity will be done in an operator split fashion. This may be useful if explicit diffusion terms are added in the future.


Mapping /var/opt/mssql/data directory on Docker for Windows fails

In the article it is written that "Host volume mapping for Docker on Windows does not currently support mapping the complete /var/opt/mssql directory. However, you can map a subdirectory, such as /var/opt/mssql/data to your host machine."
I have only configured /var/opt/mssql/data directory to be persisted in the Docker host, but I am still getting error on the startup. I even tried to persist log and secrets directory together with data, but still the same problem. So this comment is misleading. Permission wise it should be fine as I am using init container to set correct permissions: command: ["sh", "-c", "chown -R 10001:0 /var/opt/mssql/data"]
2020-08-10 13:34:27.15 Server      Error 87(The parameter is incorrect.) occurred while opening file '/var/opt/mssql/data/master.mdf' to obtain configuration information at startup. An invalid startup option might have caused the error. Verify your startup options, and correct or remove them if necessary.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3dc2ec36-4915-f7ab-3104-282acc9321e6
Version Independent ID: fc98af17-f3c5-adff-69ca-593f985e7882
Content: Configuration options for SQL Server on Docker - SQL Server
Content Source: docs/linux/sql-server-linux-configure-docker.md
Product: sql
Technology: linux
GitHub Login: @vin-yu
Microsoft Alias: vinsonyu

I was a bit more specific about my use-case here

@petermicuch -- thank you for your feedback.  Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@vin-yu -- please look into this issue.

I did some experimenting today and here is what I found:
I have noticed that Docker Desktop for Windows by default pushes all volumes into /var/lib/k8s-pvs/ on the linux VM. So I set path in my volume to /var/lib/k8s-pvs/virtual-clinic-mssql/data instead of /opt/virtual-clinic-mssql/data and the template from my previous post worked fine. There is no error anymore.
I also tried with /var/lib/virtual-clinic-mssql/data and it worked. I tried several other directories outside of /var/lib (e.g. /tmp or /opt), but without success. This seems like some kind of permission issues. Here is the output of the directory on the host, when all runs fine:
/var/lib/virtual-clinic-mssql/data # ls -all
total 129420
drwxr-xr-x 2 10001 root     4096 Aug 11 10:40 .
drwxr-xr-x 3 root  root     4096 Aug 11 10:40 ..
-rw-r----- 1 10001 root      256 Aug 11 10:40 Entropy.bin
-rw-r----- 1 10001 root  4194304 Aug 11 10:40 master.mdf
-rw-r----- 1 10001 root  2097152 Aug 11 10:40 mastlog.ldf
-rw-r----- 1 10001 root  8388608 Aug 11 10:40 model.mdf
-rw-r----- 1 10001 root 14090240 Aug 11 10:40 model_msdbdata.mdf
-rw-r----- 1 10001 root   524288 Aug 11 10:40 model_msdblog.ldf
-rw-r----- 1 10001 root   524288 Aug 11 10:40 model_replicatedmaster.ldf
-rw-r----- 1 10001 root  4194304 Aug 11 10:40 model_replicatedmaster.mdf
-rw-r----- 1 10001 root  8388608 Aug 11 10:40 modellog.ldf
-rw-r----- 1 10001 root 14090240 Aug 11 10:40 msdbdata.mdf
-rw-r----- 1 10001 root   524288 Aug 11 10:40 msdblog.ldf
-rw-r----- 1 10001 root  8388608 Aug 11 10:40 tempdb.mdf
-rw-r----- 1 10001 root  8388608 Aug 11 10:40 tempdb2.ndf
-rw-r----- 1 10001 root  8388608 Aug 11 10:40 tempdb3.ndf
-rw-r----- 1 10001 root  8388608 Aug 11 10:40 tempdb4.ndf
-rw-r----- 1 10001 root  8388608 Aug 11 10:40 tempdb5.ndf
-rw-r----- 1 10001 root  8388608 Aug 11 10:40 tempdb6.ndf
-rw-r----- 1 10001 root  8388608 Aug 11 10:40 tempdb7.ndf
-rw-r----- 1 10001 root  8388608 Aug 11 10:40 tempdb8.ndf
-rw-r----- 1 10001 root  8388608 Aug 11 10:40 templog.ldf

And here when it fails:
/opt/virtual-clinic-mssql/data # ls -all
total 54144
drwxr-xr-x 2 10001 root      240 Aug 11 10:38 .
drwxr-xr-x 3 root  root       60 Aug 11 10:38 ..
-rw-r----- 1 10001 root  4194304 Aug 11 10:38 master.mdf
-rw-r----- 1 10001 root   524288 Aug 11 10:38 mastlog.ldf
-rw-r----- 1 10001 root  8388608 Aug 11 10:38 model.mdf
-rw-r----- 1 10001 root 14090240 Aug 11 10:39 model_msdbdata.mdf
-rw-r----- 1 10001 root   524288 Aug 11 10:39 model_msdblog.ldf
-rw-r----- 1 10001 root   524288 Aug 11 10:39 model_replicatedmaster.ldf
-rw-r----- 1 10001 root  4194304 Aug 11 10:39 model_replicatedmaster.mdf
-rw-r----- 1 10001 root  8388608 Aug 11 10:38 modellog.ldf
-rw-r----- 1 10001 root 14090240 Aug 11 10:38 msdbdata.mdf
-rw-r----- 1 10001 root   524288 Aug 11 10:38 msdblog.ldf

Do you have some logs where one could find what exactly it the problem? I have for example Oracle DB setup exactly the same way as mssql and there it works fine even when hostpath is set to /opt/oracle-data. So I wonder why this is an issue in case of mssql.
Is this thread a good place to address this issue at all?

I forgot to mention, that it also works when I map entire mssql directory and not just data subdirectory as described in the referenced article.
I.e. this works:
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: mssql-database
  namespace: default
  labels:
    app: mssql
    track: canary
spec:
  serviceName: mssql-database-headless
  replicas: 1
  updateStrategy:
    type: RollingUpdate
  selector:
    matchLabels:
      app: mssql
      role: master
  template:
    metadata:
      name: mssql-database
      labels:
        app: mssql
        track: canary
        role: master
    spec:
      containers:
      - name: mssql-database
        image: mcr.microsoft.com/mssql/server:2019-latest
        imagePullPolicy: IfNotPresent
        env:
        - name: ACCEPT_EULA
          value: "Y"
        - name: SA_PASSWORD
          valueFrom:
            secretKeyRef:
              name: mssql-db-secret
              key: password
        - name: MSSQL_PID
          value: Developer
        ports:
        - name: mssqlport
          containerPort: 1433
        volumeMounts:
        - name: mssql-database-data
          mountPath: /var/opt/mssql
      initContainers:
      - name: mssql-change-owner
        image: busybox:latest
        command: ["sh", "-c", "chown -R 10001:0 /var/opt/mssql"]
        volumeMounts:
        - name: mssql-database-data
          mountPath: /var/opt/mssql
      volumes:
      - name: mssql-database-data
        hostPath:
          path: /var/lib/virtual-clinic-mssql
          type: DirectoryOrCreate

I got similar issues with the setup I described here #136 as well.

@cezarlamann your issue is different. It would be solved when you would start container with custom command and change owner of the mssql directory. I am doing the same in my init container above command: ["sh", "-c", "chown -R 10001:0 /var/opt/mssql"]. That is even described in the article this issue is referencing.

Hi @petermicuch! Thank you for your feedback. We're sorry that you're running into issues with your container setup. Unfortunately, environments can vary and we can't account for these issues. This forum is mainly for discussing documentation issues, and I would advise that you seek help according to @WilliamAntonRohm post if you are still having issues. I will go ahead and close this issue, but please feel free to let us know if you have any additional feedback.

@petermicuch your comment on the directory placement solved my issues as well

I also tried with /var/lib/virtual-clinic-mssql/data and it worked. I tried several other directories outside of /var/lib (e.g. /tmp or /opt), but without success.

I was using /tmp for the hostpath.     It never worked.
Once I switch to a hostpath of  /var/lib/k8s-pvc,     My mssql with PVC started working.

cc @VanMSFT for awareness

@amvin87 - FYI in case we need to adjust our documentation to clarify any mapping/permission issues

Guys, this is I think related to Docker Desktop environment and works fine on other systems most of the time. Not sure if you want to be explicit about that environment in the documentation. At least people can find this issue when they hit the same problem.


Update scala-js, refined, etc.

Codecov Report

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

@@            Coverage Diff             @@
##           master     #591      +/-   ##
==========================================
+ Coverage   82.56%   82.71%   +0.14%
==========================================
  Files          73       73
  Lines        2007     2007
  Branches      147      147
==========================================
+ Hits         1657     1660       +3
+ Misses        350      347       -3

Impacted Files
Coverage Δ

.../core/shared/src/main/scala/io/circe/Decoder.scala
88.12% <0%> (ø)
:arrow_up:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
91.35% <0%> (+0.61%)
:arrow_up:

...re/shared/src/main/scala/io/circe/KeyDecoder.scala
45.94% <0%> (+2.7%)
:arrow_up:

...d/src/main/scala/io/circe/NonEmptySeqDecoder.scala
100% <0%> (+9.09%)
:arrow_up:

Continue to review full report at Codecov.

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

Nice, thanks!


Input is not recognized when exporting, even if inside the editor the input works.

Hi, I made this small tool, but It seems the input is not recognized, neither as keyboard presses nor the GUI button signal when exporting.
I attach the project.
ChordProject.zip
EDIT : This is a converted project from the 3.0 build initally. (Made initially on 3.0 then reopened with the beta version).
Input works fine on projects made directly from beta version, it seems it doesn't get properly updated when opened with the beta version.
EDIT: The input works when exported from a 3.0 version (I ported my files from 3.1 beta project to the old 3.0 project).

@ca3games can you reproduce in 3.1? It sounds like this may have been fixed in beta 3. If it has, then we should close this.

I'll close this due to lack of response from OP. If you can still reproduce this on Godot 3.2.1 or later, please comment.


Bicep deploy - update settings

Update the bicep deploy setting to public preview instead of experimental

"Public Preview" instead of "EXPERIMENTAL"


Customized output

Hello, I used this add-on for Roam. My problem is, if I just import the json file, it create too many new labels and new pages. I just need the title, link to local file, and the author's name for each paper/reference. Each time I have to search, copy and paste all these information manually to the Roam. Could you help me.
I want to get something like this:

I would like to customize the template as well. In my case it is because I'm using Logseq instead of Roam and while Logseq can import Roam JSON, the way Logseq handles attributes/properties is different and I'd like to optimize it for that.


Unable to remove model and release GPU memory

System information

Custom code
Ubuntu 16.04
TensorFlow installed from source (with pip)
TensorFlow version v2.0.0
Python version: 3.6
CUDA 10.0
TITAN XP

At first, I tried to load the pre-trained transformer-base model (A) and then add additional word embeddings (dynamic vocabulary) to it. However, it doesn't work (i.e., can't add values to tf.Variable)
Instead, I created another model (B) with the size of dynamic vocabulary and set its weights to existing transformer model (A).
Then, I do not need initial model (A), so I want to remove it and clear GPU memory.
I tried such commands but they didn't work as well.
# delete not model (B) but only model (A)
tf.keras.backend.clear_session()
del model
gc.collect()

According to #36465, I can either use multiprocessing functions... but then I have to remove both model (A) and model (B). So I just want more clear solution.
Thanks.

I recently looked at this issue of making tensorflow free GPU memory, from what I understood I does not seem like it's gonna be available anytime soon. So for now when tf allocates some GPU memory, it will not free it until the cuda session is closed, regardless of it being used to store objects or not.
You can close the whole cuda session using numba (e.g. https://github.com/tensorflow/tensorflow/issues/19731#issuecomment-423426372) but this is very hacky: it releases all the memory of the current process but no longer allows you to use the GPU with tf.
The features you're looking for, i.e. garbage collection + ram freezing, is not available on tensorflow and I'm not sure you can do it in any other way. I don't have any "side" in the tf/pytorch war, I use both. If this feature is crutial to you and if it's possible to consider switching in your context, I just wanted to let you know that this feature of accessing cuda garbage collection is available in pytorch so it might be an option.

Thanks for suggestion. (especially numba)
I decided to execute it as a sub-process with another python code.
I hope this problem to be resolved in TF society someday :)
Thanks 👍


[Bug]: Build Broken

Is there an existing issue for this?

[X] I have searched the existing issues

Is there a StackOverflow question about this issue?

[X] I have searched StackOverflow

What happened?
Removed dependency.

Relevant logcat output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@Jaehwa-Noh the issue is more broad than that. Unit tests from non-Android modules are not executed. I'll create a dedicated issue for that.

Fixed #1667


Radio button circle not clickable

There is a small UI issue when a radio button item gets in the next line because there is not enough space (for example, 125% zoom, or a mobile device etc.), and then the radio circle isn't clickable anymore. Although you can still click the text belonging to that radio circle and it will select it. By the way, I use 125% zoom and "Keep slider always visible" option in the theme, so the space is tight.
You can reproduce this by going to for example "Backup Virtual Servers" and then simply zoom in until at least one radio item goes to the next line, like "Download in browser". I use Chrome.

Yes, I see the cause of the issue.
It seems very easy to fix.
Have a look for the latest commit.
https://github.com/qooob/authentic-theme/commit/481b01bb06d1aac9100a8f163adf0d746db6cbda


Create an intro

Add an intro about yourself: who are you, what is your strength, why are you here.

Sorry to forgot adding the comment. Intro created


Demo Page 404 on README.md

I would like to see how does insomnia-documenter exports but the demo at the readme.md isn't working.

The project is currently undergoing a full rewrite, so it was moved under an organization.
For now the demo is accessible at this address: https://insodoc.github.io/insomnia-documenter/
However, this address will likely change as well because the project will be rebranded as "Insodoc".


If Parent Stream added automatically Schema is empty

Migrated from GitLab: https://gitlab.com/meltano/sdk/-/issues/366
Originally created by @vischous on 2022-04-22 16:49:26

Not sure which version of the SDK started this, but the last released SDK version on pypi I just hit this while doing some testing. (We need to add some tests for this one, as it's a nasty regression I think?)

Setup meltano.yml to select only a child stream (that has a parent stream)
You'll notice the schema is  {"type": "SCHEMA", "stream": "team", "schema": {"properties": {}, "type": "object"}, "key_properties": ["id"]}     for the parent stream. In this example I chose a child stream of team.* from tap-clickup

Hope this is enough to get a repro

View 6 previous comments from the original issue on GitLab


can't skip/bookmark current map

since the menu item for the current map is disabled, I'm not sure how to detect if it's being hovered


Readonly Properties - Type is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes

Category

[X] Question
[] Typo
[] Bug
[] Additional article idea

Expected or Desired Behavior
Following the article sp-dev-docs/docs/spfx/extensions/guidance/using-custom-dialogs-with-spfx.md  with the latest SPFx version updates (including TypeScript), I got an error that
src\extensions\approvalFlow\PeoplePickerDialog.tsx(203,12): error TS2322: Type '{ message: string; spHttpClient: SPHttpClient; siteUrl: string; principalTypeUser: boolean; princ...' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<PeoplePickerDialog> & Readonly<{ children?: ReactN...
I have tried to build a custom people picker dialog for command set using the Fabric UI NormalPeoplePicker component.
Observed Behavior
The solution does not compile.
Steps to Reproduce
I have re-used the model from and the search method (_searchPeople):
https://github.com/SharePoint/sp-dev-fx-webparts/blob/master/samples/react-peoplepicker/src/webparts/officeUiFabricPeoplePicker/models/OfficeUiFabricPeoplePicker.ts
Use the following code for PeoplePickerDialog.tsx
`import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { BaseDialog, IDialogConfiguration } from '@microsoft/sp-dialog';
import {
autobind,
PrimaryButton,
Button,
DialogFooter,
DialogContent
} from 'office-ui-fabric-react';
import { IPersonaProps } from 'office-ui-fabric-react/lib/Persona';
import {
IBasePickerSuggestionsProps,
NormalPeoplePicker
} from 'office-ui-fabric-react/lib/Pickers';
import {
SPHttpClient,
SPHttpClientBatch,
SPHttpClientResponse
} from '@microsoft/sp-http';
import {
Environment,
EnvironmentType
} from '@microsoft/sp-core-library';
import { Promise } from 'es6-promise';
import * as lodash from 'lodash';
import {
IClientPeoplePickerSearchUser,
IEnsurableSharePointUser,
IEnsureUser,
IOfficeUiFabricPeoplePickerState,
SharePointUserPersona
} from '../../models/OfficeUiFabricPeoplePicker';
const suggestionProps: IBasePickerSuggestionsProps = {
suggestionsHeaderText: 'Suggested People',
noResultsFoundText: 'No results found',
loadingText: 'Loading'
};
interface PeoplePickerProps {
message: string;
spHttpClient: SPHttpClient;
siteUrl: string;
typePicker: string;
principalTypeUser: boolean;
principalTypeSharePointGroup: boolean;
principalTypeSecurityGroup: boolean;
principalTypeDistributionList: boolean;
numberOfItems: number;
onChange?: (items: SharePointUserPersona[]) => void;
close: () => void;
submit: (person: string) => void;
}
class PeoplePickerDialog extends React.Component<PeoplePickerProps, {}> {
private _peopleList;
private _selectedPeople;
constructor(props) {
    super(props);

    this._peopleList = [];
    this._selectedPeople = props.selectedItems || [];
}

public render(): JSX.Element {
    return <DialogContent
        title='People Picker'
        subText={this.props.message}
        onDismiss={this.props.close}
        showCloseButton={true}
    >
        <NormalPeoplePicker
            onChange={this._onChange}
            onResolveSuggestions={this._onFilterChanged}
            getTextFromItem={(persona: IPersonaProps) => persona.primaryText}
            pickerSuggestionsProps={suggestionProps}
            className={'ms-PeoplePicker'}
            key={'normal'}
        />
        <DialogFooter>
            <Button text='Cancel' title='Cancel' onClick={this.props.close} />
            <PrimaryButton text='OK' title='OK' onClick={() => { this.props.submit(this._selectedPeople); }} />
        </DialogFooter>
    </DialogContent>;
}

@autobind
private _onChange(items: any[]) {
    this.setState({
        selectedItems: items
    });
    if (this.props.onChange) {
        this.props.onChange(items);
    }
}

@autobind
private _onFilterChanged(filterText: string, currentPersonas: IPersonaProps[], limitResults?: number) {
    if (filterText) {
        if (filterText.length > 2) {
            return this._searchPeople(filterText, this._peopleList);
        }
    } else {
        return [];
    }
}

/**

@function

Returns people results after a REST API call
*/
private _searchPeople(terms: string, results: IPersonaProps[]): IPersonaProps[] | Promise<IPersonaProps[]> {
if (DEBUG && Environment.type === EnvironmentType.Local) {
// If the running environment is local, load the data from the mock
//return this.searchPeopleFromMock();
} else {
const userRequestUrl: string = ${this.props.siteUrl}/_api/SP.UI.ApplicationPages.ClientPeoplePickerWebServiceInterface.clientPeoplePickerSearchUser;
let principalType: number = 0;
if (this.props.principalTypeUser === true) {
principalType += 1;
}
if (this.props.principalTypeSharePointGroup === true) {
principalType += 8;
}
if (this.props.principalTypeSecurityGroup === true) {
principalType += 4;
}
if (this.props.principalTypeDistributionList === true) {
principalType += 2;
}
const userQueryParams = {
'queryParams': {
'AllowEmailAddresses': true,
'AllowMultipleEntities': false,
'AllUrlZones': false,
'MaximumEntitySuggestions': this.props.numberOfItems,
'PrincipalSource': 15,
// PrincipalType controls the type of entities that are returned in the results.
// Choices are All - 15, Distribution List - 2 , Security Groups - 4, SharePoint Groups - 8, User - 1.
// These values can be combined (example: 13 is security + SP groups + users)
'PrincipalType': principalType,
'QueryString': terms
}
};
   return new Promise<SharePointUserPersona[]>((resolve, reject) =>
       this.props.spHttpClient.post(userRequestUrl,
           SPHttpClient.configurations.v1, { body: JSON.stringify(userQueryParams) })
           .then((response: SPHttpClientResponse) => {
               return response.json();
           })
           .then((response: { value: string }) => {
               let userQueryResults: IClientPeoplePickerSearchUser[] = JSON.parse(response.value);
               let persons = userQueryResults.map(p => new SharePointUserPersona(p as IEnsurableSharePointUser));
               return persons;
           })
           .then((persons) => {
               const batch = this.props.spHttpClient.beginBatch();
               const ensureUserUrl = `${this.props.siteUrl}/_api/web/ensureUser`;
               const batchPromises: Promise<IEnsureUser>[] = persons.map(p => {
                   var userQuery = JSON.stringify({ logonName: p.User.Key });
                   return batch.post(ensureUserUrl, SPHttpClientBatch.configurations.v1, {
                       body: userQuery
                   })
                       .then((response: SPHttpClientResponse) => response.json())
                       .then((json: IEnsureUser) => json);
               });

               var users = batch.execute().then(() => Promise.all(batchPromises).then(values => {
                   values.forEach(v => {
                       let userPersona = lodash.find(persons, o => o.User.Key == v.LoginName);
                       if (userPersona && userPersona.User) {
                           let user = userPersona.User;
                           lodash.assign(user, v);
                           userPersona.User = user;
                       }
                   });

                   resolve(persons);
               }));
           }, (error: any): void => {
               reject(this._peopleList = []);
           }));

}
}
}

export default class PeoplePickerDialogContent extends BaseDialog {
public message: string;
public personCode: string;
public spHttpClient: SPHttpClient;
public siteUrl: string;
public principalTypeUser: boolean;
public principalTypeSharePointGroup: boolean;
public principalTypeSecurityGroup: boolean;
public principalTypeDistributionList: boolean;
public numberOfItems: number;
public render(): void {
    ReactDOM.render(<PeoplePickerDialog
        message={this.message}
        spHttpClient={this.spHttpClient}
        siteUrl={this.siteUrl}
        principalTypeUser={this.principalTypeUser}
        principalTypeSharePointGroup={this.principalTypeSharePointGroup}
        principalTypeSecurityGroup={this.principalTypeSecurityGroup}
        principalTypeDistributionList={this.principalTypeDistributionList}
        numberOfItems={this.numberOfItems}
    />, this.domElement);
}

public getConfig(): IDialogConfiguration {
    return {
        isBlocking: false
    };
}

@autobind
private _submit(person: string): void {
    this.personCode = person;
    this.close();
}

@autobind
private _close(): void {
    this.close();
}

}`

@mpasarin - can you have a look on this if it can be solved easily.

In order to get rid of the compile error I only made the properties that are not being passed as optional (appending ? to its name).
In this case it was typePicker, close, and submit.
This issue is not about SPFx but TypeScript being picky about the props object not matching the interface.
After that the compile step for that file succeeded. I didn't do an end-to-end testing but I assume the rest of the code will just work after this.
I'm going to close the issue, if this doesn't solve your problem feel free to re-open.


Also use consul tags as filter for service discovery

Currently you can either scrape all services, or a list of certain services given by service name.
It would be really nice if you could also specify a tag filter, e.g. "prometheus_target", to use.
Current situation:
See Docs. Only consul service name is available for filtering.
Proposal for configuration:
# STATUS QUO
services:
  [ - <string> ]
# The string by which Consul tags are joined into the tag label.
[ tag_separator: <string> | default = , ]

# NEW ADDITION
tags:
  [ - <string> ]

Effect:
Should either scrape all services, or ...

if service name given: only services with the given names
if service tag list given: only services with the given tags attached
if both given: any combination of given service names and tag names

Rationale:
We have much more services registered in consul than we want to scrape (most of them don't even have scraping endpoints for prometheus available). So prometheus should not try to scrape them, and possibly list them as failed if it can't reach the scraping endpoint.

You can do this via relabelling, see https://www.robustperception.io/finding-consul-services-to-monitor-with-prometheus/

oh cool :) . in that case - close it if you want. (although it would be way more convenient that way ;) )


Introduce Roq extension api

Allow extension to contribute to Roq:

Read pages and collections data
Publish Roq pages

Conflict?

Conflict?

@melloware ok there was a small mistake I didn't catch in the seo-tag PR. I am not sure why @mcruzdev added this tag:
https://github.com/quarkiverse/quarkus-roq/commit/598c85018b4a14be4f4d820aa34f5c761dddef98#diff-44353de755a5ff8603b88648652595fee47d5b8ad1c418869de30751a7f6baa3

@mcruzdev @melloware FYI the logic is the exact same, just I split it in phases and builditems to make it easy to plug in there.

Waiting for web-bundler release to fix windows paths


Adding ligand prep instructions

Input submission checklist

[ ] created a directory for each system based on the template directory
[ ] named and placed the directory with the following pattern: input_structures/prepared_structures/<set_name>/<system_name>

For each submitted directory:

[ ] filled in system preparation details in the PREPARATION_DETAILS.md file
[ ] added a PDB file with the protein named protein.pdb
[ ] removed any cofactors from the PDB file and placed them in cofactors.sdf
[ ] kept cystallographic waters and metals in the PDB file
[ ] tested the PDB and, if available, cofactors.sdf file using the input validation script
[ ] copied over the ligands SDF file to a file named ligands.sdf
[ ] copied over the edges CSV file to a file named edges.csv

Summary of changes

Licensing agreement

[x] I agree to release these inputs under the combined MIT and CCBY SA 4.0 licenses of this repository

TODO: Edit input submission checklist to reflect that ligands.sdf might not just be copied over, but may need to be modified.

Missing currently: Instructions on how to visualize and inspect mappings.

Since we decided to remove alternate binding modes/protonation states, it may not be useful any more to copy over the edges.csv file containing the Schrodinger edges. Should we remove this step from the instructions and PR template?

Since we decided to remove alternate binding modes/protonation states, it may not be useful any more to copy over the edges.csv file containing the Schrodinger edges. Should we remove this step from the instructions and PR template?

Yes please!


Provide an example for using Seed Node Resolution + Split Brain Detection

Hello,
It would be great if a sample project was there with more detailed instructions on how to set up the Seed Node resolution and Split Brain detection. Many thanks for providing such valuable tools
Cheers
Cal

Also wanted to know if it was possible to use another database like Postgres with the help of something like this

Hi,
If I find the time, I'll write up an example.
Regarding Postgres:
The 'Seed node resolving' and split-brain-detection does not itself use eventsourcing and can therefor not use 'dnvriend/akka-persistence-jdbc'.
But akka-tools's GeneralAggregate (PersistentActor) - with friends - is not tied to akka-tools jdbc-journal and can therefor also use 'dnvriend/akka-persistence-jdbc'.
But I am not use if 'dnvriend/akka-persistence-jdbc' supports queryByTag.

Ah I misunderstood, so is it possible to make use of Postgres or another open source platform for the Split Brain Detection + Seed Node Resolver?
Thanks and looking forward to your example
Cheers
Cal

No.
For the seed node resolving an Split brain detection you have to use
akka-tools code.
It is only testet on Oracle and H2 in Oracle mode, but it might also work
with postgres.
-Morten
Den søn. 1. mai 2016, 22.17 skrev Cal<EMAIL_ADDRESS>
Ah I misunderstood, so is it possible to make use of Postgres or another
open source platform for the Split Brain Detection + Seed Node Resolver?
Thanks and looking forward to your example
Cheers
Cal
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/NextGenTel/akka-tools/issues/16#issuecomment-216069325

Okay thanks for the clarification


When exporting information in the UI, it should select all rows and not those only visible

Describe the bug
When exporting the data in the details page, when you select all rows, it should select all data from all accounts, and not only those in the interface. For instance, if you have 1927 results in the header, you should be able to see all data in the export, not only those 10 or 20 rows.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
All rows should be selected and a message stating that the full amount of rows has been selected.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

That's not how the table works. Row selection only functions on the visible rows. We would need some other mechanism to select all accounts.

That's not how the PatternFly table works. Row selection only functions on the visible rows. We would need some other mechanism to select all possible accounts.
Note that we currently display table selections in the export modal. With paginated data, we have yet to fetch that information; thus, we don't have that information. This wouldn't scale well because, there could be hundreds or thousands of accounts that we must display in the export modal.

Is it possible to schedule a task in the backend and make it work through
there?
The current behaviour does not work if the customer is trying to download
the information to work with it, they would need to repeat for each 10-20
rows, stick the information together, and then process it.
Kind regards,
Sergio
Sergio Ocón-Cárdenas
Product Manager, Cost Management
Red Hat https://www.redhat.com/
<EMAIL_ADDRESS>M: +34-692058130
https://www.redhat.com/
On Wed, Dec 11, 2019 at 4:32 AM Dan Labrecque<EMAIL_ADDRESS>wrote:

That's not how the PatternFly table works. Row selection only functions on
the visible rows. We would need some other mechanism to select all possible
accounts.
Note that we currently display table selections in the export modal. With
paginated data, we have yet to fetch that information; thus, we don't have
that information. This wouldn't scale well because, there could be hundreds
or thousands of accounts that we must display in the export modal.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/project-koku/koku-ui/issues/1137?email_source=notifications&email_token=ABZHGLTB2MKOB67EMZ2HF5TQYBNLXA5CNFSM4JZAINY2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGRYIPI#issuecomment-564364349,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZHGLVZ46NKX4CWN3EZMQDQYBNLXANCNFSM4JZAINYQ
.

Will need to discuss with @adberglund if scheduling tasks is possible. However, I feel that how to represent all data in the UI is more a design issue

Created Jira epic https://issues.redhat.com/browse/COST-57


armv7-m irq: initialize mask to avoid compiler warning/error

Summary
arm-none-eabi-gcc 12.2.0 gives the following warning:
error: 'primask' is used uninitialized
We use Werror and the file is indirectly included in different
places. I suggest initializing the variable instead of adding exceptions.
Impact
Any performance concern?
Testing
This is the only error I encountered when upgrading the compiler. After not getting the error anymore even on the target that uses this file. I didn't find any more issues in my testing so far.

In general GCC 12 gives many false positive warnings like this.

Since this code is located in the header file we can go with this fix, but maybe it is worth putting a comment in the code as init is actually not needed.

I would use the pragma to disable the waning

@davids5 Thanks for having a look. I added pragmas to mute the warning. :+1:


Many warnings when building with clang 8

Lots of unsuppressed warnings that should be fixed in the source or explicitly suppressed in the CMakeLists.txt:

-Wc++98-compat -Wc++98-compat-pedantic
-Wfloat-conversion -Wdouble-promotion -Wfloat-equal
-Wsign-conversion -Wimplicit-int-conversion -Wshift-sign-overflow
-Wglobal-constructors -Wmissing-prototypes -Wmissing-variable-declarations
-Wcovered-switch-default -Wswitch-enum
-Wreserved-id-macro -Wgnu-anonymous-struct -Wnested-anon-types
-Wshadow-field -Wunused-macros
-Wzero-as-null-pointer-constant -Wold-style-cast -Wcast-qual -Wcast-align
-Wcomma -Wextra-semi -Wextra-semi-stmt
-Wunreachable-code-break -Wdeprecated -Wmissing-noreturn
-Wformat-nonliteral
-Wnewline-eof -Wnonportable-system-include-path

Also, it would be nice to replace the -std=c++11 switch with the following in CMakeLists.txt:
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

And lastly, the following switches generate -Wunknown-argument on clang for Windows 8:

fvisibility=hidden -fvisibility-inlines-hidden -fPIC

Got it - I'm leaving this issue open as I'll be addressing these issues.

I've fixed all existing warnings with gcc/clang/msvc, and I've begun to remove the suppressed warnings categories one by one.

(The next drop (UASTC) coming in a few hours contains these fixes.)

Leaving this up for more investigation.


US 04.03.01

US 04.03.01
As an owner, I want to be notified of a request so that i could prepare for the potential contact from the potential borrower.

This issue is sort of done but I'm holding off from making a PR because the application has to make a notification in the DB. This depends on #92.

closed in #102


fix JavaScript capitalization

Change from Javascript to JavaScript. As far as I can tell, this is the accepted way to spell/capitalize it.
@mstemm @dmajda

+1

There is also a couple of places where JavaScript is spelled “javascript”, these should probably be changed too.

@dmajda, done.

+1


Rename code

model/person/Person -> Bug
model/person/UniquePersonList -> UniqueBugList
model/person/Address -> Description
model/person/Email -> state
model/person/exceptions/PersonNotFoundException -> BugNotFoundException
model/person/exceptions/DuplicatePersonException -> DuplicateBugException
model/AddressBook -> BugList
model/ReadOnlyAddressBoo -> ReadOnlyBugList
storage/JsonAddressBookStorage - >JsonBugListStorage
storage/AddressBookStorage -> BugListStorage
PersonCard -> BugCard
PersonListPanel -> BugListPanel

Codecov Report

Merging #151 into master will increase coverage by 0.02%.
The diff coverage is 79.65%.

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

PR sent to the wrong repo. Closing.


[Text] Homepage showing random lettters

Issue
I've just installed the Text theme, but there's random letters on my homepage, I didn't do anything yet only changing the font size and family and then apply Spicetify Text theme...
Screenshots

config-xpui.ini
[Setting]
color_scheme           = Gruvbox
replace_colors         = 1
overwrite_assets       = 1
check_spicetify_update = 1
prefs_path             = /home/tamarindx/.config/spotify/prefs
current_theme          = text
inject_css             = 1
spotify_launch_flags   = --ozone-platform=wayland
always_enable_devtools = 0
spotify_path           = /opt/spotify/
inject_theme_js        = 1

[Preprocesses]
disable_ui_logging = 1
remove_rtl_rule    = 1
expose_apis        = 1
disable_sentry     = 1

[AdditionalOptions]
experimental_features = 1
extensions            =
custom_apps           =
sidebar_config        = 1
home_config           = 1

[Patch]

; DO NOT CHANGE!
[Backup]
version = <IP_ADDRESS>5.g5e2860a8
with    = 2.38.5

[Patch]
xpui.js_find_8008 = ,(\w+=)56,
xpui.js_repl_8008 = ,${1}32,

Console Logs
index.html:1 document.domain mutation is ignored because the surrounding agent cluster is origin-keyed.
(anonymous) @ index.html:1
spicetifyWrapper.js:453 [spicetifyWrapper] Waiting for required webpack modules to load
vendor~xpui.js:sourcemap:1 provider:transport resolve error TypeError: Cannot replace endpoint @remote-config-resolver: endpoint not defined.
    at vendor~xpui.js:sourcemap:1:1428802
    at String.replace (<anonymous>)
    at ce._tryExpandSpecialURL (vendor~xpui.js:sourcemap:1:1428752)
    at ce._processRequestArgs (vendor~xpui.js:sourcemap:1:1428335)
    at ce._sendRequest (vendor~xpui.js:sourcemap:1:1427546)
    at ce.<anonymous> (vendor~xpui.js:sourcemap:1:1438539)
    at ce._dispatchFromStore (vendor~xpui.js:sourcemap:1:978098)
    at Array.<anonymous> (vendor~xpui.js:sourcemap:1:979406)
    at a (vendor~xpui.js:sourcemap:1:976639)
    at t (vendor~xpui.js:sourcemap:1:977097) Object
h @ vendor~xpui.js:sourcemap:1
vendor~xpui.js:sourcemap:1 Uncaught (in promise) TypeError: Cannot replace endpoint @remote-config-resolver: endpoint not defined.
    at vendor~xpui.js:sourcemap:1:1428802
    at String.replace (<anonymous>)
    at ce._tryExpandSpecialURL (vendor~xpui.js:sourcemap:1:1428752)
    at ce._processRequestArgs (vendor~xpui.js:sourcemap:1:1428335)
    at ce._sendRequest (vendor~xpui.js:sourcemap:1:1427546)
    at ce.<anonymous> (vendor~xpui.js:sourcemap:1:1438539)
    at ce._dispatchFromStore (vendor~xpui.js:sourcemap:1:978098)
    at Array.<anonymous> (vendor~xpui.js:sourcemap:1:979406)
    at a (vendor~xpui.js:sourcemap:1:976639)
    at t (vendor~xpui.js:sourcemap:1:977097)
xpui.js:sourcemap:1 Uncaught (in promise) Error: PUT request to sp://abs/v1/slots/hpto request failed with error code -1 (Resolver not found!)
    at c.onFailure (xpui.js:sourcemap:1:1466276)
    at onFailure (xpui.js:sourcemap:1:1465878)
spicetifyWrapper.js:474 [spicetifyWrapper] All required webpack modules loaded
CircularSp-Book.woff2:1

       Failed to load resource: net::ERR_CONNECTION_REFUSED
sidebarConfig.js:169 Uncaught (in promise) TypeError: Spicetify.Snackbar?.enqueueCustomSnackbar is not a function
    at sidebarConfig.js:169:24
gew4-spclient.spotify.com/social-connect/v2/devices//jam_status:1

       Failed to load resource: the server responded with a status of 400 ()
xpui.js:sourcemap:1 HttpResponseError
    at n.fromResponse (xpui.js:sourcemap:1:1417503)
    at e.onAfterSend (xpui.js:sourcemap:1:1395761)
    at xpui.js:sourcemap:1:1421985
    at async l.fetchCurrentSession (xpui.js:sourcemap:1:1802173)
l @ xpui.js:sourcemap:1
xpui.js:sourcemap:1 cosmos-connector:  fetchAdForSlot endpoint=%o sp://abs/v1/ads/hpto
xpui.js:sourcemap:1 Uncaught (in promise) Error: GET request to sp://abs/v1/ads/hpto request failed with error code -1 (Resolver not found!)
    at c.onFailure (xpui.js:sourcemap:1:1466276)
    at onFailure (xpui.js:sourcemap:1:1465878)
8The resource <URL> was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate `as` value and it is preloaded intentionally.
index.html:1 document.domain mutation is ignored because the surrounding agent cluster is origin-keyed.
(anonymous) @ index.html:1

Specifics

OS: [Arch Linux 6.12.1-zen1-1-zen]
Spotify version [<IP_ADDRESS>5.g5e2860a8]
Spicetify version [2.38.5]
Theme name [Text]

I'm having the same problem. Did you find any solution to this?

I'm having the same problem. Did you find any solution to this?

Still waiting for a reply from the theme creator, the problem is occured only in Linux, I've tried this theme on Windows and it's working fine no problem.

This issue is now happening on windows as well.

Fix for me:
1. Click your Profile > Experimental Features

2. ![image](https://private-user-images.githubusercontent.com/719579/397885773-572612d4-e9c0-4c8d-a01e-723c1910bb86.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzQ3NTIwMTMsIm5iZiI6MTczNDc1MTcxMywicGF0aCI6Ii83MTk1NzkvMzk3ODg1NzczLTU3MjYxMmQ0LWU5YzAtNGM4ZC1hMDFlLTcyM2MxOTEwYmI4Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQxMjIxJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MTIyMVQwMzI4MzNaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zMDg5ZWFjNTExNDViYzllODU0NjAyNWYwNjEzYzU3YjkzOTc4NmNlYmEyNmZlNGI3YjMyNjE2MTAxYWQ3MWEwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.5H_CAog_H72_h3ARmoUzMFCpBle5LThg3CpA6CTQibM)

3. Disable Enable carousels on home

Wow thanks, that's working, so the culprit was the carousel thingy :/


Merge numba master

based on numba ceab10620764d1ff29e0c0e550d1d5975674819b

Hi @Hardcode84 @AlexanderKalistratov  ,
Unfortunately, currently CI cannot test changes for Numba master. As we decided earlier, I will create internal testing with result publishing in PR for numba-master branch.
That is why if locally your changes works fine, I suggest to merge this PR.
Later we can fix it if something is wrong in next PR.

Hello @Hardcode84! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file sdc/tests/test_basic.py:

Line 347:30: E261 at least two spaces before inline comment


Uses old Reveal effect from RS4 instead of using the new more subtle 19H1 Reveal effect.

The Reveal effect is noticeably different when WinUI Nuget package isn't installed - It uses the new 19H1 reveal effect as expected where the border reveal radius is smaller. But when I install the WinUI nuget package, the reveal effect is noticeably different - It uses the old 1809 reveal style, where the border reveal radius is larger.
Demonstration:
Old 1809 reveal style with WinUI installed on 19H1 Build:
(the border reveal radius is large)

New 19H1 reveal style without WinUI installed on 19H1 Build:
(the border reveal radius is smaller)

This doesn't seem like an intentional difference, but the code does have quite a bit of conditionals for the windows build so it's possible there's a bug there. We'll take a look.

As mentioned above, the Reveal code is different in the Windows build from WinUI, but the visual appearance is supposed to be the same.  There have not been any intentional changes in appears since RS4.  Definitely a bug.


app fails on macOS

what a great sample!  It builds and runs perfectly on Windows, but not so on mac catalina.
the service builds and runs.  I had a problem with the app. it showed a "failed to find WebAssembly" message when i issued "npm start"  command.
solution: node does not run alongside graalvm.  After removing graal, the app shows the page at port 3000.
however, the page is not functional, there is no intellisense and no evaluation.

more:  the above was on safari.  Using chrome, the page shows, but crashes on the first character typed in the Formula field.
the diagnostics are attached
PowerFx Demo.pdf


help with install

Is there any way you could give me more detailed instruction on how to install the Bar Card?
I tried searching for it in HACS with no luck.
Thanks for help in advance.

Should be in HACS, have a look at https://github.com/custom-cards/bar-card#installation

I'm sorry, the info on the github link ( https://github.com/custom-cards/bar-card#installation ) might be super clear for very experienced users, but it does not make sens to me. Searching in HACS for bar or card or bar-card does not return the proper hit for the bar-card.
Trying to add custom repository with link does not allow selecting type: module so this is also not clear:

url: /hacsfiles/bar-card/bar-card.js
type: module

So, a little more details about how get the bar-card installed would be very much appreciated.
Thanks for help in advance.

I got it working finally.
Thanks for creating this card type really cool !!!

Install HACS
in Home Assistant Community Store go to Frontend
Search for: Bar Card
hit install

I have already HACS but i cant find bar card only timer bar card

I installed it quite some time ago and I'm not sure if I had to do more than this.


CLN update to v0.12.0

fixes: #3274
the existing install process worked ok after setting the right keys

CLN now at v0.12.1

Building v0.12.1 tested ok, ready to merge.


Add and update filled map related mappings.

Also, I noticed some issues when trying to rename some fields with Enigma.
Tried to rename field_25019 to LOGGER but Enigma refused to, same for the parameter in the constructor of  MapState.PlayerUpdateTracker

Also, I noticed some issues when trying to rename some fields with Enigma.
Tried to rename field_25019 to LOGGER but Enigma refused to, same for the parameter in the constructor of  MapState.PlayerUpdateTracker

Tried to rename field_25019 to LOGGER but Enigma refused to, same for the parameter in the constructor of MapState.PlayerUpdateTracker

sorry but you may have to do so with text editor outside of enigma. Name it like LOGGER1 and change it afterwards (you can change it on github web too)

Tried to rename field_25019 to LOGGER but Enigma refused to, same for the parameter in the constructor of MapState.PlayerUpdateTracker

sorry but you may have to do so with text editor outside of enigma. Name it like LOGGER1 and change it afterwards (you can change it on github web too)

Tried to rename field_25019 to LOGGER but Enigma refused to, same for the parameter in the constructor of MapState.PlayerUpdateTracker

sorry but you may have to do so with text editor outside of enigma. Name it like LOGGER1 and change it afterwards (you can change it on github web too)

Tried to do that, sadly it refused to save me the field mappings even with LOGGER1

Tried to rename field_25019 to LOGGER but Enigma refused to, same for the parameter in the constructor of MapState.PlayerUpdateTracker

sorry but you may have to do so with text editor outside of enigma. Name it like LOGGER1 and change it afterwards (you can change it on github web too)

Tried to do that, sadly it refused to save me the field mappings even with LOGGER1


Number of teams a user can create

is the limit of 250 teams for a non-admin user applies to simultaneously existing teams or can a single user never create the 251st team, if the older teams are deleted?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 905e2c09-ef3e-07cc-0809-6ff171157c47
Version Independent ID: c0d33162-183d-fff8-32e9-a999f391ea51
Content: Limits and specifications for Microsoft Teams - Microsoft Teams
Content Source: Teams/limits-specifications-teams.md
Service: msteams
GitHub Login: @LolaJacobsen
Microsoft Alias: lolaj

@ValerianHeints thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

quite strange approach: the documentation talks about 250 teams per user limit without mentioning what it really means.


kubernetes client does not support InsecureSkipVerify

Like other providers we should have --kubernetes.tls.insecureskipverify
Which makes the client in provider/k8s/client.go set c.tls.InsecureSkipVerify

Hey @jonaz @emilevauge I can't thing of any valid use case for this.
Traefik is using "in cluster" configuration https://github.com/containous/traefik/blob/master/provider/k8s/client.go#L44
which will set up tls config based on the "Kubernetes service account" including the CA https://github.com/kubernetes/client-go/blob/124670e99da15091e13916f0ad4b2b2df2a39cd5/rest/config.go#L285
And the Kubernetes Client will actually prevent you from going insecure by raising an error if you try to set the Insecure flag.
https://github.com/kubernetes/client-go/blob/124670e99da15091e13916f0ad4b2b2df2a39cd5/transport/transport.go#L58

A potential (not sure if useful at all) use case for this could be to have an "out of cluster" kubernetes provider reading a kubeconfig file (just like https://github.com/kubernetes/client-go/blob/124670e99da15091e13916f0ad4b2b2df2a39cd5/examples/out-of-cluster/main.go#L36)
However this would make no trivial for Traefik to reach the pods.

I agree, at the moment k8s implies that Traefik is running in cluster, with credentials and CA provided by the service account,  running Traefik externally makes a lot of things uncertain networking wise...  Unless there is a strong use case to support this, in a real cluster it seems irrelevant.

My usecase was traefik running inside a cluster. With a haproxy in front of the kubernetes apiservers and the common name was then not included in the SAN of the apiserver certs. Therefore i needed traefik to work anyway.
My SANs looked like this:
DNS Name: kubernetes
DNS Name: kubernetes.default
DNS Name: localhost
IP Address: <IP_ADDRESS>
IP Address: <IP_ADDRESS>
IP Address: <IP_ADDRESS>
IP Address: <IP_ADDRESS>
IP Address: <IP_ADDRESS>
But my service for the haproxy was named apiserver-lb which was not included in the SAN.
The real fix is ofcourse to include apiserver-lb in the SAN but that requires downtime.
I solved it by running traefik on hostNetwork instead so it could access the haproxy on localhost which was included in the SAN.

Running in cluster you shouldn't need ha-proxy kube-proxy should work just fine... if kubedns is running, kubernetes.default should route correctly...

That's not true. Kubernetes does not reconfigure the service lb when a
master node is down. That's why the official HA guide suggest setting an LB
in front of the API servers. Otherwise every third request to the cluster
will fail. There is a pretty old bug report for this on the kubernetes
issue tracker
On Wed, Feb 22, 2017, 03:31 Ed Robinson<EMAIL_ADDRESS>wrote:

Running in cluster you shouldn't need ha-proxy kube-proxy should work just
fine... if kubedns is running, kubernetes.default should route correctly...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/containous/traefik/issues/876#issuecomment-281549703,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABF-FScd_i6McUiIeqpt7A0IPbpqWtqnks5re53wgaJpZM4K5eAT
.


[Other issue] Loading the GUI

I'm having some trouble loading the GUI, keeps giving me error messages.

Could you show us what error messages you're getting? Are you running the latest version of scqubits? Also, how did you install scqubits, through conda, pip or from source?
One thing to try, would be to reinstall scqubits (and the dependencies) to see if that fixes things.

Thank you for getting back to me. I figured it out, I was running a version of python that scqubits didn’t support. Have a good one!On Jan 29, 2024, at 08:19, petergthatsme @.***> wrote:
Could you show us what error messages you're getting? Are you running the latest version of scqubits? Also, how did you install scqubits, through conda, pip or from source?
One thing to try, would be to reinstall scqubits (and the dependencies) to see if that fixes things.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

great, closing this now.


Implement parent, left_child, and right_child as defn

Now that there is a single function for fitting trees and it is implemented within defn I think that parent, left_child, and right_child can go under defn as well. Perhaps they should be private as well?

I checked out from the wrong branch, so gotta close this for now.

The reason I keep them public (and non-defn) is because folks may need them to traverse the KDTree. Given they are small, I am fine with keeping them as is. :)

Makes sense!


aframe-inspector-plugin-recast not maintained

ICYMI, aframe-inspector-plugin-recast is not maintained anymore, see issue #48.
This plugin was the recommended solution to generate navmesh. The server is still running, but maybe not for long.
The pathfinding README links to a blogpost that contains outdated information (when Blender used to have a video game mode).
I'm concerned that when the aframe-inspector-plugin-recast server goes down, there won't be a way to generate a navmesh.
There are different possible ways to get out of this situation:

Someone write about how to generate a navmesh using updated tools, ideally accessible from this repo.
c-frame to take over the maintenance of aframe-inspector-plugin-recast.

I didn't do a lot of scene in blender myself. I sometimes used just a plane and cut some holes with the knife tool.
How to use the Knife tool: https://www.youtube.com/watch?v=4scXty1hsto
Also see articles from Hubs:
https://hubs.mozilla.com/labs/what-is-a-nav-mesh/
https://hubs.mozilla.com/labs/creating-a-custom-nav-mesh-for-your-hubs-scene/
You can try adding ?debugNavmesh to the end of any room URL to see a wireframe version of the nav-mesh in that space.
I know some people used Hubs Spoke editor to generate a navmesh and export it. If I remember, Spoke also use a recast version to generate the navmesh.
Also see https://github.com/MozillaReality/hubs-blender-exporter/pull/194
An alternative to navmesh component from this repo is Ada's simple-navmesh-constraint component. The nice thing about it is you can add navmesh-hole class to an entity and it will dynamically forbid walking on this entity. I don't think you can do that with the navmesh component in this repo.

There is also some tips how to create a navmesh in blender in this article
https://hubs.mozilla.com/labs/creating-retro-worlds/#creating-a-navigation-mesh

Keep an eye to recast-navigation-js https://twitter.com/isaac_mason_/status/1647979252569243648 "Big thanks to Babylon.js - their recast extension was the basis of the wasm build."
and a nice demo https://twitter.com/yomotsu/status/1648326941362237440

Creating a navmesh with blender and recast will be included in the hubs addon! https://github.com/MozillaReality/hubs-blender-exporter/pull/213

@arvind-iyer created an aframe component that uses recast-navigation-js to bake the navmesh and export it to glb https://github.com/arvind-iyer/aframe-recast


Update form styles to use form components

Calculators uses the latest form styles from Elements. It should instead use the styles that government-frontend and now email-alert-frontend use, by reusing the form components in govuk_publishing_components.
eg
https://government-frontend.herokuapp.com/component-guide/radio
https://government-frontend.herokuapp.com/component-guide/error_summary

Totally agree. Now tracked here: https://trello.com/c/kQMyItaS


[BUG] MAP build failing during GitHub Action

Describe the bug
I am trying to build a MAP via a GitHub Action, however the build is failing during/after STEP 19 in the monai-deploy package build process. See screenshot:

Steps/Code to reproduce bug
Output of GitHub Action can be found here: Click Package Map & test MAP end-to-end.
GHA .yml file can be found here: https://github.com/GSTT-CSC/TotalSegmentator-AIDE/blob/24_publish_map/.github/workflows/publish_map.yml
Effectively, running monai-deploy package app --tag map/init:temp -l DEBUG fails. The GitHub Action completes, but unsuccessfully because the MAP build only reaches STEP 19/29.
Expected behavior
I would expect the MAP to build and then be able to see it via the docker images command, however it is only partially built and has the tag <none> in the screenshot above.
Environment details (please complete the following information)
GitHub Actions environment

@tomaroberts sorry for the late reply. I initially misunderstood the issue, thinking related to App SDK actions.
I've inspected the log from the Action, and in the step running packager, there was an docker build error, due to dependency incompatibility, at this line
I've checked my venv, the scipy version is 1.10.1 and the numpy is at 1.24.3. In your build log, the scipy is at 1.6.3. We may need to see why the scipy version is at such.
Step Display installed pip package shows scipy at 1.9.0, but the Packager build will pip install the dependency over the base image, and if scipy is already installed satisfying the requirement, no upgrade will be done.
This led me to the base image, which in the SDK v0.5 Packager, the default is nvcr.io/nvidia/pytorch:21.11-py3, but I had since changed it to nvcr.io/nvidia/pytorch:22.08-py3 in the main branch, to be released in a patched version.
Please try to build the MAP outside of the Actions and confirm the new base image works, with the --base or -b command line option, similar to the example below,
monai-deploy package -b nvcr.io/nvidia/pytorch:22.08-py3 my_app --tag my_app:latest -m model.ts

@MMelQin – one idea I had was to use the --requirements option within the monai-deploy package command to specify numpy<1.21.0.
I've just tried this both on a local machine and through GHA.
On my local machine, this worked and if I do docker run -it I can see that the MAP has updated with numpy==1.20.4.
However, with GHA, this still fails as you can see here.
I notice that in ALL cases when building using GHA the process hard fails after Step 19/29. Step 20/29 is a RUN curl ... command... could the failure on GHA be related to that?

Searching the GHA logfile, line 66 is the only time in the packager that a chmod command is performed. Wonder if this is an issue within a docker build on GHA.

I've investigated a bit more and run some more Actions, but no luck so far.
I'm convinced it's something to do with Step 19 failing which relates to the COPYing  requirements.txt file into the MAP:

[2023-07-05 15:16:47,469] [DEBUG] (app_packager) - Step 19/29 : COPY ./pip/requirements.txt /tmp/requirements.txt
failed to export image: failed to create image: failed to get layer sha256:9c0e0507ab0926c8f004b0d4fdc1a2abe04a762e81f733b3ff45743f01365247: layer does not exist

Things I've tried:

adding @md.env(pip_packages=...) within app.py to point to the requirements.txt – GHA here
using the -r option within monai-deploy package ... – GHA here

Any other suggestions @MMelQin ?

I've investigated a bit more and run some more Actions, but no luck so far.
I'm convinced it's something to do with Step 19 failing which relates to the COPYing requirements.txt file into the MAP:

[2023-07-05 15:16:47,469] [DEBUG] (app_packager) - Step 19/29 : COPY ./pip/requirements.txt /tmp/requirements.txt
failed to export image: failed to create image: failed to get layer sha256:9c0e0507ab0926c8f004b0d4fdc1a2abe04a762e81f733b3ff45743f01365247: layer does not exist

Things I've tried:
* adding `@md.env(pip_packages=...)` within `app.py` to point to the requirements.txt – [GHA here](https://github.com/GSTT-CSC/TotalSegmentator-AIDE/actions/runs/5486135214/jobs/9995832736)

* using the `-r` option within `monai-deploy package ...` – [GHA here](https://github.com/GSTT-CSC/TotalSegmentator-AIDE/actions/runs/5465913806/jobs/9950069495)

Any other suggestions @MMelQin ?

Hi!
I just came across this issue by coincidence. This error could mean that the /tmp/requirements.txt already exists and it is already the same file you are trying to copy.
According to https://stackoverflow.com/questions/51115856/docker-failed-to-export-image-failed-to-create-image-failed-to-get-layer , this error usually shows up when the COPY command makes no difference on the resulting image.


New Project:Online Food App by junaid-arif-24 #1258

Adding MyOnlineMeal, an online food delivery web application, using ReactJS and JavaScript. Implemented intuitive user interfaces and interactive features to enhance the user experience. Utilized ReactJS components and libraries to efficiently manage and display food menus, order processing, and payment transactions.
Related Issue
New Project:Online Food App by junaid-arif-24 #1258

Description
added a new project in the projects.json file

Screenshots

@priyankarpal it's PR Title Checker / check (pull_request_target) Failing after 4s
what mistake I am making?
please guide me


Improved Reproducibility

One complaint I have heard from journal editors is that it is hard to ensure reproducibility because it is hard to concretely specify which files were used. There is some information available. The global attributes of the netCDF files contain information of the sort:
'model_doi_url': 'https://doi.org/10.5065/D67H1H0V',
'tracking_id': 'hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839'

where the model_doi_url in this example points to CESM2's webpage and the tracking_id is supposed to be a unique identifier of the dataset. In the dataset REST API responses, we have these entries:
<arr name="citation_url">
<str>http://cera-www.dkrz.de/WDCC/meta/CMIP6/CMIP6.CMIP.NCAR.CESM2.historical.r1i1p1f1.Amon.tas.gn.v20190308.json</str>
</arr>
...
<arr name="pid">
<str>hdl:21.14100/8e650f5b-d139-33a9-b0d8-edcb0bfd0987</str>
</arr>

The citation url resolves to some dictionary that could be used to piece together a citation. The pid appears to be be another name for the tracking_id. It would be good to get some clarification about how these work. Is there one per file and then another for the dataset? In my limited experience, they are not always unique. I have seen 1 tracking id resolve to several areacella datasets across different experiments.
I have implemented a method of populating a catalog from a list of tracking_ids:
cat.from_tracking_ids(["hdl:21.14100/d9a7225a-49c3-4470-b7ab-a8180926f839"])

So the users could include a list of those used in the publications and they can be recovered. How can we do better with what we have?

In the near term, we decided on the following:

[ ] In the documentation, we will demonstrate how you can take a dataset dictionary and extract the tracking_id's. Perhaps we just include a function that you can import and use.
[ ] This capability needs added to the Solr index type.
[ ] Mail David Hamm (journal editor) and ask what he thinks about this solution.


Build the unityLibrary Module as an AAR and Link it with the react-native-unity Plugin

Since it's possible to Export and Build the unityLibrary Module as an AAR file, does anyone know which are the steps to include such a library in the ReactNative Plugin?. This would not require to setup and build using the NDK on the ReactNative project, speeding up build time and simplifying the integration.
Has anyone experience in such an integration?

@jgrunig yes, you can. But you need to modify many thing
Modify this lib - android/build.gradle
In short, you need to modify<EMAIL_ADDRESS>inside your react native folder
dependencies {
  // For < 0.71, this will be from the local maven repo
  // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
  //noinspection GradleDynamicVersion
  implementation "com.facebook.react:react-native:+"
  implementation project(':unityLibrary')

  //// comment out this line, because unity-class.jar is built into aar file
  //// so if you want to keep that line, you need to use project instead
  // implementation files("${project(':unityLibrary').projectDir}/libs/unity-classes.jar")
}

Modify unityLibrary before build AAR
Remove intent filter with link your unity library with unity launcher, follow official document
<!-- <intent-filter>
  <category android:name="android.intent.category.LAUNCHER" />
  <action android:name="android.intent.action.MAIN" />
</intent-filter> -->

So now you can build AAR using gradle
# this line will download gradle library and create gradlew file inside export project
gradle wrapper

# this line will build unity AAR lib from exports project, but not dependencies
# because of this, you need to copy final AAR file on build folder and libs folder inside unityLibrary into unity/builds/android folder
.gradlew assemble

Now all you need is integrate. there are some file you need to modify in order to integrate without error, I will list all step I need to do (may be different for you, I am not sure)
Some step to do
1. Create local unity project inside unity/builds/android
Create folder unityLibrary, copy/move unityLibrary-release.aar and libs folder inside unityLibrary
Create build.gradle inside unityLibrary with below content
configurations.maybeCreate("default")
artifacts.add("default", file('unityLibrary-release.aar'))

You also need to modify settings.gradle like official document
include ':unityLibrary'
project(':unityLibrary').projectDir=new File('..\\unity\\builds\\android\\unityLibrary')

2. Modify some file inside android/app
This step used to implement all file AAR in libs folder
dependencies {
    // add this line -- I don't know but I cannot use flatDir like document, so I add here
    implementation fileTree(dir: "${project(':unityLibrary').projectDir}/libs", include: '*.aar')
}

You also need to add string to android/app/src/main/res/values/strings.xml, don't forget
<string name="game_view_content_description">GameView</string>

May be done and you can build right now
I don't know if my workaround is worked for you. I'm happy if you can try and feedback for me 👍


Android's keystore

Hey!
Opening a issue to track the progress of Android's keystore instead.
We're saving a token to storage and it would be great if it was possible to use the keystore instead of shared pref's.
Any idea when you might have time to look at this?

Sorry @ptomasroos no ETA. If you have a PR we can have a look at it.


KCP Plugin installation hint lacks version/branch

On https://github.com/openshift-pipelines/pipelines-service/tree/main/ckcp
I am seeing I need to install the kcp plugin, but doing so from main did not complete the Workspace:  step. I had to build from the release-0.5 branch (found this version was used on the commits)

Thanks @matzew for pointing this out. This is being tracked in a Jira issue now.


add certificate authority file

This PR is fixing the BUG  #3432
Please review it.

Does it solve your issue, have you tested?  why the CI clusters are not failing on this task?
you need the sign the CLA

ci check this

@ant31 This fixes issues mentioned in #3432  and playbook runs through.
I have already signed CLA. Please have a look.

/check-cla

you commited with: ankitcharolia1991
You must sign the cla with the same email address than the commit

/check-cla

/check-cla

@ant31 Hey I have signed CLA. Please verify it and merge PR if all look good.
Thank you

/lgtm
/approve


Brightness doesn’t update and no color selection

Hi there, unfortunately when i connected my WLED Controller to Homekit via your Homebridge plugin I ran into following problem. When I connected it, it first shows and works correctly. Any input I do on the WLED controller will be updated in realtime on homekit, but if I try to change the brightness on Homekit it doesn’t do anything. It then just shows the brightness on the Homekit UI but there is no update on the controller or the Homebridge.
The other thing mentioned in the title is that even tho it is a RGBCCT strip, i only get shown a standard lightbulb switch in homekit. I couldn’t tell from your plugin description if this was a planned feature or if it should already work.
Thank you for this plugin and for your help!!

Logs:

[25/10/2024, 10:31:13] [wled-ws platform] Received controller RGB LED Strip state update {"on":true,"brightness":255,"transition":7,"presetId":-1,"playlistId":-1,"ledmap":0,"AudioReactive":{"on":true},"nightlight":{"on":false,"duration":60,"mode":1,"targetBrightness":0,"remaining":-1},"udpSync":{"send":false,"receive":true,"sgrp":1,"rgrp":1},"liveDataOverride":0,"mainSegmentId":0,"segments":[{"id":0,"start":0,"stop":59,"length":59,"grouping":1,"spacing":0,"offset":0,"on":true,"freeze":false,"brightness":255,"cct":0,"set":0,"colors":[[0,0,255,0],[255,0,0,0],[0,0,0,0]],"effectId":129,"effectSpeed":255,"effectIntensity":255,"paletteId":0,"c1":128,"c2":128,"c3":16,"selected":true,"reverse":false,"mirror":false,"o1":false,"o2":false,"o3":false,"si":0,"m12":2}]}
[25/10/2024, 10:31:13] [wled-ws platform] Controller RGB LED Strip updated current On state to: true
[25/10/2024, 10:31:13] [wled-ws platform] Controller RGB LED Strip updated current Live state to: true
[25/10/2024, 10:31:13] [wled-ws platform] Controller RGB LED Strip updated current preset to: -1
[25/10/2024, 10:31:13] [wled-ws platform] Controller RGB LED Strip updated current playlist to: -1
[25/10/2024, 10:31:13] [wled-ws platform] Received initial info for controller RGB LED Strip
[25/10/2024, 10:31:13] [wled-ws platform] Update accessory info for controller RGB LED Strip to: brand=WLED product=FOSS version=0.15.0-b6 mac=xx:xx:xx:xx:xx:xx lc=5
[25/10/2024, 10:31:13] [wled-ws platform] Received effects for controller RGB LED Strip ["Solid","Blink","Breathe","Wipe","Wipe Random","Random Colors","Sweep","Dynamic","Colorloop","Rainbow","Scan","Scan Dual","Fade","Theater","Theater Rainbow","Running","Saw","Twinkle","Dissolve","Dissolve Rnd","Sparkle","Sparkle Dark","Sparkle+","Strobe","Strobe Rainbow","Strobe Mega","Blink Rainbow","Android","Chase","Chase Random","Chase Rainbow","Chase Flash","Chase Flash Rnd","Rainbow Runner","Colorful","Traffic Light","Sweep Random","Chase 2","Aurora","Stream","Scanner","Lighthouse","Fireworks","Rain","Tetrix","Fire Flicker","Gradient","Loading","Rolling Balls","Fairy","Two Dots","Fairytwinkle","Running Dual","RSVD","Chase 3","Tri Wipe","Tri Fade","Lightning","ICU","Multi Comet","Scanner Dual","Stream 2","Oscillate","Pride 2015","Juggle","Palette","Fire 2012","Colorwaves","Bpm","Fill Noise","Noise 1","Noise 2","Noise 3","Noise 4","Colortwinkles","Lake","Meteor","Meteor Smooth","Railway","Ripple","Twinklefox","Twinklecat","Halloween Eyes","Solid Pattern","Solid Pattern Tri","Spots","Spots Fade","Glitter","Candle","Fireworks Starburst","Fireworks 1D","Bouncing Balls","Sinelon","Sinelon Dual","Sinelon Rainbow","Popcorn","Drip","Plasma","Percent","Ripple Rainbow","Heartbeat","Pacifica","Candle Multi","Solid Glitter","Sunrise","Phased","Twinkleup","Noise Pal","Sine","Phased Noise","Flow","Chunchun","Dancing Shadows","Washing Machine","Rotozoomer","Blends","TV Simulator","Dynamic Smooth","Spaceships","Crazy Bees","Ghost Rider","Blobs","Scrolling Text","Drift Rose","Distortion Waves","Soap","Octopus","Waving Cell","Pixels","Pixelwave","Juggles","Matripix","Gravimeter","Plasmoid","Puddles","Midnoise","Noisemeter","Freqwave","Freqmatrix","GEQ","Waterfall","Freqpixels","RSVD","Noisefire","Puddlepeak","Noisemove","Noise2D","Perlin Move","Ripple Peak","Firenoise","Squared Swirl","RSVD","DNA","Matrix","Metaballs","Freqmap","Gravcenter","Gravcentric","Gravfreq","DJ Light","Funky Plank","RSVD","Pulser","Blurz","Drift","Waverly","Sun Radiation","Colored Bursts","Julia","RSVD","RSVD","RSVD","Game Of Life","Tartan","Polar Lights","Swirl","Lissajous","Frizzles","Plasma Ball","Flow Stripe","Hiphotic","Sindots","DNA Spiral","Black Hole","Wavesins","Rocktaves","Akemi"]
[25/10/2024, 10:31:13] [wled-ws platform] Received presets for controller RGB LED Strip {"0":{},"1":{"on":true,"brightness":255,"transition":7,"mainSegment":0,"segments":[{"id":0,"start":0,"stop":59,"grouping":1,"spacing":0,"of":0,"on":true,"freeze":false,"brightness":255,"cct":0,"set":0,"name":"","colors":[[255,236,207,0],[0,0,0,0],[0,0,0,0]],"effectId":0,"effectSpeed":128,"effectIntensity":128,"paletteId":0,"c1":128,"c2":128,"c3":16,"selected":true,"reverse":false,"mirror":false,"o1":false,"o2":false,"o3":false,"si":0,"m12":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0}],"name":"Lights On","label":"1"},"2":{"on":true,"brightness":90,"transition":7,"mainSegment":0,"segments":[{"id":0,"start":0,"stop":59,"grouping":1,"spacing":0,"of":0,"on":true,"freeze":false,"brightness":255,"cct":137,"set":0,"colors":[[255,0,0,0],[0,0,0,0],[0,0,0,0]],"effectId":0,"effectSpeed":128,"effectIntensity":128,"paletteId":0,"c1":128,"c2":128,"c3":16,"selected":true,"reverse":false,"mirror":false,"o1":false,"o2":false,"o3":false,"si":0,"m12":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0}],"name":"Red Solid","label":"2"},"3":{"on":true,"brightness":255,"transition":7,"mainSegment":0,"segments":[{"id":0,"start":0,"stop":59,"grouping":1,"spacing":0,"of":0,"on":true,"freeze":false,"brightness":255,"cct":0,"set":0,"name":"","colors":[[0,0,255,0],[255,0,0,0],[0,0,0,0]],"effectId":129,"effectSpeed":255,"effectIntensity":255,"paletteId":0,"c1":128,"c2":128,"c3":16,"selected":true,"reverse":false,"mirror":false,"o1":false,"o2":false,"o3":false,"si":0,"m12":2},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0}],"name":"Pixelwave","label":"3"}}
[25/10/2024, 10:31:13] [wled-ws platform] Received config for controller RGB LED Strip {"rev":[1,0],"vid":2410140,"id":{"mdns":"[controller-mdns]","name":"WLED","invocationName":"Light","sui":false},"network":{"espnow":false,"linked_remote":"","instances":[{"ssid":"[Wi-Fi Network Name]","pskl":13,"ip":[x,x,x,x],"gateway":[x,x,x,x],"subnet":[255,255,255,0]}],"dns":[8,8,8,8]},"accessPoint":{"ssid":"WLED-AP","pskl":8,"channel":1,"hide":0,"openBehavior":0,"ip":[4,3,2,1]},"wifi":{"sleep":false,"phy":false,"txpwr":78},"hardware":{"led":{"total":59,"maxCurrent":0,"maxCurrentPerLED":0,"cctCorrection":false,"cctFromRGB":false,"ic":false,"cctBlending":0,"fps":42,"autoWhiteMode":2,"ld":true,"instances":[{"start":0,"length":59,"pins":[16],"colorOrder":0,"reverse":false,"skip":0,"type":32,"offRefresh":false,"rgbwm":0,"freq":0,"maxpwr":0,"ledma":55}]},"com":[],"button":{"max":4,"pull":true,"instances":[{"type":2,"pin":[4],"macros":[0,0,0]},{"type":0,"pin":[-1],"macros":[0,0,0]},{"type":0,"pin":[-1],"macros":[0,0,0]},{"type":0,"pin":[-1],"macros":[0,0,0]}],"touchThreshold":32,"mqtt":false},"ir":{"pin":-1,"type":0,"sel":true},"relay":{"pin":-1,"reverse":false,"odrain":false},"baud":1152,"if":{"i2c-pin":[-1,-1],"spi-pin":[-1,-1,-1]}},"light":{"scaleBrightness":100,"paletteBlendingMode":0,"autoSegments":false,"gammaCorrection":{"brightness":1,"color":2.8,"val":2.8},"transition":{"enabled":true,"fx":true,"duration":7,"palettes":false,"rpc":5,"hrp":true},"nightlight":{"mode":1,"duration":60,"targetBrightness":0,"macro":0}},"defaults":{"preset":1,"on":true,"brightness":128},"interfaces":{"sync":{"port0":21324,"port1":65506,"espnow":false,"receive":{"brightness":true,"color":true,"effects":true,"pal":true,"groups":1,"seg":false,"sb":false},"send":{"en":false,"direct":false,"button":false,"alexa":false,"hue":true,"groups":1,"ret":0}},"nodes":{"list":true,"broadcast":true},"live":{"enabled":true,"mso":false,"rlm":true,"port":5568,"multicast":false,"dmx":{"universe":1,"sequenceSkip":false,"e131prio":0,"address":1,"dss":0,"mode":4},"timeout":25,"maxBrightness":false,"noGammaCorrection":true,"offset":0},"alexa":{"enabled":false,"macros":[0,0],"p":0},"mqtt":{"enabled":false,"broker":"","port":1883,"user":"","pskl":0,"clientId":"[Client ID]","rtn":false,"topics":{"device":"wled/0a4f10","group":"wled/all"}},"hue":{"enabled":false,"id":1,"interval":25,"receive":{"on":true,"brightness":true,"color":true},"ip":[192,168,178,0]},"ntp":{"enabled":false,"host":"0.wled.pool.ntp.org","timezone":0,"offset":0,"ampm":false,"lon":0,"lat":0}},"overlay":{"clock":0,"countdown":false,"min":0,"max":29,"o12pix":0,"show5MinuteMarks":false,"showSecondsTrail":false,"osb":false},"timers":{"countdown":{"goal":[20,1,1,0,0,0],"macro":0},"instances":[]},"ota":{"lock":false,"lockWiFi":false,"pskl":7,"arduinoOTA":true},"usermods":{"AudioReactive":{"enabled":true,"add-palettes":false,"analogmic":{"pin":-1},"digitalmic":{"type":1,"pin":[32,15,14,-1]},"config":{"squelch":10,"gain":60,"AGC":1},"frequency":{"scale":3},"dynamics":{"limiter":false,"rise":80,"fall":1400},"sync":{"port":11988,"mode":0}}}}
[25/10/2024, 10:31:13] [wled-ws platform] Controller RGB LED Strip connected
[25/10/2024, 10:50:29] [wled-ws platform] Set controller RGB LED Strip On state to: Off
[25/10/2024, 10:50:30] [wled-ws platform] Received controller RGB LED Strip state update {"on":false,"brightness":255,"transition":7,"presetId":-1,"playlistId":-1,"ledmap":0,"AudioReactive":{"on":true},"nightlight":{"on":false,"duration":60,"mode":1,"targetBrightness":0,"remaining":-1},"udpSync":{"send":false,"receive":true,"sgrp":1,"rgrp":1},"liveDataOverride":0,"mainSegmentId":0,"segments":[{"id":0,"start":0,"stop":59,"length":59,"grouping":1,"spacing":0,"offset":0,"on":true,"freeze":false,"brightness":255,"cct":0,"set":0,"colors":[[0,0,255,0],[255,0,0,0],[0,0,0,0]],"effectId":129,"effectSpeed":255,"effectIntensity":255,"paletteId":0,"c1":128,"c2":128,"c3":16,"selected":true,"reverse":false,"mirror":false,"o1":false,"o2":false,"o3":false,"si":0,"m12":2}]}
[25/10/2024, 10:50:30] [wled-ws platform] Received info for controller RGB LED Strip

Plugin Config:

{
  "controllers" : [
    {
      "address" : "192.168.x.x",
      "name" : "Office Bar Matrix",
      "presets" : "Drip"
    },
    {
      "address" : "192.168.x.x",
      "lightCapabilities" : 3,
      "name" : "RGB LED Strip ",
      "presets" : "2",
      "resetRealTimeModeAfterStream" : true,
      "showRealTimeModeButton" : false
    }
  ],
  "logging" : false,
  "name" : "wled-ws platform",
  "platform" : "wled-ws"
}

Environment:

Plugin Version: 0.0.16
Homebridge Version: 1.8.4
Node.js Version: v18.19.0
NPM Version: 10.2.3
Operating System: hb-service

Hi @MrSteffens ,
thank you for your report. Unfortunately, I never tested the plugin with Live mode on.
@LeLunZ : can you have a look at it?
Regarding CCT: the color temperature characteristic is not implemented yet.
Regards

@MrSteffens so as @smhex said „Live Mode“ is On, is that correct?
I haven’t looked at the wled code in a longer time, but I think:
Live Mode/Realtime mode means the other device that’s streaming „colors“ to your WLED instance has full control.
which means you can’t control the brightness from HomeKit while live mode is on.


[PE-D][Tester E] App does not support "S/O" in names

Steps to reproduce:

Add a user with the name "John Doe S/O John Deez"

It might affect users who want to add contact with "s/o" in their legal name

Labels: severity.Low type.FunctionalityBug
original: seanlim/ped#4

We should include this constraint in the user guide, specifying that users should use son of instead of s/o.


fix: avoid double clicking issue

Fixes: https://github.com/zakodium-oss/react-science/issues/487

Codecov Report
Patch coverage: 38.88% and project coverage change: -0.02 :warning:

Comparison is base (454dc7f) 49.20% compared to head (7d07566) 49.19%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #488      +/-   ##
==========================================
- Coverage   49.20%   49.19%   -0.02%
==========================================
  Files         137      137
  Lines        7406     7416      +10
  Branches      184      184
==========================================
+ Hits         3644     3648       +4
- Misses       3762     3768       +6

Impacted Files
Coverage Δ

src/components/accordion/Accordion.tsx
43.41% <38.88%> (-0.29%)
:arrow_down:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add in check for required columns in CSVs

Now, if theres a row in the CSV with missing columns out of the required ones we get some strange behavior. For example it makes other things later in the survey an open multi select item because of the way the conditions are set in survey.pug. I think we should fix this so that lines in the CSV are skipped if theres an issue with them.

Just wanted to clarify, do you mean a missing column for the entire CSV here, or if something is wrong with an individual entry for a required column? Have added checks for the former, but not for the latter (would need more clarity on what all checks we want then)

I think the former is ok for now.


Update package.nls.zh-tw.json

Correct some translations and remove duplicate keys.

@karrtikr May you add the "skip news" label?

Please make sure that extension loads in this translation, and then this PR is good to go.

The translations are correctly applied.


Added support for daemonsets

The last remaining resource controller that was not covered yet are daemonsets. One of the most common deployment way of ingress-nginx is through daemonsets, so having menu entry to look for all the logs from ingress at the same time is certainly useful

Hi @remixtj, I'll review the request during next week, if it's all OK I will do a new release with this functionality.
From a first look I see that you didn't do a check on replicas count before rendering the menu.
You did (or better didn't) it for a reason?

From a first look I see that you didn't do a check on replicas count before rendering the menu. You did (or better didn't) it for a reason?

Daemonsets have no replicas, because are created to run exactly one copy of a pod in each node. Having 10 nodes will mean that you'll have 10 pods to follow with stern.
Luca

Hi @remixtj, I just created a new release (v0.3.2) that includes your pull request.
Thanks! 😊


memo-name: correct inconsistent spelling

Addresses #444 by moving everything to the American-English 'z' instead of 's'.
I suppose this technically is a breaking change, because Memoise was public, but eh.

Thanks!