How to configure the same partitioned cache to be a back cache both for use "in cluster" and with gRPC?

I am using Coherence 24.03 and has started to look at using the gRPC prox to allow "dynamically connected clients" (AWS Lambda functions) that be members of a Coherence cluster and client written in other languages than Java.
As we already have a large "near cache" (local front and partitioned back) that is central to our system I would the new clients to also use it rather than create a new cache for use with gRPC.
I always struggle with how to write the XML cache configuration for my systems and this is no exception - can anybody please give me some hints if this is possible and if so how I could go about it?

@javafanboy Do you mean you want to use a NearCache on a Java gRPC client? This should just work as you define things in the client cache config like normal, but instead of an Extend remote-cache-scheme you define a remote-grpc-cache-scheme as documented here Defining a Remote gRPC Cache

I mean that I already have a "near cache" configuration that I use to
efficiently share a lot of data with Java clients that are "regular
members" of the Coherence cluster.
Now I would also some other clients, my first and most important case AWS
Lambda functions written in Java (that since Lambda functions are suspended
when not called cant maintain cluster membership), to both put and get
objects to THE SAME "near cache" allowoing them to interact with the
existing "regular members".
Ideally I would like them to also have a "near" cache tier (but I am not
sure how invalidation would work for this given the "intermittent life" of
the LAmbda functions) but even just access to the back tier of the near
cache with no "front tier" would be a step in the right direction and
potentially as efficient as other popular caching alternatives in the cloud
that only provide access over network....
My question is basically what additional configuration I would need to add
in the cache config file to make this cache (or at least its back tier)
reachable over gRPC from a Java client not part of the cluster?
On Fri, May 24, 2024 at 3:55 PM Jonathan Knight @.***>
wrote:

@javafanboy https://github.com/javafanboy Do you mean you want to use a
NearCache on a Java gRPC client? This should just work as you define things
in the client cache config like normal, but instead of an Extend
remote-cache-scheme you define a remote-grpc-cache-scheme as documented
here Defining a Remote gRPC Cache
https://docs.oracle.com/en/middleware/standalone/coherence/<IP_ADDRESS>6/develop-remote-clients/using-coherence-java-grpc-client.html#GUID-8E1B2F97-9784-4204-9B00-92B3222DE043
—
Reply to this email directly, view it on GitHub
https://github.com/oracle/coherence/issues/126#issuecomment-2129601588,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADXQF64PJ74JNAW3FIU5JTZD5BELAVCNFSM6AAAAABIHT5M5CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRZGYYDCNJYHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

OK, if I understand correctly you have a NearCache on the cluster member that is running the proxy that the client connects to. In that case the NearCache will not be used by clients. I am pretty sure both Extend clients and gRPC clients will bypass any NearCache on the proxy and go straight to the back cache.

That would be just fine - my most heavy processing will still be in
containers or VMs that are regular cluster members.
What additional cache config wuold be required to make that happen?
Also what would give best performance today extend or the gRPC proxy (as I
understand it these are two different but "competing" solutions - seemingly
gRPC is the one that seems to have most future potential but if I only use
Java Extend is more well proven as of now)?
On Fri, May 24, 2024 at 4:24 PM Jonathan Knight @.***>
wrote:

OK, if I understand correctly you have a NearCache on the cluster member
that is running the proxy that the client connects to. In that case the
NearCache will not be used by clients. I am pretty sure both Extend clients
and gRPC clients will bypass any NearCache on the proxy and go straight to
the back cache.
—
Reply to this email directly, view it on GitHub
https://github.com/oracle/coherence/issues/126#issuecomment-2129657280,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADXQF5BXRA3CXIFBJKOSWTZD5ETLAVCNFSM6AAAAABIHT5M5CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRZGY2TOMRYGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

To make my question more clear I created two minimal test program, one that joins the Coherence cluster and inserts a value in a near cache and another that tries to extract the same value but does not join the coherence cluster and instead tries to use the gRPC client.
I also included the simple cache config I use. In this file I have so far only included what the documentation stated is the "minimal configuration" for gRPC. I can confirm that when I launch the separate default cache server it reports starting the gRPC proxy, the first program run as expected but as of now when I run the second program (everything run locally on my laptop) I get an exception because com.tangosol.net.Coherence.getInstance() is null. I assume this is because I need to add something more to the gRPC configuration but I do not know what :-(
All sugestions are warmly appreciated!

package com.test;
import com.tangosol.net.*;
public class MicroCoherenceTest {
static {
    System.setProperty("tangosol.coherence.wka", "<IP_ADDRESS>");
    System.setProperty("tangosol.pof.enabled", "true");
    System.setProperty("tangosol.pof.config", "custom-pof-config.xml");
    System.setProperty("tangosol.coherence.cacheconfig", "custom-cache-config.xml");
    System.setProperty("tangosol.coherence.distributed.localstorage", "false");
}

static final NamedCache<String, String> testCache =
        CacheFactory.getCache("near-test");

public static void main(String[] args) {
    testCache.put("hello", "world");
    System.out.println(testCache.get("hello"));
}

}

package com.test;
import com.tangosol.net.*;
public class MicroCoherenceRPCTest {
static {
    System.setProperty("tangosol.coherence.wka", "<IP_ADDRESS>");
    System.setProperty("tangosol.pof.enabled", "true");
    System.setProperty("tangosol.pof.config", "custom-pof-config.xml");
    System.setProperty("tangosol.coherence.cacheconfig", "custom-cache-config.xml");
    System.setProperty("tangosol.coherence.distributed.localstorage", "false");
    System.setProperty("coherence.tcmp.enabled", "false");
}

static final Session session = Coherence.getInstance().getSession();
static final NamedMap<String, String> testCache =
        session.getMap("near-test");

public static void main(String[] args) {
    // After inserting a value by running MicroCoherenceTest I want to be
    // able to retrieve it with this program!
    System.out.println(testCache.get("hello"));
}

}

${coherence.scope}
${coherence.serializer}

near-*
${coherence.profile near}-${coherence.client direct}

<cache-mapping>
  <cache-name>*</cache-name>
  <scheme-name>remote-grpc</scheme-name>
</cache-mapping>

*
topic-server

near-direct

{front-limit-entries 10000}

thin-direct
0

<!-- partitioned caching scheme for clustered clients -->
<distributed-scheme>
  <scheme-name>thin-direct</scheme-name>
  <scheme-ref>server</scheme-ref>
  <local-storage system-property="coherence.distributed.localstorage">false</local-storage>
  <autostart>false</autostart>
</distributed-scheme>

<!-- partitioned caching scheme for servers -->
<distributed-scheme>
  <scheme-name>server</scheme-name>
  <service-name>${coherence.service.name PartitionedCache}</service-name>
  <local-storage system-property="coherence.distributed.localstorage">true</local-storage>
  <partition-count system-property="coherence.distributed.partitions">31</partition-count>
  <backing-map-scheme>
    <partitioned>true</partitioned>
    <local-scheme>
      <high-units>{back-limit-bytes 0B}</high-units>
    </local-scheme>
  </backing-map-scheme>
  <autostart>true</autostart>
</distributed-scheme>

<!-- partitioned topic scheme for servers -->
<paged-topic-scheme>
  <scheme-name>topic-server</scheme-name>
  <service-name>${coherence.service.name Partitioned}Topic</service-name>
  <local-storage system-property="coherence.distributed.localstorage">true</local-storage>
  <partition-count system-property="coherence.distributed.partitions">9</partition-count>
  <autostart system-property="coherence.topic.enabled">true</autostart>
  <channel-count system-property="coherence.topic.channel.count"/>
  <high-units>{topic-high-units-bytes 0B}</high-units>
  <reconnect-wait system-property="coherence.topic.reconnect.wait"/>
  <reconnect-timeout system-property="coherence.topic.reconnect.timeout"/>
  <reconnect-retry system-property="coherence.topic.reconnect.retry"/>
</paged-topic-scheme>

<invocation-scheme>
  <scheme-name>my-invocation-service</scheme-name>
  <service-name>InvocationService</service-name>
  <autostart system-property="tangosol.coherence.invocation.autostart">true</autostart>
</invocation-scheme>

<remote-grpc-cache-scheme>
  <scheme-name>remote-grpc</scheme-name>
  <service-name>RemoteGrpcCache</service-name>
</remote-grpc-cache-scheme>

There seems to be a few things here.

Calling com.tangosol.net.Coherence.getInstance() on the server will return null if the server has not been started using the Coherence bootstrap API (see the docs here) If Coherence is not started correctly there will be no Coherence instance to return. The bootstrap API can also be used to start a client. If you do not start the server this way then there will be no gRPC proxy started for the client to connect to.

The simplest way to get a session at start-up on a cluster member is
Coherence coherence = Coherence.clusterMember().start().get();
Session session = coherence.getSession();

On the client, your config looks ok. All caches map to the "remote-grpc" scheme. The way that is configured, it will use the Coherence NameService to look up the gRPC proxy endpoints to connect to, the same way Extend does. The paged-topic-scheme in that config will not work on a client, currently topics only work on a cluster member.

Thanks for the quick reply "gridman"!
Updating the gRPC test as follows:
package com.test;
import com.tangosol.net.*;
import java.util.concurrent.ExecutionException;
public class MicroCoherenceRPCTest {
static {
    System.setProperty("tangosol.coherence.wka", "<IP_ADDRESS>");
    System.setProperty("tangosol.pof.enabled", "true");
    System.setProperty("tangosol.pof.config", "custom-pof-config.xml");
    System.setProperty("tangosol.coherence.cacheconfig", "custom-cache-config.xml");
    System.setProperty("tangosol.coherence.distributed.localstorage", "false");
    System.setProperty("coherence.tcmp.enabled", "false");
}

public static void main(String[] args) {
    final Coherence coherence;
    try {
        coherence = Coherence.clusterMember().start().get();
    } catch (InterruptedException | ExecutionException e) {
        throw new RuntimeException(e);
    }
    final Session session = coherence.getSession();
    final NamedMap<String, String> testCache =
            session.getMap("near-test");
    // After inserting a value by running MicroCoherenceTest I want to be
    // able to retrieve it with this program!
    System.out.println(testCache.get("hello"));
}

}
results in the following exception:
2024-05-27 14:37:27.090/0.627 Oracle Coherence CE 24.03  (thread=Coherence, member=n/a): Error while starting cluster: java.lang.UnsupportedOperationException: TCMP clustering has been disabled; this configuration may only access clustered services via Extend proxies.
at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.java:2864)
at com.tangosol.coherence.component.net.Cluster.start(Cluster.java:3425)
at com.tangosol.coherence.component.util.SafeCluster.startCluster(SafeCluster.java:1611)
at com.tangosol.coherence.component.util.SafeCluster.restartCluster(SafeCluster.java:1260)
at com.tangosol.coherence.component.util.SafeCluster.ensureRunningCluster(SafeCluster.java:619)
at com.tangosol.coherence.component.util.SafeCluster.getRunningCluster(SafeCluster.java:962)
at com.tangosol.coherence.component.util.SafeCluster.start(SafeCluster.java:1596)
at com.tangosol.net.CacheFactory.ensureCluster(CacheFactory.java:592)
at com.tangosol.net.ExtensibleConfigurableCacheFactory.ensureService(ExtensibleConfigurableCacheFactory.java:771)
at com.tangosol.net.ExtensibleConfigurableCacheFactory.startServices(ExtensibleConfigurableCacheFactory.java:873)
at com.tangosol.net.ExtensibleConfigurableCacheFactory.activate(ExtensibleConfigurableCacheFactory.java:590)
at com.tangosol.net.Coherence.startSystemCCF(Coherence.java:1811)
at com.tangosol.net.Coherence.createSystemSession(Coherence.java:1932)
at com.tangosol.net.Coherence.initializeSystemSession(Coherence.java:1892)
at com.tangosol.net.Coherence.startInternal(Coherence.java:1562)
at com.tangosol.net.Coherence.lambda$start$6(Coherence.java:1228)
at java.base/java.lang.Thread.run(Thread.java:1583)
and later when I try to retrieve the session
Exception in thread "main" java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException: TCMP clustering has been disabled; this configuration may only access clustered services via Extend proxies.
at com.test.MicroCoherenceRPCTest.main(MicroCoherenceRPCTest.java:27)
Caused by: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException: TCMP clustering has been disabled; this configuration may only access clustered services via Extend proxies.
at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
at com.test.MicroCoherenceRPCTest.main(MicroCoherenceRPCTest.java:25)
Caused by: java.lang.UnsupportedOperationException: TCMP clustering has been disabled; this configuration may only access clustered services via Extend proxies.
at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.java:2864)
at com.tangosol.coherence.component.net.Cluster.start(Cluster.java:3425)
at com.tangosol.coherence.component.util.SafeCluster.startCluster(SafeCluster.java:1611)
at com.tangosol.coherence.component.util.SafeCluster.restartCluster(SafeCluster.java:1260)
at com.tangosol.coherence.component.util.SafeCluster.ensureRunningCluster(SafeCluster.java:619)
at com.tangosol.coherence.component.util.SafeCluster.getRunningCluster(SafeCluster.java:962)
at com.tangosol.coherence.component.util.SafeCluster.start(SafeCluster.java:1596)
at com.tangosol.net.CacheFactory.ensureCluster(CacheFactory.java:592)
at com.tangosol.net.ExtensibleConfigurableCacheFactory.ensureService(ExtensibleConfigurableCacheFactory.java:771)
at com.tangosol.net.ExtensibleConfigurableCacheFactory.startServices(ExtensibleConfigurableCacheFactory.java:873)
at com.tangosol.net.ExtensibleConfigurableCacheFactory.activate(ExtensibleConfigurableCacheFactory.java:590)
at com.tangosol.net.Coherence.startSystemCCF(Coherence.java:1811)
at com.tangosol.net.Coherence.createSystemSession(Coherence.java:1932)
at com.tangosol.net.Coherence.initializeSystemSession(Coherence.java:1892)
at com.tangosol.net.Coherence.startInternal(Coherence.java:1562)
at com.tangosol.net.Coherence.lambda$start$6(Coherence.java:1228)
at java.base/java.lang.Thread.run(Thread.java:1583)
If I remove the line disabling tcmp the program runs but I suspects it then joing the cluster normally rather than use gRPC client/proxy?!

This is because your code is doing this:
coherence = Coherence.clusterMember().start().get();

which as the method name suggests is going to start Coherence as a cluster member, but you have this property set
System.setProperty("coherence.tcmp.enabled", "false");

which will disable clustering.
If you want this code to start a client then you need to do Coherence.client().start()

Sorry but now slightly confused here - if I do NOT disable tcmp the client joins the cluster (I can see log messages that I interpret like it jons the cache service etc).
So how do I initiate the client so that it will NOT join the cluster but still can access caches using gRPC client/proxy?
Do I then need to used another method to find the gRPC proxy (like the fixed IP)?

If you are starting a client with Coherence.client().start() then you should be able to use System.setProperty("coherence.tcmp.enabled", "false"); But if your client cache config is the one you posted above, then it has services defined with <autostart>true</autostart> that are clustered services (i.e. distributed-scheme and paged-topic-scheme) and will attempt to start the cluster. You either need a client config that only has the client remote-grpc-scheme or do not autostart the clustered services

Thanks will create a separate config for the "loosely connected" clients!
On Mon, May 27, 2024, 17:37 Jonathan Knight @.***>
wrote:

If you are starting a client with Coherence.client().start() then you
should be able to use System.setProperty("coherence.tcmp.enabled",
"false"); But if your client cache config is the one you posted above,
then it has services defined with true that are
clustered services (i.e. distributed-scheme and paged-topic-scheme) and
will attempt to start the cluster. You either need a client config that
only has the client remote-grpc-scheme or do not autostart the clustered
services
—
Reply to this email directly, view it on GitHub
https://github.com/oracle/coherence/issues/126#issuecomment-2133712032,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADXQFZXUXPJJFPSM3VDACLZENHLRAVCNFSM6AAAAABIHT5M5CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZTG4YTEMBTGI
.
You are receiving this because you were mentioned.Message ID:
@.***>

Latest try I simplified the program to this:
package com.test;
import com.tangosol.net.Coherence;
import com.tangosol.net.NamedMap;
import com.tangosol.net.Session;
import java.util.concurrent.ExecutionException;

public class MicroCoherenceRPCTest {
    static {
        System.setProperty("tangosol.coherence.wka", "<IP_ADDRESS>");
        System.setProperty("tangosol.pof.enabled", "true");
        System.setProperty("tangosol.pof.config", "custom-pof-config.xml");
        System.setProperty("tangosol.coherence.cacheconfig", "grpc-custom-cache-config.xml");
        System.setProperty("coherence.tcmp.enabled", "false");
    }
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        final Coherence coherence;
        coherence = Coherence.clusterMember().start().get();
        final Session session = coherence.getSession();
        NamedMap<String, String> testCache = session.getMap("near-scania");
        System.out.println(testCache.get("hello"));
    }
}

and created a separate grpc-custom-cache-config.xml that looks like this:

<cache-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
              xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config coherence-cache-config.xsd"
              xml-override="{coherence.cacheconfig.override}">
  <defaults>
    <scope-name>${coherence.scope}</scope-name>
    <serializer>${coherence.serializer}</serializer>
  </defaults>

  <caching-scheme-mapping>
    <cache-mapping>
      <cache-name>*</cache-name>
      <scheme-name>remote-grpc</scheme-name>
    </cache-mapping>
  </caching-scheme-mapping>

  <caching-schemes>
    <remote-grpc-cache-scheme>
      <scheme-name>remote-grpc</scheme-name>
      <service-name>RemoteGrpcCache</service-name>
    </remote-grpc-cache-scheme>
  </caching-schemes>
</cache-config>

but still get the exception```
:
2024-05-27 19:47:40.076/0.623 Oracle Coherence CE 24.03  (thread=Coherence, member=n/a): java.lang.UnsupportedOperationException: TCMP clustering has been disabled; this configuration may only access clustered services via Extend proxies.
at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.java:2864)
at com.tangosol.coherence.component.net.Cluster.start(Cluster.java:3425)
at com.tangosol.coherence.component.util.SafeCluster.startCluster(SafeCluster.java:1611)
at com.tangosol.coherence.component.util.SafeCluster.restartCluster(SafeCluster.java:1260)
at com.tangosol.coherence.component.util.SafeCluster.ensureRunningCluster(SafeCluster.java:619)
at com.tangosol.coherence.component.util.SafeCluster.getRunningCluster(SafeCluster.java:962)
at com.tangosol.coherence.component.util.SafeCluster.start(SafeCluster.java:1596)
at com.tangosol.net.CacheFactory.ensureCluster(CacheFactory.java:592)
at com.tangosol.net.ExtensibleConfigurableCacheFactory.ensureService(ExtensibleConfigurableCacheFactory.java:771)
at com.tangosol.net.ExtensibleConfigurableCacheFactory.startServices(ExtensibleConfigurableCacheFactory.java:873)
at com.tangosol.net.ExtensibleConfigurableCacheFactory.activate(ExtensibleConfigurableCacheFactory.java:590)
at com.tangosol.net.Coherence.startSystemCCF(Coherence.java:1811)
at com.tangosol.net.Coherence.createSystemSession(Coherence.java:1932)
at com.tangosol.net.Coherence.initializeSystemSession(Coherence.java:1892)
at com.tangosol.net.Coherence.startInternal(Coherence.java:1562)
at com.tangosol.net.Coherence.lambda$start$6(Coherence.java:1228)
at java.base/java.lang.Thread.run(Thread.java:1583)
Are these things documented somewhere - I tried reading about gRPC but did not find very detailed information about the start of the client etc. :-(

In your code you are still starting Coherence as a cluster member
final Coherence coherence = Coherence.clusterMember().start().get();

This means Coherence will start various "system" services which require the cluster.
You need to start Coherence as a client
final Coherence coherence = Coherence.client().start().get();

Thanks very much - now it works!!!!


Improve automated checks in testbenches

Currently, checks for correct functionality in testbenches such as the gemv_tester are done by inspecting waveforms. This instead should be done by automated checks that provide pass/fail statistics on the various tests performed.

Closed by PR #53


Todo: help to keep JS and Elm code in sync in packages using taskports

There is currently to mechanism allowing to distribute JavaScript code alongside Elm packages, so developers of packages requiring JS-side companion code to come up with practical mechanisms for that. For example, JavaScript code required for elm-taskport itself is bundled into a companion NPM module, which is distributed via the NPM repo.
By their nature, any separate distribution mechanism for JS code required for an Elm package to work poses a risk of ending up with incompatible versions of Elm and JS code in an application. TaskPort itself implements a safeguard that detects such situation and fails eagerly with a helpful error message, as opposed to leaving room for obscure failures. However, developers of Elm packages using taskports would be facing the same issue, at least until Elm package registry would allow to distribute JS code.
Developers of Elm packages are free to implement their own safeguards ensuring compatible versions of Elm and JS code, but all such mechanisms would be very similar. The experience of developing Elm packages using TaskPort would be improved if it provided out-of-the-box support for such a safeguard.

Closed as done with PR #11


Libevent is required

Describe the bug
configure: error: libevent is required.
To Reproduce
curl -O https://memcached.org/files/memcached-1.6.26.tar.gz
tar zxvf memcached-1.6.26.tar.gz
cd memcached-1.6.26
./configure

System Information

OS/Distro: Ubuntu
Version of OS/distro: 22.04
Version of memcached: 1.6.26
Hardware detail:

Detail (please include!)
During ./configure I got
checking for libevent directory... configure: error: libevent is required.  You can get it from https://www.monkey.org/~provos/libevent/
      If it's already installed, specify its path using --with-libevent=/dir/

I have installed libevent doing apt install libevent-dev.
I also tried
./configure --with-libevent=/usr/lib/x86_64-linux-gnu/libevent.so
but got the same result.

did any previous version of mc work or is this a new system?
I'm not sure how that could be broken for you unless libevent-dev didn't actually install, or you've messed with ld_config somehow.

@dormando this is a new system. Also tried to re-install libevent-dev, and it seems everything is fine.
/usr/lib/x86_64-linux-gnu/libevent.so: symbolic link to libevent-2.1.so.7.0.1
usr/lib/x86_64-linux-gnu/libevent-2.1.so.7.0.1: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4c26f7362d55dd3d9504a9fe94805a6235d480c7

Did you figure this out? I forgot to comment but I checked the tarball and a few other quick things and it's definitely something to do with the way your OS was installed.

@dormando sorry for the late reply. I have now figured out that this is related to nix package manager.
Just for reference to solve this problem using nix libevent^out must be installed.


fix #2898

Codecov Report

Merging #3016 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #3016   +/-   ##
=======================================
  Coverage   94.93%   94.93%
=======================================
  Files          74       74
  Lines       14239    14239
=======================================
  Hits        13518    13518
  Misses        721      721

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 3874f27...f2c58e5. Read the comment docs.

Thanks @antgonza


Comparison Experiment

Hello, thank you for your response. Now there is a question:
var-CNN: automatically extracting features from the raw data with ResNet-18 and provide seven basic cumulative features to the model.
DF: consider only the direction of the packets and 5,000 cells
1.The datasets and features of the three are different, and the dimensions are also different. How did you do the comparative experiments on these two models?
2.Did you reprocess your own dataset according to the feature processing methods of the two? Do you have any relevant code?
3.How are the labels handled when inputting the dataset into DF and var-cnn? Can I see the processed dataset or datasets Pictures?

1.Have you reproduced the results of these two deep learning methods?
2.Our research direction is similar, is it convenient to leave a contact information for follow-up communication?

Hi, 121Hq~
1.Have you reproduced the results of these two deep learning methods?
2.Our research direction is similar, is it convenient to leave a contact information for follow-up communication?


libc.so.6: version 'GLIBC_2.14' not found

Hi, im trying to run the meteor apps with metstrike:meteor-oracle, and it said GLIBC_2.14 not found.
I already checked the libc.so.6. It is exists, but with the version 2.12.
Do you know how to solve it??

fyi im using ORACLE LINUX 6

thank you

Hello, the published version of the package was build with libc 2.14. Is there a way to update your version of c libraries to 2.14?
Another solution would be to check out the git repository and build the package yourself. Can you try the following steps:
$ cd ~/workspace
$ git clone https://github.com/metstrike/meteor-oracle.git
$ export PACKAGE_DIRS="~/workspace"
$ cd ~/workspace/todos-oracle
$ meteor add metstrike:meteor-oracle

On Jun 3, 2016, at 3:37 AM, marczzio<EMAIL_ADDRESS>wrote:
Hi, im trying to run the meteor apps with metstrike:meteor-oracle, and it said GLIBC_2.14 not found.
I already checked the libc.so.6. It is exists, but with the version 2.12.
Do you know how to solve it??
fyi im using ORACLE LINUX 6
thank you
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I tried to install the glibc 2.14 in other directory (/opt/glibc-2.14/) according to this reference and this reference.
I should set LD_LIBRARY_PATH with two values,

export LD_LIBRARY_PATH=/opt/glibv-2.14/lib/  ==> to set glibc2.14
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/instanclient_11_2/

but when I tried to run meteor, I still got an error, LOL
Unexpected mongo exit code 1. Restarting.
Unexpected mongo exit code 1. Restarting.
Unexpected mongo exit code 1. Restarting.
Can't start Mongo server.
MongoDB failed global initialization

Looks like MongoDB doesn't understand your locale settings.

is it me wrong with the environment variable??

The mongo is probably crashing because of glibc2.14.
Could you go back to 2.12 and try the other solution I suggested, checking out the source code of the meteor-oracle package? I provided the steps in my previous answer.

On Jun 6, 2016, at 3:01 AM, marczzio<EMAIL_ADDRESS>wrote:
I tried to install the glibc 2.14 in other directory (/opt/glibc-2.14/) according to this reference and this reference.
I should set LD_LIBRARY_PATH with two values,

export LD_LIBRARY_PATH=/opt/glibv-2.14/lib/  ==> to set glibc2.14
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/instanclient_11_2/

but when I tried to run meteor, I still got an error, LOL
Unexpected mongo exit code 1. Restarting.
Unexpected mongo exit code 1. Restarting.
Unexpected mongo exit code 1. Restarting.
Can't start Mongo server.
MongoDB failed global initialization
Looks like MongoDB doesn't understand your locale settings.
is it me wrong with the environment variable??
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

so, I must create the meteor project inside the workspace which is the repository that I clone??

Hi, Finally I solved those problems above by changing the VM from Oracle Linux to Ubuntu 4.12. It is smooth and work fine.
But I want to ask 2 questions.

when I tried to create new collection => var col1 = new Oracle.Collection("MTL_PARAMETERS"), it failed. The error log said that name already used by an existing object. is there a way to select data from existing table in oracle, instead of creating new one?? It seems the command new Oracle.Collection create the new table.

When I tried to create new collection => var col1 = new Oracle.Collection("todos") which todos is not yet exists in oracle schema, it worked. but when I check in TOAD for oracle, the table "todos" does not created. but wouldn't this command supposed to create the new table in Oracle??

thank you.

so, I must create the meteor project inside the workspace which is the repository that I clone??
And do have set LD_LIBRARY_PATH again??

You can clone the todos meteor project from another github repository. Yes the LD_LIBRARY_PATH must be properly set. So more accurate sequence of steps I tried to suggest would be:
$ cd ~/workspace
$ git clone https://github.com/metstrike/meteor-oracle.git
$ git clone https://github.com/metstrike/todos-oracle.git
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/instanclient_11_2/
$ export PACKAGE_DIRS="~/workspace"
$ cd ~/workspace/todos-oracle
$ meteor add metstrike:meteor-oracle

But I want to ask 2 questions.
when I tried to create new collection => var col1 = new Oracle.Collection("MTL_PARAMETERS"), it failed. The error log said that name already used by an existing object. is there a way to select data from existing table in oracle, instead of creating new one?? It seems the command new Oracle.Collection create the new table.

Is MTL_PARAMETERS actually a table in the schema you are connecting to? If it's a view, or synonym, or owned by another schema it will not work in this version. We are planning to support views in the next release of this package. Please run the sql below to see what type of object it actually is and who is the owner:
select * from all_objects where object_name = 'MTL_PARAMETERS'

When I tried to create new collection => var col1 = new Oracle.Collection("todos") which todos is not yet exists in oracle schema, it worked. When I describe in TOAD for oracle, the table "todos" exists. But when I tried to select data in TOAD it said the table does not exists. and then I also try to find data in sqlplus, the table does not exists.

The table names created by this package are case sensitive. Did you put the name of the table in quotes? You can try in sql*plus or toad:
select * from "todos";

Yeah you're right! The MTL_PARAMETERS are in multiple owners, only in INV Schema, MTL_PARAMETERS is table, other than that, is synonym. So in Meteor is should code like this var col1 = new Oracle.Collection("INV.MTL_PARAMETERS");.
For "todos" table I should type the query in TOAD like your answer, and it is exists. Great!
But when I tried to read data from Meteor, like var rows = col1.find({}).fetch();, it return the empty array []. It seems the meteor cannot read the data inside both INV.MTL_PARAMETERS and "todos". I already tried to loop the data, and the result is the same.

So in Meteor is should code like this var col1 = new Oracle.Collection("INV.MTL_PARAMETERS");.

Unfortunately, accessing tables in other schemas is not implemented in this version. Only access to plain tables in current schema is currently working, access through views, synonyms, materialized views is not implemented. We plan to add support for views in next release.

But when I tried to read data from Meteor, like var rows = col1.find({}).fetch();, it return the empty array []

Did you try the find() on the client or the server side? If you have any data in the "todos" table, the find/fetch should definitely retrieve them on the server side. On the client side (in the browser's console) you may need to subscribe to the data collection first.

Did you try the find() on the client or the server side?
In lib folder along with connection string, im sorry this is my bad.
Only access to plain tables in current schema is currently working
this is my connection string.
Oracle.setDefaultOracleOptions(
    {connection:
        {user: "APPS",
        password: "APPS",
        connectString : "xxx.xxx.xxx.xxx:1532/SID"
        }
});

so the currently working schema is APPS? is that what you mean??
if that so, I have another question.
I already have an existing table called testarie in APPS schema. But when I tried to
var col1 = new Oracle.Collection("testarie");, it seems it create a new table called "testarie".
because I can do select * from testarie; => my old table with complete column
and I also can do select * from "testarie"; => new table with _id column only
So I can't select data from the existing table which is testarie.

so the currently working schema is APPS? is that what you mean??

Yes, that is what I meant, the current schema is the schema you login to, so in your case it's APPS.

if that so, I have another question. I already have an existing table called testarie in APPS schema.

Ok, the driver is case sensitive, so you should access your original table with all uppercase letter i.e.:
var col1 = new Oracle.Collection("TESTARIE");
There are few things though you should be aware of.

The names of columns are also case sensitive, so you should refer to columns in filters, or sort clause all in uppercase

This package is by default trying to automatically alter table to add or extend the columns according to the data that is being inserted to the table, it will also automatically try to create a oplog table and a trigger on TESTARIE to support the reactivity. If you want to prevent the package to modify your schema or object in your schema, you should set the option strict: true.

The meteor typically expects the "_id" in a collection, that column is given by MongoDB, if your table TESTARIE doesn't have "_id" column, you may try the option sqlAddId: true, and every find() will generate a sql with fale _id column populated by rownum.

So if you choose to use these settings your default oracle options would look like this:
Oracle.setDefaultOracleOptions(
   {connection:
       {user: "APPS",
       password: "APPS",
       connectString : "xxx.xxx.xxx.xxx:1532/SID"
       },
       strict: true,
       sqlAddId: true
});

NICE! it worked! Thank you so much. I will waiting for the next version so I can access to other Schema such as INV etc. Thanks


All VRU use case script plots needs to generate 508 compliant figures

Summary
Since the plots need to be included the final report, they need to be 508 compliant. it is better to merge such changes so that if we generate new plots from new runs in the future, we would still be compliant.
Commit
c07540c38bd8534f00c5cdb2fc88fa96a7d77d00
Expected Behavior
All plots should be 508 compliant
Actual Behavior
Plots are not 508 compliant
Steps to Reproduce the Actual Behavior
See above
Related Work
No response

resolved with above


Can verdaccio support the problems encountered in the use?

hi , I have several questions to consult.
#conf.yml

storage: ./storage
plugins: ./plugins
web:
  #enable: false
  title: xx

auth:
  htpasswd:
    file: ./htpasswd
uplinks:
  npmjs:
    url: https://registry.npm.taobao.org/
    cache:false
packages:
  '@wukong/*':
    # scoped packages
    access: $all
    publish: $authenticated
    proxy: npmjs
  '**':
    access: $all
    publish:
    proxy: npmjs
middlewares:
  audit:
    enabled: true
listen: <IP_ADDRESS>:4873

logs:
  - {type: stdout, format: pretty, level: http}

Question 1：I hope verdaccio does not cache network resource packs. Only store NPM packets uploaded by verdaccio users? How to set it up?
Question 2：I've observed that any user registered with verdaccio can publish or cancel unpublished packages at will. I hope only the author of the NPM package has permission to manage his own NPM package. How do you set it?
Question 3：If registered users forget their passwords, how can they be retrieved?
Looking forward to your answer, thank you.

Hi @zhump,
Q.1 hope verdaccio...

Verdaccio stores metadata as well. If you aim to not to store it, that is not possible.

Q.2 I've observed that any user registered with verdaccio ....

https://verdaccio.org/docs/en/protect-your-dependencies.

Q.3 If registered users forget their passwords, how can they be retrieved?

Currently we are working on change password mechanism.  Forgot password feature is not available yet. Hope to be delivered in verdaccio 4.

I hope it helps :)

Thank you for your reply.
Q1: I manually delete the non private package from the storage folder, what will it do to verdaccio?
Q2: only configure manually by setting up different permissions for different users?


Openai Gym interface for Carla 0.9.6?

Hello all,
Is there any openai gym interface implementation existing already for Carla 0.9.6?
I searched a bit online, however, most of the work is for 0.8.

@ndeshp2s :The code in this repository: https://github.com/praveen-palanisamy/macad-gym provides learning environments based on CARLA 0.9.x with OpenAI Gym compatible interface. It supports multi-agent scenarios where you can train/control each agent.


Missing SetPoint Temperature for ovens

Hi,
the Home Connect API offers a SetPoint Temperature for an oven. Could you please add this value? Currently your integration only shows the current cavity temperature. Previously I used openHAB where both temperature values are available, so it would be nice, if you could add this value too. With both values you are e.g. able to send a notification that the oven is preheated.

The integration adds all the entities exposed by the API automatically. If it is available by the API it would have already be exposed as an entity in HA, make sure you didn't miss it. If it's not there and you believe it is exposed by the API then it could be a bug (very unlikely) but for that I'm going to need to see a log or documentation that shows it exists + the debug logs of the integration.

Hi, thanks! I found the entity! The automatic naming was wrong, the entities name was "Cavity Temperature" and not "SetPoint Temperature" that's why I didn't recognized it. So everything is ok.

The name comes from the API, to be honest, I'm not even sure what they mean by it.
Anyway, I'm happy to hear it's there and will be closing the issue now.


BUG: fixes #34

All of the microbio.me URLs seem to be down. I'll get in touch with the relevant folks about it - that shouldn't block merge of this pull request.


Update combinator function names in the doc

Reading the doc for v3, I found some function names not up to date. I'm not sure what should be the link.
Caused by https://github.com/amphp/amp/pull/383

Thanks!


New user - dashboard starting with errors and looks crippled

Describe the bug
Out of the box, dashboard starts with errors messages (see screenshots below). Once I press ENTER to hide the messages, the dashboard appears, containing only 2 sections, recent projects and recent files (another screenshot below). OK, maybe I would like different sections, but this is a default configuration ... However, I expect the items to be functional: there should be a possibility to conveniently jump between items and open them on mouse click or some key press.
However, the dashboard screen seem just like a temp buffer:

I can navigate around with standard cursor movement commands
I can edit the contents of the dashboard
That's it, basically :(

Also, maybe this is not a bug, but as a new user, there are things that I don't understand:

What are the projects, and how to work with them?
Once nvim is running, is there a nvim command to see what the current dashboard configuration is (something like :lua =require('dashboard').??? maybe)? I would like to understand better what the default dashboard page is made of...

To Reproduce
I have just installed the plugin with packer:
 use {
   'glepnir/dashboard-nvim',
   event = { 'VimEnter' },
   config = function() require( "aj_personal.dashboard-nvim" ) end,
   requires = {'nvim-tree/nvim-web-devicons'}
 }

I have minimal configuration:
local db = require( 'dashboard' )

db.setup( {
  theme = 'hyper',
  config = {
    -- disable_move = true,
  }
} )

My nvim:
NVIM v0.9.0-dev-1072+gf113cba3e
Build type: Release
LuaJIT 2.1.0-beta3

All I do is start nvim ...
Expected behavior

Neovim starts without errors
Dashboard screen is usable

Screenshots
Error when starting nvim:
[dashboard.nvim] not found nvim-web-devicons
Error executing vim.schedule lua callback: .../packer/opt/dashboard-nvim/lua/dashboard/theme/hyper.lua:328: Expected lua string
stack traceback:
        [C]: in function 'nvim_buf_add_highlight'
        .../packer/opt/dashboard-nvim/lua/dashboard/theme/hyper.lua:328: in function 'gen_center'
        .../packer/opt/dashboard-nvim/lua/dashboard/theme/hyper.lua:411: in function 'callback'
        .../packer/opt/dashboard-nvim/lua/dashboard/theme/hyper.lua:140: in function ''
        vim/_editor.lua: in function <vim/_editor.lua:0>

The look of the dashboard:

              ██████╗  █████╗ ███████╗██╗  ██╗██████╗  ██████╗  █████╗ ██████╗ ██████╗
              ██╔══██╗██╔══██╗██╔════╝██║  ██║██╔══██╗██╔═══██╗██╔══██╗██╔══██╗██╔══██╗
              ██║  ██║███████║███████╗███████║██████╔╝██║   ██║███████║██████╔╝██║  ██║
              ██║  ██║██╔══██║╚════██║██╔══██║██╔══██╗██║   ██║██╔══██║██╔══██╗██║  ██║
              ██████╔╝██║  ██║███████║██║  ██║██████╔╝╚██████╔╝██║  ██║██║  ██║██████╔╝
              ╚═════╝ ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚═════╝

                                 [  Github]  [  glepnir]  [  0.2.3]

                                      neovim loaded 14 packages

    Recent Projects:
      empty project

    Most Recent Files:
       ~/.local/share/chezmoi/home/private_dot_config/nvim/init.lua.tmpl
     ....

as the error said it does not found the web-devicons

But the web devicons are installed:
fd web ~/.local
/home/alex/.local/share/nvim/site/pack/packer/opt/nvim-web-devicons/
/home/alex/.local/share/nvim/site/pack/packer/opt/nvim-web-devicons/lua/nvim-web-devicons.lua
/home/alex/.local/share/nvim/site/pack/packer/opt/nvim-web-devicons/plugin/nvim-web-devicons.vim
...

Besides, when the dashboard finally shows, the icons seem to be there:

try run packersync or packercompile . still has this error ?

Yes, done it several times before raising this issue....

maybe you need call this first require'nvim-web-devicons'.setup({})

OK, I think I found the problem.
Another plugin, nvim-lualine/lualine.nvim was specified earlier in the packer config and had devicons as an optional dependency. It seems that this made packer to install devicons as an optional plugin, even if dashboard requires devicons without the optional clause. And then dashboard was not able to find it during nvim startup.
I removed the optional clause from lualine config and rerun PackerSync. Packer moved the plugin from opt to start, and now it works OK

Any chance to enlighten me regarding the other 2 quiestions? And maybe worth adding this to the plugin documentation?

What are the projects, and how to work with them?
Once nvim is running, is there a nvim command to see what the current dashboard configuration is (something like :lua =require('dashboard').??? maybe)? I would like to understand better what the default dashboard page is made of...

Thank you in advance

What are the projects, and how to work with them?

idk. dashboard is a start screen plugin.  so it should work with any ?
you don't need do some print ? hyper and doom is different.  config has write in doc. different theme has different field in config. more usage you can check out my config.


fix: MD032/blanks-around-lists

Summary
Describe your changes here.
Fixes #Issue_Number (if available)

Thanks for the review @mairaw, I just had 2 I'm not sure about

@mairaw anything else for this one?


Update README to add commits in DSL table

It'd be nice to have a DSL entry for the number of commits in a PR.

We have a commits entry:
https://github.com/CocoaPods/CocoaPods/blob/master/Dangerfile#L13
It was added on https://github.com/danger/danger/pull/179 and https://github.com/danger/danger/pull/196.
We should update the README with this option.

Ideally the README should be auto-generated from the DSL plugin, so that everything is always up to date. Similar to how gh_inspector does it https://github.com/orta/gh_inspector/blob/master/Rakefile#L18

I'll close this since it's now in http://danger.systems/reference.html


Add a UI to indicate a pane is focused.

Misc. ramblings from my notes:

IDEA: have the pane call some method on it's child controls to have it indroduce some margin, as opposed to creating some manual seperator. When the control is focused, colorize the margin. When it's unfocused, remove that color. Each pane optionally tells a control should it have margin on top/bottom/left/right, and does it recursively? so

[A|B]
A should have a right margin, b should have a left.
[A|[B-C]]
A has right
B has left, bottom
C has left, top
[A|[[B-D]-C]]
A has right
B has left, bottom(with D), bottom(with C)
C has left, top(with B-D)
D has left, top(with B), bottom(with C)
Margin doesn't stack, just is there or isn't
Margin color should be either null, accent, or a color (Global, Control)
Margin should have configurable width (Global, Control)
How does this interact with #992? Can we detect a click is in the margin, and surface that up? or can the terminal app listen to the control's click/drag, and handle it somehow?

This could use the FocusVisual or add a shadow to elevate the pane?

https://docs.microsoft.com/en-us/windows/uwp/design/style/reveal-focus

So, I considered FocusVisual, but all that documentation seems to suggest that it should be used for apps for 10-foot experiences, such as Xbox. Considering we're not planning on shipping on xbox any time soon, I assumed this wasn't the right effect to use.
I was definitely considering some sort of drop-shadow effect on panes in general. This might be a good conversation for @cinnamon-msft to have with our UI person

So, I considered FocusVisual, but all that documentation seems to suggest that it should be used for apps for 10-foot experiences, such as Xbox. Considering we're not planning on shipping on xbox any time soon, I assumed this wasn't the right effect to use.
I was definitely considering some sort of drop-shadow effect on panes in general. This might be a good conversation for @cinnamon-msft to have with our UI person

If not the full RevealGlow version, there is
FocusVisualKind.HighVisibility

I was also thinking that FocusVisualKind.HighVisibility could be used here.  You can set FocusVisualSecondaryThickness, FocusVisualSecondaryBrush, FocusVisualPrimaryThickness, FocusVisualPrimaryBrush.
The margin approach seems like the same thing as this.

Maybe something like ConEmu's "fade when inactive" feature would be an elegant solution? This should work for both panes and the terminal itself not being focused, i.e. only the tab/pane that has keyboard focus would be not faded, even across multiple windows.
The box-border thingie replacing the cursor if not focussed is a nice indicator as well.
Example of both (left is focussed):

Faded option seems a good approach only when one of the panes is active
When all panes are inactive wont take much effect.

Hyper changes the text color. The focused pane uses a saturated, bright version of the font color, the out of focus panes use a desaturated, dark version of the font. I found that this makes it quite visually intuitive to instantly notice which pane is active. Yet the other panes are still quite readable.

Fading or De-saturating the pane is a neat idea, but there are other considerations to take account of.  Microsoft's Contrast Ratios for Accessibility.  High Contrast theming.  Hololens uses

Sounds like the holy grail would be to have a configuration object for pane switching features (text fonts, background colors, borders, cursor, etc) with some sensible accessible defaults.

So I'll say, I really love the whole "Configuration object for unfocused vs focused state" idea. However, that's a bit bigger of an ask, so I'm going to give that its own issue: #3062
What I have done is played a bit with just adding a simple border to the focused pane, and I'm really quite happy with it:

Right now it'll just pull the SystemAccentColor to use as the focus highlight color. I'm going to track adding a customizable color in #3061.

  Based on Light or Dark theme - just in case the Accent colour clashes with the coloured Terminal panes.


Focus on networking related false positives

Affected Components

[ ] Content & Marketing
[ ] Pricing
[ ] Test
[x] Docs
[ ] Learn
[ ] Other

Overview
Reworked based on feedback: "Nice. I think we need to make it clear whether this is addressing the topic of false positives or only of performance variations. If we’re talking false positives, we definitely want to send people to PWT/check best practices as the check code is going to make the biggest difference in terms of flakiness."

TODO: add some kind of visual to this page, otherwise looks good, merging.


Fix typo: "ras" -> "rsa"

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


Expo Metro Server can't resolve my packages

Verify canary release

[X] I verified that the issue exists in the latest Turborepo canary release.

Link to code that reproduces this issue
https://github.com/Chuazz/instagram-clone
What package manager are you using / does the bug impact?
Yarn v1
What operating system are you using?
Windows
Which canary version will you have in your reproduction?
<EMAIL_ADDRESS>Describe the Bug
i followed #4771 to fix typescript error but it return me "Unable resolve module ..." when i prebuild with expo.

Expected Behavior
metro server can resolve my package
To Reproduce
yarn && yarn dev:mobile
Additional context
No response

Does the issue occur if turbo isn't used? e.g. cd apps/mobile && yarn dev:mobile

Does the issue occur if turbo isn't used? e.g. cd apps/mobile && yarn dev:mobile

i will try it and reply you later

Does the issue occur if turbo isn't used? e.g. cd apps/mobile && yarn dev:mobile

still not working

it only work for index.js not work for custom another path like ./query/index.js

just figure out that react native not working like nodejs on web so i use babel to create an alias for it(so silly)


Add metadata parsing functions for audio and video streams

Follow-up on #3214 that implemented it for OGG Vorbis streams, but it should be done as far as possible for all audio and video stream we support that provide such metadata.
See #3214 for a reference implementation.

First of all thank you for your report and sorry for the.. oh hey Akien :)
I guess this is not yet implemented?

Yep, this is still missing. For video at least, we plan to move decoding to GDNative plugins, so the metadata parsing would likely come from those too.

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


[WIP] Use Sidekiq to handle composite ETL

This is faster and more robust than the Parallel gem

Deferring for now

We are not pursuing this strategy in this work cycle. Closing PR. Please do not remove branch!


ISPN-6972 NonTxDistributionInterceptor doesn't always change the matcher for retry

https://issues.jboss.org/browse/ISPN-6792
https://issues.jboss.org/browse/ISPN-6451

There is one failure that looks suspicious to me: http://ci.infinispan.org/viewLog.html?tab=buildLog&logTab=tree&filter=debug&expand=all&buildId=40460#_focus=114414
I'm retriggering CI to check it.

@slaskawi The failure doesn't seem related, all tests passed in the latest run.

Pulling..

Integrated into master, thanks @danberindei !


SimpleDOM support for XML (with RapidXml) and JSON (with rapidjson)

Put third-party sources like rapidxml and rapidjson code in project is not a good choice.

Actually it's the recommended way of both libraries:
To use it you just need to copy rapidxml.hpp file to a convenient place (such as your project directory), (https://rapidxml.sourceforge.net/manual.html)
Just copy the include/rapidjson folder to system or project's include path.  (https://github.com/Tencent/rapidjson)

Put third-party sources like rapidxml and rapidjson code in project is not a good choice.

Actually it's the recommended way of both libraries:
"To use it you just need to copy rapidxml.hpp file to a convenient place (such as your project directory)" (https://rapidxml.sourceforge.net/manual.html)
"Just copy the include/rapidjson folder to system or project's include path. " (https://github.com/Tencent/rapidjson)
And I have made some changes to rapidjson to fit for SimpleDOM.

It is able to make use of those header only libs, but still, copy files to project makes future upgrade/fix of third-party deps all by "copy again".
Even there is some changes or adaption, make own fork of rapidjson or add a patch file may be much more easier to maintain.

Put third-party sources like rapidxml and rapidjson code in project is not a good choice.

Actually it's the recommended way of both libraries:
"To use it you just need to copy rapidxml.hpp file to a convenient place (such as your project directory)" (https://rapidxml.sourceforge.net/manual.html)
"Just copy the include/rapidjson folder to system or project's include path. " (https://github.com/Tencent/rapidjson)
And I have made some changes to rapidjson to fit for SimpleDOM.

It is able to make use of those header only libs, but still, copy files to project makes future upgrade/fix of third-party deps all by "copy again".
Even there is some changes or adaption, make own fork of rapidjson or add a patch file may be much more easier to maintain.

Agreed. CMake add git repo + patch is better, if the patch is not huge.

@beef9999 @Coldwings

The latest release of rapidjson was in 2016, and RapidXml in 2009. They seem to be quite stable and unlikely to get further updates often.
In case of new updates, copying again will not be big problems.
Considering the threat of supply-chain attacks like the recent xz event, we should have to review any incoming updates from the dependent libs. This will be the major effort.


Context menu (Explorer right click) Manager.

Description of the new feature / enhancement
New option to be added to powerToys to manage options in right click context menu. I am thinking of adding 2 functionalities.

Enable/Disable Option:
As users accumulate various applications, the right-click context menu tends to become cluttered. Additionally, some applications may not clean up their entries upon uninstallation. To address this issue, I suggest the integration of an "Enable/Disable" option within PowerToys. This feature would allow users to selectively enable or disable specific context menu options.
Transfer Option Between Modern and Legacy Menus:
This option is specific to windows 11. This proposed functionality allows users to transfer a context menu option between the modern Windows 11 right-click menu and the legacy menu.

Scenario when this would be used?

Enable/Disable Option:
If a user finds that the "Open with VS Code" (example) option is no longer needed, they can easily disable it through PowerToys. Instead of uninstalling and reinstalling or updating the registry.
Transfer Option Between Modern and Legacy Menus:
Consider a user who uses "Open with VS Code" (example) very often. Since the option is present in the legacy menu, he has to shift + right-click or right-click + More options. Moving it to the modern right-click menu will make the option more convenient to use.

Supporting information
Main idea is to give users more control over options displayed in the right-click context menu. This will help users both in cleaning up clutter as well as personalization and customization.

/dup #33


add AbandonProcessGroup for macos

@emersion
For macOS, when the launching process starts a child process (such as opening up a new application) and then quits, launchd will terminate all child processes too.
This option keeps child processes running.
See:
https://cetre.co.uk/blog/moving-from-cron-to-launchd-on-mac-os-x-server/

Welp, it seems like I don't have write access to this repo anymore. cc @cuthix

@cuthix any change this could get merged?

Ah, I've asked ProtonMail to transfer the repos over to my account, and this is now done, so I can merge pull requests. I just forgot about this PR.
Thanks for you contribution!


Error on EntityDamageByEntityEvent

I was trying to build an event handler for the EntityDamageByEntityEvent and ran into this error in the PaperMC console:
[09:56:54 ERROR]: [my-plugin] [STDERR] My CustomRealms Plugin:3: object is not an instance of declaring class

Here's my code:
ServerEvents.register(EntityDamageByEntityEvent, event => {

    const damager = event.getDamager();
    if (!damager) return;
    if (damager.getType() !== EntityType.PLAYER) return;

    event.getEntity().setVelocity(new Vector(0, 100, 0));

});

Note Not a solution just a temporary fix
use the getEntityId() function and then launch it

This error message comes from Java when a function is called with reflection, with parameters that don't match the function declaration. We need to figure out which function call triggers that error.

I've narrowed this down. It seems to occur on event.getDamager() and only when the damager is not a living entity. More debugging is needed.


Allow shard module to execute transactions and update state root

First, we need a relayer module so that the shard module can get transactions to send. Dependent on #77

Done in 38f63dbedd2792353737e4974fd29474f47760b3


xgboost plugins and the R bindings

I'm trying to add a custom objective function via the plugin system, following this example.
Using the example at verbatim, I can compile xgboost with the added objective "mylogistic", and can see this via the CLI (Don't really use the CLI - but changing the binary classification example to use the added objective "works", and if I configure that demo with a nonexistent objective I get a list of existing ones, including "mylogistic").
However the R package does not seem to include the added "mylogistic" objective.
I don't know enough about how xgboost and the R package are compiled to even have a remote idea of why this would be happening.
Am I missing a step here? Or is the example incomplete, or is this usecase not supported at this stage?

Manually adding $(PKGROOT)/build_plugin/example/custom_obj.o to R-package/src/Makevars seems to do the trick, but I need to build the shared library separately first.

I think that s the only way. I close the issue for now.

@kadrach You would need to include your code into the amalgamation https://github.com/dmlc/xgboost/blob/master/amalgamation/xgboost-all0.cc

@khotilov Thank you. Is there a pluggable way of achieving this?


Filtering numbers not working

Hi,
I'm trying to filter numbers like this:
const RankingFilter = props => (
  <Filter {...props}>
    <TextInput label="Keywords" source="keyword" alwaysOn />
    <TextInput label="ASIN" source="asin" />
    <NumberInput source="rankSerp_lte" />
    <NumberInput source="rankSerp_gte" />
  </Filter>
);

export const RankingList = props => (
  <List title="All Rankings" {...props} filters={<RankingFilter />}>
    <Datagrid>
      <TextField source="image" />
      <TextField source="asin" />
      <TextField source="keyword" />
      <NumberField source="rankSerp" label="Rank (SERP)" />
      <NumberField source="rankOrganic" label="Rank (Organic)" />
      <TextField source="view" />
      <TextField source="updatedAt" />
    </Datagrid>
  </List>
);

The entries of rankSerp are stored as Type "Number" as well.
However no data is shown when I insert some numbers in the filter input fields.

Is this a bug or did I miss something?

Hi Raidus,
I fear Parse Server doesn't offer the *_lte / *_gte syntax for rest api queries.
See documentation at http://docs.parseplatform.org/rest/guide/#query-constraints
So your code is performing an equality comparison between the value of your filter and the value of the non-existent key rankSerp_lte.
You should pass to the fetch function the value {"$gte":999}

Hi leperone,
thanks for the information.
Actually I'm not sure how to use the fetch function in this example.
Using cURL I can get only the filtered results. How can I implement that?
curl -X GET \
  -H "X-Parse-Application-Id: xxx" \
  -H "X-Parse-REST-API-Key: yyy" \
  -G \
  --data-urlencode 'where={"rankSerp":{"$gte":0}}' \
https://zzz.herokuapp.com/parse/classes/Ranking

I'm not a redux form expert, but a naive and untested solution could be to transform input values using the parse and format functions
https://marmelab.com/admin-on-rest/Inputs.html#transforming-input-value-tofrom-record
Something like this..
<NumberInput label="Test" source="rankSerp" parse={value => `{"$gte":${value}}`} format={value => value !== undefined ? value.substring(value.lastIndexOf(":")+1,value.lastIndexOf("}")) : undefined}/>


Add test cases for classes that don't have for the machine_learning folder

A couple of classes at src/machine_learning do not have test cases. We should add test cases for them in the tests folder.

This is closed as machine learning classes have test cases now


A decoder-only architecture is being used, but right-padding was detected! For correct generation results, please set padding_side='left' when initializing the tokenizer.

I use 7B ,but got this error:
A decoder-only architecture is being used, but right-padding was detected! For correct generation results, please set padding_side='left' when initializing the tokenizer.
can you tell me how to solve this problem?

Hi, which scripts are running when you met this error?


feat(frontend): Remove Alpha warning [GIX-3046]

Motivation
We bring OISY to the next phase, out of the Alpha phase.
We first need to remove the Alpha warning (and all related deprecated elements).

@peterpeterparker yes on both counts and done!


The launcher says that i need 146GB of free space to download the game even if I have almost 200GB free on my disk

I downloaded the launcher and it went ok, then when im trying to download the game it says that to do that i need 146gb of free space on my disk, I had like 150gb of free space, then I cleared some things up and I got 200gb of free space, but it continued to tell me that i need 146gb free on my disk, i tried everything that i knew that I could do, redownload the launcher, to turn off the mac ecc. Is this a bug?

知道文件下载在哪里吗？我没找到

same

Do you still have this issue?


"Reposition selected items..." on Mac not working for "item start"

OS X 10.11.5
sws-v<IP_ADDRESS>
Reaper v5.20/64
"Reposition selected items..."  When selecting "item start", "item end" remains selected and the action will only work as "item end"

Confirmed.
Meanwhile, you can envisage use these scripts.
related issue: https://github.com/reaper-oss/sws/issues/811

@leonardobarragan
I created alternatives scripts for the item start option. Check the link put in my previous post. Maybe it can help you.

Closed as duplicate of #811


What is configure, recipe and status(FSS) for component?

Feature Description
There are some "TBD"/"TODO" in componentmanager documentation. Cloud you kindly complete it?
Use Case
There are few concept related to component, like configure, recipe and status(FSS).
Cloud you explain them in docs?
Proposed Solution
docs
Other
I can find docs like:

CONFIGURE_COMPONENT_README.md
README_CONFIG_SCHEMA.md
src/main/java/com/aws/greengrass/componentmanager/COMPONENT_STORE_README.md

Cloud you explain more detail?

Hello @overheat,
Thank you for your feedback. We will work to address the gaps in our componentmanager documentation. In the meantime, do you have any specific questions about component manager which blocks you?

I know that every component contains a recipe file. But I wonder to know does the recipe will be write into configure file eventually?  And will changing configure file change components behavior? How component manager mange components, both services, like FSS and standard GreengrassV2 components?

Recipes are not written into the configuration, rather they are simply stored on disk in the recipes directory.
During a deployment, the lifecycle and configuration from recipes are merged into the active configuration: https://github.com/aws-greengrass/aws-greengrass-nucleus/blob/main/src/main/java/com/aws/greengrass/deployment/DeploymentConfigMerger.java#L75
Editing the configuration file (config.tlog) will not have any impact on Greengrass until Greengrass restarts. Editing config.yaml or effectiveConfig.yaml will never have any effect.


puppet 5 compatibility

The module is only compatible with puppet >= 4.7.0 < 5.0.0 but the only available versions of puppet I can find in any yum repository is 3.x (epel repo) or 5.x (puppet labs repo).
Looking at the code I can see it's clearly not compatible with 3.x so I installed puppet 5.3.3 to give it a try.  The following is the output when following the installation instructions from the forge.
puppet module install cohdjn-cisecurity --version 0.6.5
Notice: Preparing to install into /etc/puppetlabs/code/environments/production/modules ...
Notice: Downloading from https://forgeapi.puppet.com ...
Error: Could not install module 'cohdjn-cisecurity' (???)
  No version of 'cohdjn-cisecurity' can satisfy all dependencies
    Use `puppet module install --ignore-dependencies` to install only this module

Any ETA on when this can be puppet 5 compatible?

The current version is already Puppet 5 compatible.  I have a few more commits to make before updating the version on the Forge but you can run puppet module install --ignore-dependencies in the meantime to get it installed.


Vines in caves

Added a vines finisher that is able to create vines in caves. It ranges from the surface to a configurable level.

Nice one :)

I've fixed the issues


RDK-35564: Support Semantic Versioning for RDKServices

This will be committed with: https://github.com/rdkcentral/Thunder/pull/979 So unittests will fail because we have a lack of implementations and the build failed.


Using rehydrateState to delay job

I'm trying to use redux-persist for some of my client rendered components using react-jobs but i'm not quite sure what the best way is to basically delay the work() until rehydration is done to prevent the result being overwritten by the persisted state. Any examples or hint on what would be the best way to hook this up?

Hmmm, is it not possible to fire the redux rehydration prior to calling render?


ummmmmmmmmmmmmmmmm

The web page passes W3C validation
I did not realize this was a requirement and I got errors for 21 things. Can I have a small bit of extra time to sort some issues out.
This is the link of what it says link
Idk if this link will work but I'm sending it anyway

Good catch @LayZNimrod !!!
Get some sleep. Tackle the validation errors in the next 48 hours.
🛫

ok it should be all fixed now


Aca-py add persistent queues to inbound and outbound messages

Update aca-py queues to support persistence:

should support a pluggable architecture to allow deployers to configure/select their queue implementation of choice
default should be the existing in-memory queues (or equivalent)

See:
https://github.com/hyperledger/aries-cloudagent-python/blob/master/aries_cloudagent/transport/inbound/delivery_queue.py
https://github.com/hyperledger/aries-cloudagent-python/tree/master/aries_cloudagent/transport/queue

Note that persistent queues are requires for the mediator and multitenancy enhancements that are currently in development, however the scope of this ticket is to implement persistence for the existing inbound and outbound messages.

Duplicate of #1513. Closing.


Fix Tooltip Rendering Issue by Upgrading react-charts

This PR addresses the tooltip rendering issues
encountered in<EMAIL_ADDRESS>The issue has been resolved in<EMAIL_ADDRESS>https://bugzilla.redhat.com/show_bug.cgi?id=2281587

/retest

Please check the build failure

/rebuild

update shared dependencies as well...

this is still missing...

why do we need changes in analyse file ??

/test odf-console-e2e-aws

why do we need changes in analyse file

We updated the analyzeTest.ts file to fix two key issues: First, after upgrading react-charts, the script needed adjustments to accurately analyze the new build artifacts and avoid misinterpretations during the build process. Second, it was encountering a memory limit error ("Cannot create a string longer than 0x1fffffe8 characters") when processing large files, which we've optimized.

We updated the analyzeTest.ts file to fix two key issues: First, after upgrading react-charts, the script needed adjustments to accurately analyze the new build artifacts and avoid misinterpretations during the build process. Second, it was encountering a memory limit error ("Cannot create a string longer than 0x1fffffe8 characters") when processing large files, which we've optimized.

You have not "optimized" anything, rather just increases the base size to make sure there are no errors while running the script. I don't think all the changes in the analyse file is necessary, plz check again.
https://github.com/red-hat-storage/odf-console/pull/1520 should do the required optimisation.

/retest

fix ur commits in this PR... also check why tests are failing...

/test odf-console-e2e-aws

/test odf-console-e2e-aws

/retest

/retest

@TimothyAsirJeyasing After some investigation about the E2E errors I found that the chart was crashing (at least when you create a storage system and there is no total/available/used capacity yet).
The cause was the tooltip that depends on victory-tooltip dep.
Adding this under the resolutions section of package.json solved the issue in my environment:
"@patternfly/react-charts/victory-tooltip": "^37.1.1"
Probably you'll need to also add this in the shared library.
Please test that all charts affected by this PR work as expected.
@SanjalKatiyar FYI.

If version upgrade is causing multiple issues, can't we try to fix tooltip based on some CSS property ?? (like z-index or something similar)

The react-charts version updated in https://github.com/red-hat-storage/odf-console/pull/1650

The react-charts version updated in #1650

@SanjalKatiyar this PR can be closed once @TimothyAsirJeyasing confirms that the issue is fixed in master.
The bug should point at https://github.com/red-hat-storage/odf-console/pull/1650 as its fix.


deleting a custom CA cert for a developer tier instance makes apim unavailable

[Enter feedback here]
The documentation should clarify ALL operations taken that may make a developer tier apim instance unavailable and for approximately how long. It is noted here that "process of assigning the certificate" may take 15 minutes or more (was closer to 30-40 for us), but it does not include any note about removing a custom CA root cert to an apim instance in the developer tier.
It isn't helpful that there are no modals if modifying directly in Azure Portal before taking one of these actions. Iirc we didn't experience this issue with client certificates.
Please consider updating this page to account for all actions end users will do with respect to assigning/uploading, deleting, or updating CA or client certificates to apim instances in the developer tier.

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

ID: 5e20660e-86ff-b872-628b-4b61c2bb63fe
Version Independent ID: 6e7a2f4d-207b-2c9d-675c-c7b1c26bb39d
Content: Add a custom CA certificate - Azure API Management
Content Source: articles/api-management/api-management-howto-ca-certificates.md
Service: api-management
GitHub Login: @dlepow
Microsoft Alias: danlep

@davildaran
Thanks for your feedback! We will investigate and update as appropriate.

Thanks @davildaran for the feedback. You raise a good point and I think we can be more thorough and consistent documenting the downtime that the developer tier will experience after various management operations, including certificate operations. I created a documentation work item in our backlog to address this in an upcoming doc sprint. According to our usual process, I'll now close this issue. Thanks again for taking the time to provide feedback about the API Management documentation!
#please-close


As a receptionist, I want to view the length of the queue.

The description need to put : So that I can {...}

What's the difference between this and #11 ?

#11 views the queue with patient names (I suppose), view current queue length returns only an integer number.


python39Packages.flask_migrate fails build/test: Error: No such template 'custom_template'

python39Packages.flask_migrate fails build as: https://hydra.nixos.org/build/153131050
test_migrate_upgrade (tests.test_custom_template.TestMigrate) ...
$ flask db init -t ./custom_template

Error: No such template 'custom_template'

FAIL

Notify maintainers
None.
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: python39Packages.flask_migrate

Bisected down to 6ec7b884bd0e3759dd93ee4bbed5e43a392c9cf7 "python3Packages.Flask-Migrate: 3.0.1 -> 3.1.0".
Reverting locally fixes test. Was part of https://github.com/NixOS/nixpkgs/pull/135832.
Adding @mweinelt


Pause and resume playing functionality

First of all, thank you for this cool project.
My Question:
I want to implement a pause and resume functionality. When removing the NFC tag it should pause the playback. When insert the same NFC tag again, the playback should continue at the same position.
Is this easily possible with the used libraries?

Hi @zork32, it is indeed possible to do by watching for the tag "removed" status and calling the Spotify blueprint pause function. Pausing MP3 files will be challenging with the current procedures. Consideration to which tag is removed and only pausing the currently playing tag should be made. For example, if both Ironman and Emmet are on the pads with Ironman playing, only removing the Ironman tag should pause the track. Removing Emmet should do nothing.

Hi @meltaxa, thank you for your quick response.
"...Consideration to which tag is removed and only pausing the currently playing tag should be made. For example, if both Ironman and Emmet are on the pads with Ironman playing, only removing the Ironman tag should pause the track. Removing Emmet should do nothing."
Exactly! For me it would also be fine if this functionality would only work with one NFC tag on the pad.
My setup is currently: No plugged Monitor, autostart app over LXSession and use of mp3 only.

@zork32, I've added the pause and resume functionality to Spotify tracks and MP3 files. Test by checking out and pulling the code from the feature-music-pause-and-resume branch.

Made a few more enhancements, mostly with making the interactions more robust.

Also if in "MP3 only mode" (ie. no Spotify), you no longer need to visit the app web page after startup. The README quick install instructions has been updated to reflect this.

Merged to master.


[Documentation] Document the swift interface

Connected to #1238.
\c @alazier @jpsim

I'm done making changes to this and this is ready to be reviewed for merging in al-swift. Here's a summary of what this PR does:

Adds docs to all declarations. These are mostly copy-pasted from the equivalent Objective-C declarations with minor modifications in function/argument naming and uses ReST instead of the headerdoc format. This hopefully shouldn't be too controversial.
Adds missing declarations. A few readonly properties and overridden class functions were added to Object, setEncryptionKey(_:forRealmsAtPath:) was added.
Uses explicit ACL modifiers (private/internal/public).
Marks classes as final if they're not designed to be subclassed.
Unifies wrapper initializers to all take unnamed first arguments.
defaultRealmPath is now a global variable rather than a pair of free setter/getter functions.
Instead of a free function objects(_:) and an instance function Realm().objects(_:), the free function is now objects(_:inRealm:) with the default realm being used if the realm argument is omitted.
The two notFoundToNil(_:) implementations were combined.
A SortDescriptor struct was added, and a sorted(sortDescriptors:) instance function was added to both List and Results.
The tests were updated to reflect these changes.

I'm about to rebase this against al-swift and add tests for new/modified functions.

This PR is now almost exclusively about adding documentation. If there's anything at all unrelated to documentation in here that you're unsure about, let me know and I'll factor it out into a different PR.
Once this is merged, I'll be filing a PR to add the missing aspects of the interface that I just removed.
Please review @alazier @tgoyne @segiddins @mrackwitz

This is now just docs. @alazier @tgoyne @segiddins @mrackwitz

From our earlier in-person conversation, we've agreed that this should be merged as-is to prevent it from lingering unnecessarily.


Custom binfmt.d settings no longer work due to /usr/lib/systemd/system/systemd-binfmt.service.d/wsl.conf setting

Windows Version
10.0.19045.4780
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-microsoft-standard-WSL2
Distro Version
Ubuntu 24.04.1 LTS
Other Software
Custom binfmt.d settings as shown at https://github.com/ajkessel/wsltools
Repro Steps
I have a bunch of custom binfmt.d settings documented here. With my scripts, the user can launch a Windows executable from WSL and provide a Linux-form path and the correct native path will be automatically passed to the Windows executable without any transformation by the user. My scripts also allow the user to run PowerShell Scripts and Office documents right from WSL by their filenames.
Everything was working fine until recently. I upgraded WSL to <IP_ADDRESS> and Ubuntu to 24.04.1. I'm not sure which upgrade broke things, but I started noticing these errors in syslog:
systemd[1]: systemd-binfmt.service - Set Up Additional Binary Formats was skipped because of an unmet condition check (ConditionVirtualization=!wsl).

This was never the case before.
I was able to fix it by commenting out the ConditionVirtualization line in /usr/lib/systemd/system/systemd-binfmt.service.d/wsl.conf but this seems like a hack.
Is there any reason that line needs to be there? After commenting it out, everything works fine for me again. There's #8204 which seems to touch on a related issue but I confess I don't fully understand what's going on there.
At the very least, it would be nice to have some documentation clearing up what's going on here. But this was working fine for me before recent upgrades, and commenting out the line in wsl.conf fixed it again for me. Hopefully there is a more systemic fix.
Expected Behavior
Ability to define custom binfmt.d misc lines
Actual Behavior
Binfmt fails due to ConditionVirtualization setting
Diagnostic Logs
N/A

@
WslLogs-2024-09-09_18-06-56.zip
As requested.

There is nothing to trace. This is just a systemd setting. Can you please review without a trace?

The reason is specified in the unit file: systemd breaks WSL interoperability by rewriting the binfmt interpreters configuration  So the condition was added to prevent that. Please search open/closed issues and you'll find many reports because the interop was breaking.

I must be missing something, because interop is working perfectly with that condition commented out, and until a recent update (either wsl or Ubuntu, I'm not sure which), this was working fine without touching that file.
Is there something more to it than running windows executables from wsl without issue?

Or let me ask this another way:

Is it clear that systemd breaks WSL interoperability in all contexts? It's working fine for me with this line commented out, so perhaps the original diagnosis is overbroad.
If  /usr/lib/systemd/system/systemd-binfmt.service.d/wsl.conf needs to stay as-is, does that mean the end-user must pick between systemd or custom binfmt configurations? They can't have both? Or is there a workaround?

@ajkessel: This logic was indeed added to work around systemd-binfmt.service breaking WSL's interop (especially when packages like mono are installed).
You can disable this behavior by adding:
[boot]
protectBinFmt=false

to /etc/wsl.conf and restarting the distro.
This one of the situation where there unfortunately isn't a "perfect" solution that will cover all usecases, but for users with an advanced setup like yours, adding this config entry should resolve the issue.


Poor test coverage

The test coverage for all modules of the chessengine has fallen behind. We will need to add tests for all the methods that aren't yet covered from chessengine.bitboard.Board, chessengine.moves, chessengine.pgn.parser.

Hey there,
I'd like to work on this Issue. This will be my first time working with tests for python so please do bear with me if I need any guidance!

Thanks! As a start, you could try to add tests for methods on chessengine.bitboard.Board like get_side_bitboard, move_san, etc.

Awesome, will get started on it!


Changes to VirusSeq API

Samples were called publisher_data.virusseq.samples and the table is now named collections.virusseq.public_samples
Variants, the name changed from publisher_data.virusseq.variants to collections.virusseq.public_variants

Check if this breaks our query

Seems like this is still working for us


[Feature] Support for executing multiple Just commands with a prefix or wildcard notation.

Hello,
I would like to propose a feature request: it would be cool to be able to execute multiple commands with common prefix via wildcards.
# Justfile
[...]

lint-php: [...]
lint-style: [...]
lint-helm: [...]

[...]

test-unit: [...]
test-component: [...]
test-integration: [...]

[...]

### without wildcards we have to list every command and keep it up to date
pre-commit: lint-php lint-style lint-helm test-unit test-component test-integration

### with wildcards we don't have to worry about additions (f.e. new test stages or linting commands)
pre-commit: lint-* test-*
[...]

The primary advantage of adding this feature is the enhanced flexibility it would offer to developers. By supporting the execution of multiple Just commands using a prefix or wildcard notation, users would gain the ability to add new tasks dynamically without modifying the command invocation itself.
With the proposed feature, developers can easily create and integrate new tasks into their workflows without the need to update the command line every time. As projects evolve, and new tasks become necessary, this flexibility becomes invaluable. Furthermore, it fosters a more seamless and maintainable development process, as users can adapt the Just tool to suit their evolving needs without facing cumbersome modifications.
Practical Use Cases:
Custom Task Groups: For projects with various modules or components, developers could create custom task groups using a common prefix. For instance, running just build-* could execute all build-related tasks, irrespective of the specific module, streamlining the build process.
Automated Testing: Users could easily run specific test suites by employing a wildcard expression. For example, executing just test-* could trigger all tests at once.
Code Quality Management: With the ability to use wildcards, developers can effortlessly lint or format subsets of the codebase with a single command, making it easier to enforce consistent code quality standards.

Came here to request the same feature - this would be a huge boon to us in combination with imports, since we have a lot of conventionally-named tasks (lint-go, lint-ruby, etc.)

To me personally, this doesn't feel like a huge win, since it doesn't seem that hard to add new recipes to a top-level recipies dependencies:
lint-php:
lint-style:
lint-helm:

lint: lint-php lint-style lint-helm

And wildcards might lead to executing unexpected recipes, and make the justfile itself somewhat harder to read.

And, I should also say, I think the implementation would be quite messy.

Fair enough. I've gotten used to using this sort of thing from Yarn and PNPM, for example to run a bunch of different "lint" tools that are each declared as a separate task:
https://pnpm.io/cli/run#running-multiple-scripts

To me personally, this doesn't feel like a huge win, since it doesn't seem that hard to add new recipes to a top-level recipies dependencies:
lint-php:
lint-style:
lint-helm:

lint: lint-php lint-style lint-helm

And wildcards might lead to executing unexpected recipes, and make the justfile itself somewhat harder to read.

This may be the case if you only have a few linting commands and only one linking command. Our just files are a bit longer and we have this case for different types of commands (lint, test, start commands, ci, ...), which are summarised in different linking commands, sometimes in several. It would therefore be nice to be able to simply prefix similar commands (we already have this anyway) so that the new commands do not have to be explicitly listed in the various linking commands each time. Especially when different linking commands are involved, it is easy to forget one. In addition, our code is split into micro services, which increases the potential for errors.
But basically, there now seems to be a similar function via groupings, so the use case is covered. It is certainly a more verbose approach (more lines in the just file), but achieves the same goal.


[WIP] horizon mitaka changes

Changes look okay to me.

Just the one question, but otherwise these look good. What else is necessary to remove this from "WIP" status?

I was planning on adding the lbaas stuff to this PR, however we could merge this and I can put up another PR for the lbaas work.

Lets get this in and follow up with lbaas.


Implement traits for IndexMap and IndexSet. (See https://docs.rs/indexmap.

 I however didn't get that warning when I was just running cargo clippy. Perhaps I should specify some arguments to clippy, but then those should probably be stored in a Clippy.toml-file or something like that.

I however didn't get that warning when I was just running cargo clippy.

I think that's a version problem. Every release new warnings are added to clippy, do you have the latest? Also can you rebase your contribution on top of the master branch so it includes the CI I added.

I moved indexmap and indexset to indexmap::map and indexmap::set modules.

Unfortunately you'll have to get up to date with the master branch once again since #7.


Sequelize security patch

See #38

The Sequelize changes seem to have altered the logic somehow and broken some tests... 😞

I spent a few hours trying to make this work and it's a bit of a can of worms because of the way included resources count behaviour changed from 3.23.4 to 3.23.6 which completely breaks our pagination logic. Maybe it's worth waiting for 4.0.0 to be released and just go with that instead.

Closing this in favour of #42, which enables and does the Sequelize upgrade.


feat: add FuseFs

needed to implement a mount command
TODO:

[ ] decide platforms to support
[ ] Think about how to setup the fuse feature (unfortunately, there are no target-specific dependencies, see https://github.com/rust-lang/cargo/issues/1197)
[ ] Add needed dependencies to CI-Pipeline for chosen platforms

https://github.com/rustic-rs/rustic/pull/973 now implements FuseFS in rustic-rs which I think is the better place.

rustic-rs/rustic#973 now implements FuseFS in rustic-rs which I think is the better place.

Just to understand, why do you think rustic-rs is the better place?
Related: https://github.com/rustic-rs/rustic_core/issues/332

rustic-rs/rustic#973 now implements FuseFS in rustic-rs which I think is the better place.

Just to understand, why do you think rustic-rs is the better place?

FuseFS is only needed to offer a fuse filesystem to be used by fuse_mt. This adds dependencies into rustic_core but is actually not a functionality very related to the core of rustic.
Moreover, the code using FuseFS also need the identical dependency itself. And we could ask us, why we support fuse_mt but not fuserdirectly - or fuse3 (which we may use in future). By only offering basic functionality in vfs but not a coded "mapping" we make rustic_core more lightweight without loosing any functionality.
N.B: It is actually similar with the merge and cli features - those are in principle also nothing we need in rustic_core. But here it having the traits not implemented would basically lead to very much boilerplate code on the caller sider - they would basically copy the structs while rustic_core would not get much more lightweight. For FuseFS,  not implementing it in rustic_core reduces dependencies and code complexity in rustic_core.


Editor Does Not Launch: DirectX Runtime Needed

I'm using a laptop that has both Intel and NVIDIA graphics.  Application will not launch.  I did configure the graphics to launch the app using NVIDIA, and I switched all graphics over to NVIDIA, yet I still get the error message.
Graphic drivers are updated, OS is fully updated Windows 10 Pro.

I am experiencing the same issue, with essentially the exact same hardware setup.

I reached out to Ikeiwa, and was told to try installing the UnrealEngine4 Prereq Setup to ensure the correct version of DirectX is installed, however I have been unable to test this, as I currently don't have admin rights to my laptop (soon though).

Had the same problem. Fixed it by copying xinput1_3.dll from another program to the editors directory.

Installing the UE4_Prereq_setup as mentioned in my above comment resolved the issues on my laptop.


home-manager: 0-unstable-2024-07-24 -> 0-unstable-2024-08-02

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for home-manager is: Nix-based user environment configurator
meta.homepage for home-manager is: https://nix-community.github.io/home-manager/
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0-unstable-2024-08-02 in filename of file in /nix/store/6w2wzw9cd2r7i6k1j10ks6xa16ywpqkd-home-manager-0-unstable-2024-08-02

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

home-manager

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/6w2wzw9cd2r7i6k1j10ks6xa16ywpqkd-home-manager-0-unstable-2024-08-02 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/5bcfc8dd35684e57946c03482a00142910d27c6c#home-manager

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/6w2wzw9cd2r7i6k1j10ks6xa16ywpqkd-home-manager-0-unstable-2024-08-02
ls -la /nix/store/6w2wzw9cd2r7i6k1j10ks6xa16ywpqkd-home-manager-0-unstable-2024-08-02/bin

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

1 package built:

home-manager

Maintainer pings
cc @AndersonTorres for testing.

@NixOS/nixpkgs-merge-bot merge


Try installing Epinio in Digital Ocean

I tried to install Epinio 0.5.0 in Digital Ocean but I got an error without any clue about what failed there.
Select Epinio in the marketplace

Install it in a fresh cluster

Installation error

Unfortunately, no log or event in the k8s cluster, I don't even see a pod created by epinio installation.

@jimmykarily just requested help on the Digital Ocean forum

Opened a PR here: https://github.com/digitalocean/marketplace-kubernetes/pull/381/files

Bumped Epinio chart version to v1.0.0 in the PR

Made a comment here: https://github.com/epinio/epinio/issues/1388#issuecomment-1115867209
Closing this.


Implement option to share data over wifi with partymembers

One player is the host and the others can connect to this host as a client.
The clients can download the campaign data.
The clients can upload character data.

Won't be implemented


Re-architect the batcher service so that it works as a Lambda

Part of https://github.com/wellcomecollection/platform/issues/5784
This is the specific task of refactoring the ECS service so that it can operate as an SQS triggered Lambda.

[ ] https://github.com/wellcomecollection/catalogue-pipeline/pull/2728
[ ] https://github.com/wellcomecollection/catalogue-pipeline/pull/2738
[ ] ...

It should be preceded by the RFC described in the linked issue, and followed by an ADR describing the change made.

One of the things I want us to consider is that the whole SQS-in/SNS-out business has its tentacles all through the invocation part of this application.   Ideally, we should be able to invoke it not just by Lambda (which would still be SQS), but also from a CLI by passing it a list of strings (probably on STDIN), without having to run pretend AWS services.
Throughout the whole pipeline, we have big chains of Akka stream stuff that might be better, both for readability and reuse, if we crack them apart and name them, preferably restricting the interface parts (SQS/SNS or STDIO or whatever) to the very periphery.

@kenoir can this be closed now?

@kenoir can this be closed now?

I think this one should include the work to actually shift the batcher code over too? Cc @agnesgaroux.

Closing as done.