text:
Support out of the box springboot application

[kind/Feature]
Which functionality do you think we should add?
Currently, SpringBoot applications are not supported out of the box. This kind of modification is required https://github.com/snowdrop/spring-boot-http-booster/blob/a5b271f3bf1356d5e46b75ef7d463ea7d462c1a9/pom.xml#L194 .
The issue is that by default there are 2 jars generated and copied to the java s2i image. Only the uberjar needs to be started but the java s2i image doesn't know which one.
potential solutions discussed:

have java s2i image to be "smarter" by scanning all the jars and if there is a single one executable, launch this one
have odo copying only the uberjar in case of springboot project
have odo setting an environment variable to specify which jar to launch

Why is this needed?

have a far more straightforward use of springboot application with odo
avoid to modify all examples/quickstarts/boosters

cc @geoand @jorgemoralespou

Although I am not an s2i expert, I am strongly in favor of the first proposed solution and would be willing to work on it.
Also cc @kadel to get his perspective as well :)

Let's also keep in mind that although this manifests itself OOTB with Spring Boot, it affects any Maven project that produces multiple jars (either by explicit configuration or lack of changing the defaults)

We need to make one correction based on a chat that @apupier and I had:
A Spring Boot application created from start.spring.io will work with odo, since the default behavior of the spring boot maven plugin is to add the .original suffix to the code-only jar.
However there seems to be fairly widespread use of the classifier "trick" (see: https://github.com/jboss-fuse/fuse-rest-http-booster/blob/824ceb03269309551509b1b3a0167446e596078d/pom.xml#L170) which indeed breaks odo.
That trick was probably initially added to get around a maven failsafe plugin issue, which is however better handled by what is done in: https://github.com/snowdrop/spring-boot-http-booster/blob/a5b271f3bf1356d5e46b75ef7d463ea7d462c1a9/pom.xml#L194
Nevertheless, it would be great if the OpenJDK builder image has the ability to determine the single executable jar among the potentially many jars that could be present in the target directory

@jorgemoralespou If I am not mistaken, an executable jar will always have the Main-Class entry in it's META-INF/MANIFEST.MF file.
So would it not be possible to check the existence of that entry in the jars files, and if there is only one that contains such an entry s2i could use it?

In such cases of course such a strategy wouldn't work and the scripts could just fall back to what they do now.
What I am proposing is simply an optimization for the common case, that the build of a project produces both an uberjar and a regular jar.

IMHO this is a corner case to regular development, so I 👎 to implement this logic in s2i.
From the 3 options laid out by @apupier I would think we need the last 2:
In case of binary build: have odo copying only the uberjar in case of springboot project
In case of source build: have odo setting an environment variable to specify which jar to launch

@jorgemoralespou You have much more context than I do so what you describe sounds good to me :)
The options you describe however mean that odo will need some extra logic to understand the project type. Do we have some kind of proposal for adding such functionality?

If/when we have all the necessary pieces in place, I would be glad to work on this

@jorgemoralespou @kadel Do we have any larger issue/epic in place about providing odo the capability to recognize the type of project it's being used on and perform specific actions according to the project?

No, we don't, and actually is a good issue to write. OpenShift oc CLI does some recognition. Not sure if it's on the client side though. They were looking into a specific library from GitHub for such recognition. We should probably get their feedback on this.
@geoand do you want to write the issue?

@jorgemoralespou Sure thing! I will create the issue and add some java specific cases that could be useful but I will need the teams help in filling out more use cases from other environments

authors: apupier geoand jorgemoralespou

repo: redhat-developer/odo


text:
Add support for composite run commands

Odo currently doesn't support run commands that are composite.

[ ] this needs to support parallel flag as well

simple example with composite run command for testing
schemaVersion: 2.1.0
metadata:
  name: nodejs

components:
  - container:
      endpoints:
        - name: http-3000
          targetPort: 3000
      image: registry.access.redhat.com/ubi8/nodejs-14:latest
    name: runtime

commands:
  - id: install
    exec:
      commandLine: npm install
      component: runtime
      workingDir: /projects
  - id: start
    exec:
      workingDir: /projects
      commandLine: npm start
      component: runtime
  - id: run
    composite:
      commands:
        - install
        - start
      group:
        isDefault: true
        kind: run

/kind feature
/priority high

blocked on merging https://github.com/redhat-developer/odo/issues/5648 first
/status blocked

source: gharchive/issue

license_type: permissive

license_source: github-api


text:
Fix ordering of command reference docs

What type of PR is this:

/kind documentation
What does this PR do / why we need it:
Fixes the ordering of the command reference so it is alphabetical (with
JSON output being the top doc)
Which issue(s) this PR fixes:

Fixes https://github.com/redhat-developer/odo/issues/5766
PR acceptance criteria:

[X] Documentation

How to test changes / Special notes to the reviewer:
Signed-off-by: Charlie Drage charlie@charliedrage.com

LGTM, but I'd let @feloy (and anyone else who has an opinion on this) express their views on the original issue or this PR before merging it in.

/lgtm

source: gharchive/pull-request

authors: cdrage dharmit feloy


text:
Update ci pod

Type of change
Note: Fill x in []

[ ] bug
[x] enhancement
[ ] documentation
[ ] dependencies

Description

Update ci pod:

Create separate environment variable for creating ci pod ci_pod/env_vars_ci_pod.sh
Adding auto generating CNV workload summary report i_pod/jupyterlab/generate_summary_report.sh
Update flask listening port
create 1 file for run ci pod ci_pod/run_ci_pod.sh

For security reasons, all pull requests need to be approved first before running any automated CI

The changes are rather extensive and structural.  Please update the PR description to better explain what it's doing.

I think its the default nginx.conf

I think its the default nginx.conf

If that change came from the default nginx.conf changing, that's a good reason to make the change -- keep it as close to the default as practicable.

authors: RobertKrawitz ebattat

repo: redhat-performance/benchmark-runner


text:
Added the account name by field

Type of change
Note: Fill x in []

[ ] bug
[x] enhancement
[ ] documentation
[ ] dependencies

Description
Modify the GCP billing according to the billing projects.
Before:

After:

For security reasons, all pull requests need to be approved first before running any automated CI

I dont see any difference, what do exactly add ?

authors: athiruma ebattat

repo: redhat-performance/cloud-governance


text:
Failure with osp10

overcloud.Controller.0.ExternalPort.ExternalPort:
resource_type: OS::Neutron::Port
physical_resource_id:
status: CREATE_FAILED
status_reason: |
IpAddressGenerationFailureClient: resources.ExternalPort: No more IP addresses available on network be3a70aa-6e55-42f3-9a7e-613267fa78f5.
Neutron server returns request_ids: ['req-ddb484d2-e3a7-42bf-a128-b1a24b310c68']

What is the external network range in your network-environment.yaml

https://github.com/redhat-performance/jetpack/pull/72

authors: smalleni zulcss

repo: redhat-performance/jetpack


text:
Added support for compiling the parser code with Microsoft Visual C compiler.

For hiredis-py and others support on windows.
This patch is the final piece in the refactoring of hiredis and hiredis-py (and any other lib which only needs the parser code of hiredis) to make it work on windows

Travis tests broken for some weird network-related reason. Local tests on Linux still work fine.
And the best thing: looks like hiredis-py compiles on Windows with this changes as well: https://ci.appveyor.com/project/badboy/hiredis-py-win

authors: badboy tzickel

repo: redis/hiredis

license_source: bigquery


text:
feat: Option to disable dial on creating client

Approach to #489

Hi @rueian I decided to begin on this
However, I have a few doubts about the requirement and have some questions.

https://github.com/redis/rueidis/issues/489#issuecomment-1988702413
In this how do we go about testing #4 in a failsafe way.
How does the auto-retry work? Do we mean simply returning the structs of these clients without the dial failure being involved like I have done in the current commit? If yes, then how do we update it when the retry is successful?

Thanks in advanced. Let me know which direction I can take for this

repo: redis/rueidis


text:
Is There a Way to Retrieve a Hash/Map Along With Its Key?

Hello,
Is there a means by which one can execute a batch call to retrieve a batch of hashes along with the keys that identify each hash?
For example:

key1 -> {"Name" "Tom" "Age" 29}
key2 -> {"Name" "Jerry" "Age" 30}

How can one retrieve both the hash and its key (key1, key2, etc.) in the same (batch) request?

Hi,
Use RMap.readAllMap it fetches all map data as usual Map object

authors: HarryTheHawk mrniko

repo: redisson/redisson-examples


text:
Unexpected ClosedChannelException during operation

This error occurs regularly (about every 3-5 minutes), I’ve noticed that when it happens the freeSubscribeConnectionsAmount  is 0, could it be related to that?
Expected behavior
Actual behavior
org.redisson.client.WriteRedisConnectionException: Unable to send command! Node source: NodeSource [slot=null, addr=null, redisClient=null, redirect=null, entry=MasterSlaveEntry [masterEntry=[freeSubscribeConnectionsAmount=0, freeSubscribeConnectionsCounter=47, freeConnectionsAmount=16, freeConnectionsCounter=112, freezed=false, freezeReason=null, client=[addr=redis://master.ip:6379], nodeType=MASTER, firstFail=0]]], connection: RedisConnection@213381393 [redisClient=[addr=redis://master.ip:6379], channel=[id: 0x377886d2, L:/client.ip:53212 ! R:master.ip/master.ip:6379]], command: (PUBLISH), command params: [Channel-Name:TEST:heartbeat, *****************] after 3 retry attempts
at org.redisson.command.CommandAsyncService.checkWriteFuture(CommandAsyncService.java:837) ~[redisson-3.9.1.jar:?]
at org.redisson.command.CommandAsyncService.access$200(CommandAsyncService.java:92) ~[redisson-3.9.1.jar:?]
at org.redisson.command.CommandAsyncService$11$1.operationComplete(CommandAsyncService.java:794) ~[redisson-3.9.1.jar:?]
at org.redisson.command.CommandAsyncService$11$1.operationComplete(CommandAsyncService.java:791) ~[redisson-3.9.1.jar:?]
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511) ~[netty-common-4.1.29.Final.jar:4.1.29.Final]
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485) ~[netty-common-4.1.29.Final.jar:4.1.29.Final]
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424) ~[netty-common-4.1.29.Final.jar:4.1.29.Final]
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:121) ~[netty-common-4.1.29.Final.jar:4.1.29.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetFailure(AbstractChannel.java:987) ~[netty-transport-4.1.29.Final.jar:4.1.29.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:869) ~[netty-transport-4.1.29.Final.jar:4.1.29.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1391) ~[netty-transport-4.1.29.Final.jar:4.1.29.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:738) ~[netty-transport-4.1.29.Final.jar:4.1.29.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:730) ~[netty-transport-4.1.29.Final.jar:4.1.29.Final]
at io.netty.channel.AbstractChannelHandlerContext.access$1900(AbstractChannelHandlerContext.java:38) ~[netty-transport-4.1.29.Final.jar:4.1.29.Final]
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.write(AbstractChannelHandlerContext.java:1081) ~[netty-transport-4.1.29.Final.jar:4.1.29.Final]
at io.netty.channel.AbstractChannelHandlerContext$WriteAndFlushTask.write(AbstractChannelHandlerContext.java:1128) ~[netty-transport-4.1.29.Final.jar:4.1.29.Final]
at io.netty.channel.AbstractChannelHandlerContext$AbstractWriteTask.run(AbstractChannelHandlerContext.java:1070) ~[netty-transport-4.1.29.Final.jar:4.1.29.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) ~[netty-common-4.1.29.Final.jar:4.1.29.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) ~[netty-common-4.1.29.Final.jar:4.1.29.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:446) ~[netty-transport-4.1.29.Final.jar:4.1.29.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) ~[netty-common-4.1.29.Final.jar:4.1.29.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.29.Final.jar:4.1.29.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
Caused by: java.nio.channels.ClosedChannelException
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(...)(Unknown Source) ~[netty-transport-4.1.29.Final.jar:4.1.29.Final]
Steps to reproduce or test case
Redis version
3.2.12, 1 master, 2 slaves & 3 sentinels
Redisson version
3.9.1
Redisson configuration
sentinelServers.setPassword(*****);
sentinelServers.setSlaveConnectionPoolSize(128);
sentinelServers.setMasterConnectionPoolSize(128);
(everything else uses the default values)

Please consider increase the pubsub conneciton pool size

@jackygurui  I'm sorry to disturb you.
can you tell me why the problem happen 。and if i increase the pubsub conneciton pool size,Can the problem be fixed forever  Or just extend the time of error reporting.
by the way here is my config . it's that be allright??
 Config config = new Config();
        config.setThreads(16);
        config.setTransportMode(TransportMode.NIO);
        config.setNettyThreads(64);

        config.useSingleServer()
                .setRetryAttempts(3)
                .setRetryInterval(1500)
                .setSubscriptionConnectionPoolSize(100)
                .setTcpNoDelay(true)
                .setKeepAlive(true)
                .setPingConnectionInterval(60)
                .setAddress(redisUri);

The size of the pool is entirely depending on your usage. There are two parameters essentially determins how many topics can be subscribed at most at any time. subscriptionConnectionPoolSize and subscriptionsPerConnection the product of the two number is effectively the upper limit. When  usage exceeds the limit, you will start experencing this problem.
It is adviced to make an educated guess of potential usage to start with, and always review and re-tune the configuration periodically in production.

@jackygurui  thx it helps me a lot.

authors: Katikatikou jackygurui zzhgithub

repo: redisson/redisson


text:
Question about RMapCache and containsKey

I am trying to figure out how redisson takes a custom object and makes that into a key.  In my code I have implemented hashCode and equals method but when my subclass is saved as a key and then the parent class is used to try and access it, containsKey returns false even though both equals and hashcode are implemented and equal each other.
Ive tried using custom writeObject and readObject but that didn't work either.
When coming from caffeine we just had to implement a comparator and that worked but I'm not sure if I can do something similar for this.
Example class:
public class BytesKey extends ... implements Comparable<BytesKey>, Serializable {
protected int hashCode;
public BytesKey(byte[] bytes) {
    super(bytes);
    this.hashCode = super.hashCode();
  }

@Override
  public int hashCode() {
    return hashCode;
  }
@Override
  public boolean equals(Object o) {
    int test = o.hashCode();
    return this.hashCode == o.hashCode();
  }

  private void writeObject(ObjectOutputStream oos) throws Exception
  {
    oos.writeObject(bytes);
    oos.writeObject(hashCode);
  }

  private void readObject(ObjectInputStream ois) throws Exception
  {
    // performing default deserialization of Account object
    bytes = (byte[]) ois.readObject();
    hashCode = (int) ois.readObject();
  }
}

Subclass
private static class InternedBytesKey extends BytesKey implements Serializable {
InternedBytesKey(byte[] bytes) {
      super(bytes);
    }
...
}

Just to follow up, I'm trying to figure out how Redisson determines how to convert an object into a key?

hashCode()/equals() methods of key object aren't used, instead it uses hash of serialized state.

authors: mrniko rrourke


text:
The rstream cannot obtain message.

redisson 3.33.0
I am using SentinelServer, one master and one slave, and ReadMode is set to MASTER_SLAVE, The MASTER mode and SLVAE mode are OK.  The RStream information is obtained from the server. After the XREAD request is sent, the client waits. After the active/standby switchover is performed on the redis server, the xadd operation is performed on the server. At this time, the redisson client fails to obtain the message. I can see from the captured packets that the message is sent to the redisson, but the redisson fails to obtain the message. This problem still exists in the 3.28.0 version. The 3.27.2 version can obtain the message, but it throws an exception.
Please help me. thanks.

any code example to reproduce it?

public static void main(String[] args) {
Config config = new Config();
config.setCodec(StringCodec.INSTANCE);
config.useSentinelServers().addSentinelAddress("redis://ip:port").setRetryAttempts(10).setPassword("password").setMasterName("mymaster").setReadMode(ReadMode.MASTER_SLAVE);
RedissonClient rc=Redisson.create(config);
StreamMessageId streamMessageId = StreamMessageId.AUTO_GENERATED;
//      //StreamMessageId streamMessageId1 = StreamMessageId.ALL;
StreamAddArgs<String,String> streamAddArgs = StreamAddArgs.entries("K1","V1"+streamMessageId,"K2","V2"+streamMessageId );
RStream<String, String> stream = rc.getStream("my-stream");
Map map = stream.range(StreamMessageId.MIN,StreamMessageId.MAX );
StreamMessageId addid = stream.add(streamAddArgs);
    Map<StreamMessageId, Map<String,String>> map1=stream.read(StreamReadArgs.greaterthan(StreamMessageId.ALL).count(1).timeout(duration.ofSenconds(5)));
    System.out.println("map1 is" + map);

    // change the master and slave ， and xadd message  with redis-cli
    Map<StreamMessageId, Map<String,String>> map2=stream.read(StreamReadArgs.greaterthan(StreamMessageId.ALL).count(1).timeout(duration.ofSenconds(0)));
    System.out.println("map2 is" + map);
    rc.shutdown();
}

Unable to reproduce it with the test below:
    @Test
    public void test() throws InterruptedException {
        withSentinel((nodes, config) -> {
            config.setCodec(StringCodec.INSTANCE);
            config.useSentinelServers()
                    .setRetryAttempts(10)
                    .setReadMode(ReadMode.MASTER_SLAVE);
            RedissonClient redisson = Redisson.create(config);

            StreamMessageId streamMessageId = StreamMessageId.AUTO_GENERATED;
//      //StreamMessageId streamMessageId1 = StreamMessageId.ALL;
            StreamAddArgs<String,String> streamAddArgs = StreamAddArgs.entries("K1","V1"+streamMessageId,"K2","V2"+streamMessageId );
            RStream<String, String> stream = redisson.getStream("my-stream");
            Map map = stream.range(StreamMessageId.MIN,StreamMessageId.MAX );
            StreamMessageId addid = stream.add(streamAddArgs);

            Map<StreamMessageId, Map<String,String>> map1=stream.read(StreamReadArgs.greaterThan(StreamMessageId.ALL).count(1).timeout(Duration.ofSeconds(5)));
            System.out.println("map1 is" + map1);

            // change the master and slave ， and xadd message  with redis-cli
            RFuture<Map<StreamMessageId, Map<String, String>>> map2=stream.readAsync(StreamReadArgs.greaterThan(addid).count(1).timeout(Duration.ofSeconds(0)));
            System.out.println("map2 is" + map2);

            try {
                map2.get(1, TimeUnit.SECONDS);
            } catch (Exception e) {
            }

            GenericContainer master = nodes.get(0);
            master.stop();
            System.out.println("master has been stopped!");

            for (int i = 0; i < 5; i++) {
                try {
                    StreamMessageId s = stream.add(streamAddArgs);
                    System.out.println("add1 " + i + " " + s);
                } catch (Exception e) {
                    System.out.println("e.getMessage() " + e.getMessage());
                }
            }

            System.out.println("h1");
            Map<StreamMessageId, Map<String, String>> r = map2.toCompletableFuture().join();
            System.out.println("r " + r);
            assertThat(r.isEmpty()).isFalse();
            System.out.println("h2");

            redisson.shutdown();
        }, 1);
    }

Can you set trace logging level for org.redisson package and share the output?

I invoke "stream.add()". Where is it supposed to be?

//change the master and slave ， and xadd message  with redis-cli,  I use the command line of the redis-cli client.

Unable to reproduce with a different client instance which adds elements after failover
    @Test
    public void test() throws InterruptedException {
        withSentinel((nodes, config) -> {
            config.setCodec(StringCodec.INSTANCE);
            config.useSentinelServers()
                    .setRetryAttempts(10)
                    .setReadMode(ReadMode.MASTER_SLAVE);
            RedissonClient redisson = Redisson.create(config);

            StreamMessageId streamMessageId = StreamMessageId.AUTO_GENERATED;
//      //StreamMessageId streamMessageId1 = StreamMessageId.ALL;
            StreamAddArgs<String,String> streamAddArgs = StreamAddArgs.entries("K1","V1"+streamMessageId,"K2","V2"+streamMessageId );
            RStream<String, String> stream = redisson.getStream("my-stream");
            Map map = stream.range(StreamMessageId.MIN,StreamMessageId.MAX );
            StreamMessageId addid = stream.add(streamAddArgs);

            Map<StreamMessageId, Map<String,String>> map1=stream.read(StreamReadArgs.greaterThan(StreamMessageId.ALL).count(1).timeout(Duration.ofSeconds(5)));
            System.out.println("map1 is" + map1);

            // change the master and slave ， and xadd message  with redis-cli
            RFuture<Map<StreamMessageId, Map<String, String>>> map2=stream.readAsync(StreamReadArgs.greaterThan(addid).count(1).timeout(Duration.ofSeconds(0)));
            System.out.println("map2 is" + map2);

            try {
                map2.get(1, TimeUnit.SECONDS);
            } catch (Exception e) {
            }

            RedissonClient newRedisson = Redisson.create(config);

            GenericContainer master = nodes.get(0);
            master.stop();
            System.out.println("master has been stopped!");

            RStream<String, String> stream2 = newRedisson.getStream("my-stream");

            for (int i = 0; i < 5; i++) {
                try {
                    StreamMessageId s = stream2.add(streamAddArgs);
                    System.out.println("add1 " + i + " " + s);
                } catch (Exception e) {
                    System.out.println("e.getMessage() " + e.getMessage());
                }
            }

            System.out.println("h1");
            Map<StreamMessageId, Map<String, String>> r = map2.toCompletableFuture().join();
            System.out.println("r " + r);
            assertThat(r.isEmpty()).isFalse();
            System.out.println("h2");

            redisson.shutdown();
        }, 1);
    }

Is it possible that you're connected to the old master node after failover? If so data can be lost.

authors: mrniko shijinping


text:
Liveness probe fails for a pod during install, unable to reach port 9644

A community user posted about this here.
The events on the failing pod:
Events:
  Type     Reason     Age                    From     Message
  ----     ------     ----                   ----     -------
  Normal   Pulled     27m (x283 over 15h)    kubelet  Container image "vectorized/redpanda:v22.3.3" already present on machine
  Warning  Unhealthy  7m12s (x868 over 15h)  kubelet  Liveness probe failed: *   Trying ::1:9644...
* connect to ::1 port 9644 failed: Connection refused
*   Trying 127.0.0.1:9644...
* connect to 127.0.0.1 port 9644 failed: Connection refused
* Failed to connect to localhost port 9644: Connection refused
* Closing connection 0
  Warning  BackOff  2m11s (x3697 over 15h)  kubelet  Back-off restarting failed container

The pod ends up being in state CrashLoopBackOff. Deleting and having the pod be replaced by the statefulset did not solve the issue, but deleting the namespace and re-installing did.
I've seen this exact same behavior sporadically, so it's seems like some issue either with the order resources get started or some timeout issue.

I'm having trouble reproducing this. When anyone runs into this bug, it will be important to get logs from the failing pod. Replace redpanda-0 in the command below with the failing pod, then attach issue248-log.txt to this issue:
kubectl logs -n redpanda -c redpanda redpanda-0 > issue248-log.txt

It happened again on my cluster. Attaching the logs for the crashing pod.
redpanda-0.txt

Thanks for those very helpful logs. Do you also have the helm install command you used? And if you use a custom values.yaml file that would also be helpful.

Sure. I am running chart version 2.3.1 and app version 22.3.3.
helm upgrade --install --dry-run --debug -f values.yaml redpanda redpanda/redpanda
values.yaml.txt

I have run into it again on another cluster but this time I enabled trace logs. It looks like there is some compatibility issues (rpc parsing issues). Attaching the log.
redpanda-1-trace.txt

@doganyazar It looks like I've replicated the issue locally and am looking into it now.

@doganyazar can you also include trace logs from the other two nodes in the cluster?

@andrwng Sure, attaching the latest logs from both. They are a bit big so had to zip them.
redpanda-logs-0-2.zip

Thanks @doganyazar!
I think the biggest clues from those logs are (from redpanda-2):
DEBUG 2022-12-22 06:55:53,758 [shard 0] rpc - transport.cc:265 - could not parse header from server: {host: redpanda-1.redpanda.edge.svc.cluster.local., port: 33145}
...
DEBUG 2022-12-22 06:55:54,684 [shard 0] r/heartbeat - heartbeat_manager.cc:281 - Received error when sending heartbeats to node 1 - rpc::errc::unknown

where it looks like messages are getting garbled up at the RPC layer. It does look like they're able to send bytes over the wire though. Not sure if it'd be relevant but is TLS enabled on this cluster?

TLS is enabled on Ingress but as far as I know it does not affect the communication between redpanda nodes.
By the way I have noticed something that is probably worth mentioning to lay out the full picture. We have init containers that create the metrics using rpk against the cluster (using commands rpk topic create [topic] and rpk topic list) and these init containers were using a previous redpanda image version: v22.2.4 but cluster is on v22.3.3.

@vuldin You mentioned having a repro. Did you get anywhere on this or did it get lost over the holiday break?

I asked Josh about this. The answer is that he was looking at another issue that looked similar and he thought the repro was for this. He realized later that it was a different issue making his potential repro irrelevant.
That said, there have been a lot of stability changes around this in the last two months. I'm going to close this but if it's still an issue with the latest chart, please ping me and I'll reopen it.

authors: andrwng doganyazar joejulian vuldin

repo: redpanda-data/helm-charts


text:
Need to set fs.inotify.max_user_instances=512

Without this larger clusters using TLS RPC fail to start.
We do this in our cloud scripts, need to do so in Ansible too

https://github.com/redpanda-data/cloudv2/blob/b70a5866c07989407f0baae08625f812cc05b6a5/terraform/provisioners/aws-redpanda-infra/files/redpanda-node-tuning.sh#L66

@tmgstevens what is the level of urgency on this issue?

It's breaking people as we try to do some scale tests - so would be good to get it fixed, but we could probably ask @pmw-rp to look at it if you don't have cycles right now?

authors: gene-redpanda tmgstevens


text:
[Dev] Can't open Form classes in Form Designer in Visual Studio

Going to revert the project type update PR as they're showing as forms for me but then VS crashes when it tries to draw them. I could have sworn it was working before I merged it.

Fixed with b699e01cf3bd51ea8f5bb772e901512f63632f65
If you want to open that back up as a PR, we can attempt to figure out why VS is being  weird

FYI I figured out what is going on here. I'll re-submit a PR for the new project format

authors: NarryG scowalt

repo: redscientistlabs/RTC-Launcher

license: MIT


text:
Link gives 404 even when user is signed-in to GitHub

Expected behavior
If a user is …

signed-in to GitHub
has access to a private repo

… then you can:

right click in VSCode on a line of code in that private repo you have access to
click Copy Web Link to Selection
paste that link in the browser
see the line of code in your GitHub tab

Actual behavior
In the .gif below you'll see I am a user who …

signed-in to GitHub
have access to my private repo (proven here by showing side-by-side of the GitHub code tab + VSCode code file)

then I …

right click in VSCode on a line of code in my repo
click Copy Web Link to Selection
paste that link in the browser
get a 404 error

to confirm this isn't an access issue, afterward I:

navigate to the same code file using the GitHub web UI
copy the permalink using a vanilla UI element Copy permalink
paste that link in a new tab, which works (no 404 error)

To reproduce
Steps to reproduce the behavior:

Confirm you are signed-in to GitHub and you have access to some repo A with code file B
right click in VSCode on a line of code in code file B
click Copy Web Link to Selection
paste that link in the browser
get a 404 error
now for comparison navigate to the Code tab in GitHub for repo A
search manually for code file B to confirm it exists and you can access it

Thanks for the awesome reproduction steps!
It looks like the hash in the URL is different between what the extension produced and what the GitHub permalink produced. What I suspect has happened is you have commits in your local repository that have not been pushed to the GitHub remote.
There are two types of links that this extension can produce. Both have their advantages and disadvantages.
The default type is "hash" and will create a link using the current commit. This is great for producing permalinks, but unfortunately it can lead to 404s if your current commit hasn't been pushed to the remote.
The other type is "branch" and will create a link using the current branch. This is good if you only need the link to be useful for a short period of time, but it's not great for producing permalinks since the link only points to a branch, and the code on that branch can change in the future.
You can change the setting by searching for "link type" in the settings UI:

Or, if you prefer editing the settings as JSON, you can set the "gitweblinks.linkType" setting to either "hash" or "branch".

As an example, here are the two types of links to the package.json in this repository:
Using "hash":
https://github.com/reduckted/vscode-gitweblinks/blob/ba945ebfd0553d49e0e862cf845230c9f29efdff/package.json
Using "branch" (when on the master branch):
https://github.com/reduckted/vscode-gitweblinks/blob/master/package.json

authors: reduckted robryan

repo: reduckted/vscode-gitweblinks


text:
Update lodash to 4.17.20

Fixes CVE-2020-8203.

Codecov Report

Merging #4697 (c76350e) into master (0485967) will not change coverage.
The diff coverage is n/a.

@@      Coverage Diff       @@
##   master   #4697   +/-   ##
==============================
==============================

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 0485967...97ec933. Read the comment docs.

Closing as stale.

authors: JBallin codecov-io

repo: redux-form/redux-form


text:
adding better dark theme

fixes #4538
Thanks for the PR!
To better assist you, please select the type of PR you want to create.
Click the "Preview" tab above, and click on the link for the PR type:

:bug: Bug fix or new feature
:memo: Documentation Fix
:book: New/Updated Documentation Content

Unfortunately this looks like it also breaks the light theme:

@markerikson you are right.. I fixed the issue now is works fine with light and dark theme

authors: StankaKopalova markerikson

repo: reduxjs/redux


text:
Petinfo email could get too long

Looks like the email in PetInfo could get too long and goes outside the box

Hello @redxzeta, can I work on this issue?

repo: redxzeta/Awesome-Adoption


text:
add presenter support for attachment_image_tag helper

I find solution for #334. It use to_model method and behaves in the same way in different versions of Rails.

I don't like this. This adds the assumption that all recods respond to to_model and return themselves. This is true of ActiveRecord models, but that doesn't cover any other non-AR model objects someone might pass in, including objects from other ORMs, or possibly form objects or whatever else.

to_model method of ActiveModel::Conversion.
model_name method of ActiveModel::Naming.
model_name used in attachment_image_tag
So model must use ActiveModel.
But if we wont use PORO objects as model,  attachment_image_tag helper should not be use model_name method.

authors: darkleaf jnicklas

repo: refile/refile

license: mit


text:
Disabling repo-header-info does not restore star/fork count to original location

Why was #6933 closed and locked? The comment left by maintainers doesn't address the issue and I can't reply in the same issue so I have to make a new one.
I would expect the star/fork count to return to its normal place on the star/fork button if the repo-header-info feature was disabled in the plugin options, but it does not.

Same problem here. Star count is no where to be seen.

Nobody said that disabling the feature would bring back the numbers. I already said that the numbers already exist on the page so we removed the redundant ones.
Stop spamming

authors: fregante tddschn zhudotexe

repo: refined-github/refined-github


text:
Custom theme not working

I created a theme.js file in this path src/@reflexjs/gatsby-theme-base and copied the example theme into it.

But when I change any of the styles, they don't change on the site.
What am I doing wrong?

Hmm this looks correct. Did you try a gatsby clean && gatsby develop?

I tried that and it's breaking all the styles of the page like this:

Oh you need to extend base then. Can you try the following:
import base from "@reflexjs/preset-base"
export default {
  preset: base, <-------------------------

// Overrides.
  colors: {
    text: "#000"
    primary: `#07c`,
    ....etc
  },
}

See https://reflexjs.org/docs/presets#base

Tip: when styling your components, the theme reference page might come in handy: https://reflexjs.org/theme

That worked! Thanks :)

Thanks @arshad for this project, this is truly awesome!

Hmm this looks correct. Did you try a gatsby clean && gatsby develop?

Would you mind adding this to step 7 of the tutorial (https://reflexjs.org/learn/theming)?

Thanks. I'll update the docs.

authors: arshad mattmaker uschtwill

repo: reflexjs/reflex


text:
Tokens

Use access and refresh tokens to restrict access to the API.
┆Issue is synchronized with this Asana task

After some further research, I've decided that this is irrelevant for the API boilerplate. The point of refresh and access tokens are to protect an AP that allows access from 3rd party clients. While we might build those kinds of projects in the future, it's not relevant for a boilerplate. For any project where we control the client that has access to the API we can enforce HTTPS. As a client secret and ID are needed to create a new refresh token anyway, there's no point as we can also just restrict access from the domain our client runs on. The exception is possibly when we make native applications, but once again, that's not for a boilerplate.

repo: reftoken/api-boilerplate


text:
[Feature Request]: Support for Generating synthetic seed (labeled) sets

Is your feature request related to a problem? Please describe.
We have seen on many occasions the importance of providing a few demonstration examples to the LLM to help improve its performance (https://docs.refuel.ai/guide/accuracy/few-shot/) compared to zero-shot labeling setups.
Describe the solution you'd like
For some datasets and tasks, it might be useful to get the LLM to generate this labeled set if a user doesn't have any labels.
E.g.

asking the LLM to write 5 sentences with names of cities/countries etc for a location entity recognition task:

asking the LLM to generate positive/negative pairs for matching type tasks

Added documentation in #544

authors: Tyrest nihit

repo: refuel-ai/autolabel


text:
Remove old method fromRequest() from DTO stub

From v3 of Spatie DTO package seem that fromRequest() it's not anymore the way to be used.
I checked readme of v2 and I found it, but in v3 it's not anymore there.

We could optionally pass property and type via command line, and/or an option to make it Strict.

I currently use this method like so: MyData::fromRequest($request)
So your idea is to just make new MyData($request->all()) Is this right?
I'm not sure but I would say my version (with fromRequest) seems to be a little more cleaner. Also you can easily overwrite things inside this method. I think wie should stay with that method - you do not need to use it, it is optional :)

But how is an example of your MyData class?
Because the docs of new version show just the list of properties with value casts, mapping and strict DTOs.
By using a method fromRequest() I think that casting and mapping that you can add via attribute will not even works. Almost for me didn't worked.
By passing via constructor you don't need to worries how properties are mapped (from request to class properties), just pass an array or via named arguments.
In docs it's written:

The goal of this package is to make constructing objects from arrays of (serialized) data as easy as possible

For example a simple UserData:
<?php

namespace Domain\Users\DataTransferObjects;

use Spatie\DataTransferObject\DataTransferObject;

class UserData extends DataTransferObject
{
    public string $name;

    public string $email;

    public ?string $password;
}

Then:
// Controller
$updateUserAction->execute($user, $request->validated());
// or
$updateUserAction->execute($user, $request->only(["name", "email", "password"]));

// Action
$userData = new UserData($data);
$userData->all();

$userData
    ->only('name')
    ->toArray();

$userData
    ->except('name')
    ->toArray();

Also passing directly $request to DTO, that means that you first need to pass $request to Action, and the Action pass $request to DTO, when you are using Action.

You did not read the book right? You will have something like this:
// Controller
public function update(User $user, UpdateUserRequest $request, UpdateUserAction $action)
{
    $data = UserData::fromRequest($request);

    $user = $action->execute($user, $data);

    return new UserResource($user);
}

// DTO
public string $email;
public string $givenName;
public string $familyName;
public ?int $somethingSpecial

public static function fromRequest(StoreUserRequest|UpdateUserRequest $request): self
{
    return new self(array_merge(
        $request->validated(),
        ['somethingSpecial' => doSomething()]
    ));
}

// Action
public function execute(User $user, UserData $data)
{
    $user->update($data->toArray());

    return $user->refresh();
}

What fromRequest do, is ensuring that the DTO gets the right request(s) for filling the attributes. As you can see, with new self(...) we do nothing else than you with new UserData(...).

Now that you show me, I remember that I saw the static constructor.. I tested and it works fine.. Not sure what I did wrong when I tried.
However, I am not sure about this approach.. Are we not mixing application and domain layer in this way?
Also why not delegate everything to action for create the DTO?
If you need to do the same for API, Web and Console for example, then you need to create new instance of DTO each time.. of course it's not a big deal, just one line of code, but it's not scope of action to encapsulate all this logic?
Anyway no problem for me, I can just remove fromRequest() from generated DTO.

Why would it mix application and domain more than using Actions? I call an Action within an applications controller, it's the same for DTOs I think. Since it's editable anyway I'd prefer to keep this in our package.

I mean that passing $request to DTO, you are mixing request (application) with DTO (domain). So domain depend on application code.

My example above is like the Laravel Beyond CRUD book specify it. So we definitely will keep this behavior. If you think this is wrong or breaks the app/domain separation you are free to implement it your own way :)

My example above is like the Laravel Beyond CRUD book specify it. So we definitely will keep this behavior. If you think this is wrong or breaks the app/domain separation you are free to implement it your own way :)

I am not thinking it's wrong, I know that with follow strictly DDD it's hard with Laravel.
I am just trying to find the better way, because it breaks the separation of domain and app, I hope you agree?
Because I want to have single DTO for my application (Web, Admin, API, Console, etc).. but when this application has different Request rules, then you need a new DT0, or as you do allow all the Requests as parameter of the fromRequest.
That it break separation of domain and app it's admitted also by author of Laravel Beyond CRUD in his free article, he wrote:
"Obviously, mixing application-specific code within the domain isn't the best of ideas. However, it does have my preference.", referring to that fromRequest inside DTO. See here https://stitcher.io/blog/laravel-beyond-crud-02-working-with-data

I see your point, we should add a data factory command and move the fromRequest method to the factory. Adding a flag to specify which Model should be used. Feel free to submit a PR.

As discussed we will add a new DTO factory command and move the fromRequest method to the factory stub.

Ok. If you want I can do.
We could also use the same command but just with option:
php artisan beyond:make:dto MyDTO --factory
Which will create the factory for MyDTO.
Without option, will not create the factory.

Wouldn't it a little bit strange to do something like beyond:make:dto User/UserData --factory=Admin/User/UserFactory? But feel free to implement it your way. I will take a look afterwards.

Wouldn't it a little bit strange to do something like beyond:make:dto User/UserData --factory=Admin/User/UserFactory? But feel free to implement it your way. I will take a look afterwards.

I mean even without passing factory FQCN as we can build it from App and Domain.
Example if DTO class name is UserData under User domain and Admin app, then we can create the factory inside {App}/{Domain}/DartaFactories/{Domain}DataFactory.

authors: alexgaal regnerisch thewebartisan7

repo: regnerisch/laravel-beyond

license: ISC


text:
Use pathlib to parse info/ paths in a stricter way

The current logic in info_json_from_tar_generator is a bit too lax so after processing thousands of artifacts we got unlucky with https://conda-metadata-app.streamlit.app/?q=conda-forge%2Fnoarch%2Fnodeenv-1.9.1-pyhd8ed1ab_0.conda because it happens to contain a JSON file under the tests files that ends up in index.json and it's parsed as part of the conda metadata incorrectly. This makes this code a bit stricter.

Yea, seeing a few 524 (that's the CDN saying no thanks), and a couple 404s in conda.anaconda.org as I update the conda-forge paths database.

I'm merging this one and cutting a patch release, fyi.

repo: regro/conda-forge-metadata


text:
Allow custom tick function

Something that maps a timepoint to a tick label:
let tp = { week: 30, year: 2014 }
tick(tp) // '15'

Closing since we are implementing the types used by us inside this library itself.


text:
#83 plot one class only for plot_precision_recall_curve

#83 plot one class only for plot_precision_recall_curve

Hi @lugq1990, first, thanks a lot for both your PRs. Sorry I've been very slow to review, I've been very busy the past three months. Anyway, let me drop a few comments on this PR first as this is pretty important to me.
I've long thought about redoing the API of curves so that users can select individual classes to plot, not the current way of just being able to select each_class.
Here's my idea of how this should look.
First, we need to deprecate curves.
We then add in plot_micro (boolean default true), plot_macro (boolean default true), and classes_to_plot that must take a list-like array of numbers determining which classes to plot. The default value of classes_to_plot must be None, which signifies that all curves are to be plotted.
This will take a bit of work, especially properly deprecating curves. Let me know if you still want to take it on.

@reiinakano Hello, during the weekend I have deprecated the 'curves', instead as you have said using the plot_micro (boolean default true), plot_macro (boolean default true), and classes_to_plot that must take a list-like array of numbers determining which classes to plot. I will make the commit.  Please check it during your free time.  The result is as followed:

@reiinakano I have made a new pull, but because the master branch test is still using the curves parameters to check,  so it is verified fail. I have also changed the test file. Please check it.

Deprecation does not mean removing the argument immediately. You should detect whether a user is explicitly using curves, and emit a deprecation warning. But it should still work the same as before. Like I said, it's a bit tricky.

@reiinakano It is really a little tricky. I have a idea but may not the best. We also add three parameters:plot_macro, plot_micor and classes_to_plot, keep the curves parameter at the same time. If user want to plot the each_class, we give the user a warning tell him that the parameter is deprecated, but we will still plot the precision_recall_curve and plot the micro and macro default. The added parameters plot_micro and plot_macro give the user control whether plot them or not, the classes_to_plot give the user control to plot the classes for the classes needed to be plot. As you have said : keep the plot_micro and plot_macro be True default. Is that OK?

Sorry for the late reply, yes, that sounds good

It's Ok. I will make it as above as soon as possible.

@reiinakano I have made it as we have discussed. If user choose the 'curves' want to plot the each_class, we just give a warning but also plot all classes for user.

Hi @lugq1990, I know it's been months, I'm really sorry but I finally got some free time to sit here and work on scikit-plot. Anyway, I made a few changes myself but I merged it in after that. Thanks a lot for your PR and again, really sorry it took this long to review!

repo: reiinakano/scikit-plot


text:
Essa biblioteca me deixou perdido como usá-la.

Essa biblioteca me deixou perdido como usá-la.
Tem algum tutorial que ajuda melhor implanta-la no zend Framework e apigility?

Olá. Veja exemplo nesse outro projeto:
https://github.com/reinaldoborges/rb-sphinx-hmac-zf2-examples-server

authors: cpdrenato reinaldoborges


text:
🛑 BINUSMAYA (Academic Services) is down

In 58b4a73, BINUSMAYA (Academic Services) (https://binusmaya.binus.ac.id/LoginAD.php) was down:

HTTP code: 404
Response time: 914 ms

Resolved: BINUSMAYA (Academic Services) is back up in a835be9.


text:
🛑 GreatNusa.com is down

In 851aade, GreatNusa.com (https://greatnusa.com) was down:

HTTP code: 403
Response time: 58 ms

Resolved: GreatNusa.com is back up in 107c8b5.


text:
🛑 GreatNusa.com is down

In 9b6ea4c, GreatNusa.com (https://greatnusa.com) was down:

HTTP code: 403
Response time: 148 ms

Resolved: GreatNusa.com is back up in 3f7beef.


text:
Cache emr cluster id by cluster name to avoid multiple concurrent calls to EMR api to find current running cluster

https://github.com/relateiq/azkaban/issues/12

Double check the logic in the finally block, otherwise LGTM

authors: ajmssc feliperazeek

repo: relateiq/azkaban


text:
ApnsClient Reconnection issue

Case 1 : I tried to to establish ApnsClient connection by providing wrong .p12 file (development .p12 file in case of production).
What I found is, Pushy try to reconnect to APNS over and over again.
Case 2 : Also as per my knowledge, Push also try to reconnect if there is some problem in network which is a fine behavior.
What I am trying to achieve is, I want to reconnect only in case 2 and not in case 1.
Is it possible in pushy?

The thing is how you find out that the .p12 is wrong. You can parse some part of it and try to match i.e. the topic but the other information will be truly difficult to fact check.
After googling a bit I found on the documentation this:

403
There was an error with the certificate or with the provider authentication token

Maybe we could add some feature there. I will sleep on it.

Yes, we should have this as a feature.
Reconnecting connection for a wrong credentials in production will consume unnecessary resource.

We need to separate a few ideas to get at the core of the problem. First, it's important to note that there are now two ways for clients to authenticate with the APNs server: they may either perform mutual TLS authentication by presenting a client certificate or they may opt out of mutual TLS authentication and provide an authentication token when sending notifications (i.e. after connecting) instead.
One key difference between the two approaches is that mutual TLS authentication is happening at connection time, and thus can interfere with the connection process. Client certificates can expire, and the process of constructing a correctly-formed PKCS#12 file is non-trivial. Unfortunately, there are lots of things that can go wrong—even at the TLS handshake level—and it's extremely difficult for us to conclude with certainty that the thing that went wrong is a permanent failure attributable directly to the provided client credentials. It's really really hard for us to tell the difference, for example, between a connection failure caused by a bad certificate and a connection failure caused by the APNs server's certificate missing from the JVM's trust store.
This means that we have a situation where we can't be certain that stopping all connection attempts is the right thing to do. We do provide a metrics system that callers can use to watch for high rates of reconnection and make that decision on their own, though.
It's important to note that if you're using token-based authentication, bogus client credentials can still be a problem, but will not interfere with establishing a connection to the server.
Because Apple now provides an authentication scheme that does not suffer from this problem, because we provide tools (in the form of metrics listeners) for callers to deal with the situation themselves, and because a "fix" in Pushy would risk shutting down clients inappropriately, we will not implement the feature you're requesting.
I'd strongly encourage you to try token-based authentication as a simple way to mitigate this problem. I'd also encourage you to take a look at the reconnection improvements in #492, which I think will go a long way to addressing some adjacent concerns.
In the meantime, thank you for the suggestion! Please don't hesitate to reach out if you have other feature requests or questions.
Cheers!

We have to analyze the documentation regarding MDM. I know there are some differences, I don't know by heart all the issues involved but it can implicate that we still had to maintain the TLS certificate authentication.
In order to put the MDM working, you need a different certificate that the one you need to send a normal push notification.

authors: jchambers prakashpandey ricardopt

repo: relayrides/pushy


text:
Adding celery scaffold to the project.

Adding celery_scaffold for use with flask based projects. It provides a way to configure celery for use, using the flask configuration files. It also provides a celery_app and a flask_app that can be used in your project.
A base_scaffold was pulled out due to the celery worker assuming any 'app' attribute is of type Celery. The original app_scaffold is available to provide backward compatibility. It leverages the new base_scaffold and sets the 'app' attribute to flask_app to ensure existing use cases are handled.

The changes to tox and the GitHub action are due to an issue in import lib-metadata in python 3.7 see https://github.com/python/importlib_metadata/issues/411 for more details. The changes I added were driven off of https://stackoverflow.com/questions/65011159/importerror-cannot-import-name-celery. If we no longer need 3.7 support we could just remove that from tox and the action and everything should just work.

The changes to tox and the GitHub action are due to an issue in import lib-metadata in python 3.7 see python/importlib_metadata#411 for more details. If we no longer need 3.7 support we could just remove that from tox and the action and everything should just work.

I would advocate removing 3.7 support so we don't have to make changes to work around it. That version is EOL, and I already removed it elsewhere. Happy to make a patch for that if it would help.

The changes to tox and the GitHub action are due to an issue in import lib-metadata in python 3.7 see python/importlib_metadata#411 for more details. If we no longer need 3.7 support we could just remove that from tox and the action and everything should just work.

I would advocate removing 3.7 support so we don't have to make changes to work around it. That version is EOL, and I already removed it elsewhere. Happy to make a patch for that if it would help.

Go for it, I am happy to rebase my patch on that. We may want another patch to add 3.12 since that is the default in Fedora now.

repo: release-depot/flask-container-scaffold


text:
♻ refactor: use tera template for default PR body

closes #1788

Moved the default PR body template to a constant
Using Tera templating  for both default and custom templates
Simplifying the pr_body_default function

Hey! I had the feeling that this won't work, so I added a test in the main branch and updated your PR. Can you make the test pass, please? 🙏

authors: KekmaTime MarcoIeni

repo: release-plz/release-plz


text:
🛑 Streetprez is down

In 2a119e5, Streetprez (https://streetprez.com) was down:

HTTP code: 403
Response time: 108 ms

Resolved: Streetprez is back up in 6ecd68f.


text:
Stop

It's pretty confusing that you use the emp restart command to stop a single task/process. This adds an emp stop command to help make this more intuitive.
Also does a little cleanup to move the "friendly" name into server/heroku and adds the ID of the task to the API response.

This just restarts the process, right?  I think the use of 'stop' is a little confusing - people might think that it leads to the process being stopped forever (which, technically is true, but the fact that ECS will bring up a new one in it's place makes the term stop a bit harder to understand).

@phobologic granted ECS will spin up a new container to replace it, it's essentially equivalent to issuing a docker stop on the container. If it's, for example, a detached process, then it's not actually going to get restarted, which is why I think emp restart is confusing when given a task id.

i think this would be better if we only let you stop processes that ECS won't start up again.
the current restart logic is confusing, because it won't restart the detached process. i could see this being confusing if i try and stop a web task but it keeps coming back up.
reading the docs of the stop function i would think there is a bug.

Yeah, I see both sides of this.  Maybe if it printed out that the process was going to be restarted because it wasn't a run process?

Maybe we just need more docs around the behavior of restarting and stopping processes:

emp restart -a <app> triggers a rolling restart of all ECS services. One-off processes and scheduled tasks are not restarted.
emp restart <process> -a <app> triggers a rolling restart of the ECS service for the given process (not supported yet).
emp stop <task id> -a <app> stops an ECS task or container. If the task was part of an ECS service, the task maybe be replaced.

We could put this in the emp help docs.

I agree that more docs are a good first step. If this becomes an issue, we can make it more complicated

Gonna close this one for the time being.

authors: ejholmes mhahn phobologic


text:
[Single Fetch] async data timeouts after 5 seconds

Reproduction

Set ABORT_DELAY to longer than 5 seconds (I used 120 seconds);
Create a loader that returns a promise that takes more than 5 seconds to resolve (I used 5.5 seconds); and
Test with and without Single Fetch.

Repository with reproduction below:
🚫 Timeout with SingleFetch - branch: main
✅ Works without SingleFetch - branch: working-no-single-fetch
System Info
System:
    OS: macOS 14.7
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 635.59 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.12.2 - ~/.asdf/installs/nodejs/20.12.2/bin/node
    Yarn: 1.22.22 - ~/.asdf/installs/nodejs/20.12.2/bin/yarn
    npm: 10.9.0 - ~/.asdf/plugins/nodejs/shims/npm
    pnpm: 9.10.0 - ~/.asdf/installs/nodejs/20.12.2/bin/pnpm
  Browsers:
    Chrome: 130.0.6723.117
    Safari: 18.0.1
  npmPackages:
    @remix-run/dev: ^2.14.0 => 2.14.0
    @remix-run/node: ^2.14.0 => 2.14.0
    @remix-run/react: ^2.14.0 => 2.14.0
    @remix-run/serve: ^2.14.0 => 2.14.0
    vite: ^5.1.0 => 5.4.11

Used Package Manager
npm
Expected Behavior
Request succeeds in both examples
Actual Behavior
Request succeeds with single fetch disabled but timeouts when it is enabled.

I think you missed this docs:-
Single Fetch: Streaming Timeout
I encountered the same issues previously where the streaming is timed out in production but not on local environment (since the promise resolve quite fast compared to production) and it took me a while to find this section that explain that there is seperate timeout setting for streaming data.

I think you missed this docs:-
Single Fetch: Streaming Timeout
I encountered the same issues previously where the streaming is timed out in production but not on local environment (since the promise resolve quite fast compared to production) and it took me a while to find this section that explain that there is seperate timeout setting for streaming data.

You mean the timeout setting I set to 120 seconds here?
https://github.com/Aleuck/remix-single-fetch-timeout-error/blob/main/app/entry.server.tsx#L138

authors: Aleuck syaraf-az

repo: remix-run/remix


text:
chore(docs,examples,templates): update react & react-dom dependency to v18

https://reactjs.org/blog/2022/03/29/react-v18.html

What about the TS versions of the templates?

@jensmeindertsma They're included now

Can we get the e2e tests to run on these changes? For me, all of the Cloudflare templates don't work

We run pre-release tests when we cut a new pre-release that deploys to all our targets (for example): https://github.com/remix-run/remix/actions/runs/2059518090
These use the templates to do that, so we do have a pretty good level of confidence that things work when we publish new versions.

Putting in draft because of https://github.com/remix-run/remix/issues/2564

Hi, is this being worked on? I really want to give Remix a try and I've been eagerly waiting for the templates/tutorials to get updated!
I'm sure this is a lot of work so let me know if I could do anything to help

@creativecreature You can already do it yourself when creating a new project.
The only thing that should be needed to be updated is dependencies & entry.client.tsx:
  import { RemixBrowser } from "@remix-run/react";
- import { hydrate } from "react-dom";
+ import { hydrateRoot } from "react-dom/client";

- hydrate(<RemixBrowser />, document);
+ hydrateRoot(<RemixBrowser />, document);

@creativecreature You can already do it yourself when creating a new project. The only thing that should be needed to be updated is dependencies & entry.client.tsx:
  import { RemixBrowser } from "@remix-run/react";
- import { hydrate } from "react-dom";
+ import { hydrateRoot } from "react-dom/client";

- hydrate(<RemixBrowser />, document);
+ hydrateRoot(<RemixBrowser />, document);

Should be hydrateRoot(document, <RemixBrowser />);

Should be hydrateRoot(document, <RemixBrowser />);

Yeah my bad in the response 🙈😅

@MichaelDeBoey is this still active? I think we've done this everywhere already but let me know if not and I can re-open.
Also, you probably already saw but I migrated our examples to https://github.com/remix-run/examples, so even if we need to re-open we can get rid of all those changes!

authors: MichaelDeBoey chaance creativecreature jensmeindertsma kentcdodds


text:
Negatable options do not negate explicit values

When using negatable options, I would expect --flag=true to be equivalent to --flag and --no-flag=true to be equivalent to --no-flag. However, it seems when an explicit value is provided for the option, negation is not taken into account.
I tested with the following code:
@Command(name = "test")
public class TestNegation implements Callable<Integer> {

    @Option(names = {"--flag"}, negatable = true)
    private boolean flag;

    public static void main(String[] args) {
        System.exit(new CommandLine(new TestNegation()).execute(args));
    }

    @Override
    public Integer call() throws Exception {
        System.out.printf("Value: " + flag);
        return 0;
    }
}

And observed these results:
--flag          // Value: true
--no-flag       // Value: false
--flag=true     // Value: true
--no-flag=true  // Value: true (!)
--flag=false    // Value: false
--no-flag=false // Value: false (!)

Is this a bug? If not, some clarification in the documentation on negatable options might be good.

That does look like a bug, thank you for raising this!
I will take a look when I get a chance.

authors: burnnat remkop

repo: remkop/picocli


text:
Previews as compile-time depency of the Gallery

Currently if we change the preview file without changing the Gallery, it won't be recompiled. This adds the preview as compile-time dependency of the Gallery.
Thanks to @hauptbenutzer for the suggestion!

I get that both solutions will work I had more interest on migrating the preview_details to a mfa 😄 even without confirming that it fixes the recompilation issue that we had

I get that both solutions will work I had more interest on migrating the preview_details to a mfa 😄 even without confirming that it fixes the recompilation issue that we had

I changed the code. This path allows us to support the preview details as opts in the previews/3 in the future

authors: lucasmazza vrcca


text:
Added base context; gofmt a bit

Hi! Thank you for the first steps on golang Altitude SDK ;)
There are a small fix which added base context for client. And some gofmt ;)

Hi @temoon , thank you for the contribution 😄

authors: renatoaf temoon

repo: renatoaf/amplitude-go


text:
ci: fix pipeline

Requirements

Fill out the template below.
The pull request must update the test suite.
After you create the pull request, all status checks must be pass.

Type

[ ] Bug fix
[ ] Feature change
[ ] Refactor
[ ] Documentation
[x] CI/CD
[ ] Test
[ ] Build
[ ] Style
[ ] Chore

Issue (only for type bug fix/feature change)
Description of the Change
fix pipeline
Possible Drawbacks
None

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

npm package (@latest dist-tag)
GitHub release
v1.1.0

Your semantic-release bot :package::rocket:

repo: renault-digital/bash-base


text:
Check for SITE_URL

We need to do some simple validation around SITE_URL to make sure it exists in rendering.

sdA

repo: render-engine/render-engine


text:
Allow for templated suffix

Usually, I have to add suffixes (after the pipe symbol | ) to define width,alignment, and HTML additions
I'd like there to be a textbox with a suffix that will be added after the extension where I can add things like size and such. It would be great as well if the resolution of the image can be used in the template to set the size of the image to be the same as its original resolution.

Hi @j-adel,
I personally use this only for adjusting the width of an image. I would be happy if you can provide some other special cases, which should be tested. Of course feel free to test it yourself and verify that the changes I did are working for you.
And please leave feedback if you tested it yourself. ;)
Cheers

Hey @BadWinniePooh, I just tried your PR and it works perfectly! It's exactly how I imagined it'd be. To be clear, this and this are examples of custom suffixes that could be used following images.

authors: BadWinniePooh j-adel

repo: reorx/obsidian-paste-image-rename


text:
I am working in a docker-unavailable environment, can I still use cog to pack my environment?

I am working in a docker-unavailable environment, can I still use cog to pack my environment?

no, but you can try using https://github.com/replicate/yolo for changing the code in existing models

repo: replicate/cog


text:
File uploads appear to be broken on replicate

Traceback (most recent call last):
  File "/root/.pyenv/versions/3.8.14/lib/python3.8/site-packages/cog/server/runner.py", line 359, in predict
    return _predict(
  File "/root/.pyenv/versions/3.8.14/lib/python3.8/site-packages/cog/server/runner.py", line 427, in _predict
    event_handler.set_output(event.payload)
  File "/root/.pyenv/versions/3.8.14/lib/python3.8/site-packages/cog/server/runner.py", line 246, in set_output
    self.p.output = self._upload_files(output)
  File "/root/.pyenv/versions/3.8.14/lib/python3.8/site-packages/cog/server/runner.py", line 308, in _upload_files
    raise FileUploadError("Got error trying to upload output files") from error
cog.server.runner.FileUploadError: Got error trying to upload output files

Model: https://replicate.com/camenduru/lgm
This is happening on many models, including ones that have been usable on Replicate for some time now.
See also:
https://discord.com/channels/775512803439280149/779461485277347850/1243322233099653130
https://discord.com/channels/775512803439280149/1144193090970722394/1215721819143929917
also: search "upload error" or just "upload" for many more instances of people reporting this.
No response from the Replicate team that I could see.
Has something about cog's file output behavior changed?
This is the only conclusion I can come to, as the code I have used to export files (mp3, wav, etc) on my old models is not working on new ones.
For context - I am currently trying to help CambAI release a versoin of their Mars5-TTS that uses Replicate's native file output to return audio. However they haven't been able to make it work, nor have I.
Relevant issue:
https://github.com/Camb-ai/MARS5-TTS/issues/40

Hi @platform-kit. Thanks for reporting this issue. File uploads appear to be working for other models like stability-ai/stable-diffusion-3, and I'm not aware of any historical or ongoing incidents around that. However, I was able to reproduce this failure myself.

Logs
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/cog/server/runner.py", line 303, in _upload_files
    return self._file_uploader(output)
  File "/usr/local/lib/python3.10/site-packages/cog/server/runner.py", line 212, in file_uploader
    return upload_files(output, upload_file=upload_file)
  File "/usr/local/lib/python3.10/site-packages/cog/json.py", line 53, in upload_files
    return [upload_files(value, upload_file) for value in obj]
  File "/usr/local/lib/python3.10/site-packages/cog/json.py", line 53, in <listcomp>
    return [upload_files(value, upload_file) for value in obj]
  File "/usr/local/lib/python3.10/site-packages/cog/json.py", line 55, in upload_files
    with obj.open("rb") as f:
  File "/usr/local/lib/python3.10/pathlib.py", line 1119, in open
    return self._accessor.open(self, mode, buffering, encoding, errors,
FileNotFoundError: [Errno 2] No such file or directory: 'workspace/gradio_output.mp4'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/cog/server/runner.py", line 359, in predict
    return _predict(
  File "/usr/local/lib/python3.10/site-packages/cog/server/runner.py", line 433, in _predict
    event_handler.set_output(event.payload)
  File "/usr/local/lib/python3.10/site-packages/cog/server/runner.py", line 246, in set_output
    self.p.output = self._upload_files(output)
  File "/usr/local/lib/python3.10/site-packages/cog/server/runner.py", line 308, in _upload_files
    raise FileUploadError("Got error trying to upload output files") from error
cog.server.runner.FileUploadError: Got error trying to upload output files

The ultimate failure was cog.server.runner.FileUploadError, but the relevant part of the trace was here:
  File "/usr/local/lib/python3.10/site-packages/cog/json.py", line 53, in <listcomp>
    return [upload_files(value, upload_file) for value in obj]
  File "/usr/local/lib/python3.10/site-packages/cog/json.py", line 55, in upload_files
    with obj.open("rb") as f:
  File "/usr/local/lib/python3.10/pathlib.py", line 1119, in open
    return self._accessor.open(self, mode, buffering, encoding, errors,
FileNotFoundError: [Errno 2] No such file or directory: 'workspace/gradio_output.mp4'

So the problem isn't that uploading is broken, it's that the file can't be located.
Looking at internal logs, the success rate for camenduru/lgm does appear to change around May 2nd, which corresponds to our rollout of Cog v0.9.6. But I can't tell for sure whether that's a coincidence.
Looking into the source code there are a few things that seem suspect:

This call to os.chdir could be messing with where
The cog.yaml file, which is... well, it's doing a lot

I've reached out to Camb-ai in the linked issue and will work with them to try to get to the bottom of this.

@mattt thanks for the quick response.
I've deployed a fork of the Mars5-TTS model to Replicate that returns a Path:
https://replicate.com/platform-kit/mars5-tts/versions/33a2ed337e20ecbb932a2c304ea42ba0903f0c11ba68421ca9676f79fae82317
code for that deploy's predict.py here:
https://github.com/Render-AI/MARS5-TTS/blob/f27cd6e99ac08033ca04d5450a3d36433e85d9f7/cog/predict.py
According to the cog docs,
For models that return a cog.Path object, the prediction output returned by Cog's built-in HTTP server will be a URL.
however the result is actually just a string with a relative path, not a url:
{
  "completed_at": "2024-06-24T03:52:37.387801Z",
  "created_at": "2024-06-24T03:49:27.655000Z",
  "data_removed": false,
  "error": null,
  "id": "p4txt87bwxrgg0cg91e9v6d79w",
  "input": {
    "text": "This is a test",
    "testMode": "false",
    "ref_audio_file": "https://www.renderai.com/audio/examples/bob-example-1.mp3",
    "ref_audio_transcript": "Space: the final frontier. These are the voyages of the starship enterprise. It's five year misssion: to explore strange new worlds; to seek out new life and new civilizations; to boldly go where no man has gone before."
  },
  "logs": ">>> Running inference\nWARNING:root:Reference audio duration is 20.06 > max suggested ref audio. Expect quality degradations. We recommend you trim prompt to be shorter than max prompt length.\nNote: using deep clone. Assuming input `c_phones` is concatenated prompt and output phones. Also assuming no padded indices in `c_codes`.\nNew x: torch.Size([1, 3022, 8]) | new x_known: torch.Size([1, 3022, 8]) . Base prompt: torch.Size([1, 1505, 8]). New padding mask: torch.Size([1, 3022]) | m shape: torch.Size([1, 3022, 8])\n>>>>> Done with inference",
  "metrics": {
    "predict_time": 107.894457702,
    "total_time": 189.732801
  },
  "output": "output.mp3",
  "started_at": "2024-06-24T03:50:49.493343Z",
  "status": "succeeded",
  "urls": {
    "get": "https://api.replicate.com/v1/predictions/p4txt87bwxrgg0cg91e9v6d79w",
    "cancel": "https://api.replicate.com/v1/predictions/p4txt87bwxrgg0cg91e9v6d79w/cancel"
  },
  "version": "33a2ed337e20ecbb932a2c304ea42ba0903f0c11ba68421ca9676f79fae82317"
}

Image of output in Replicate UI:

@platform-kit It looks like Path is re-bound to pathlib.Path on this line:
https://github.com/Render-AI/MARS5-TTS/blob/f27cd6e99ac08033ca04d5450a3d36433e85d9f7/cog/predict.py#L4
What happens if you change the return type of predict to cog.Path?

That was indeed the issue. Sorry for the hassle. Not sure if the mars5-tts issue is related to the error I quoted about  https://replicate.com/camenduru/lgm - but for what it's worth, that same error came up at some point when I was migrating the mars5-tts repo to return Path. So maybe it is are related to whatever cog.Path does since v0.9.6.

Hey @mattt when I try to use a file url (from default) then the cog errors out it gives out some URLFile error. It was all working fine few weeks back, not sure what's the issue now.

Traceback (most recent call last):
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/cog/types.py", line 201, in __wrapped__
    return object.__getattribute__(self, "__target__")
AttributeError: 'URLFile' object has no attribute '__target__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/urllib3/connectionpool.py", line 536, in _make_request
    response = conn.getresponse()
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/urllib3/connection.py", line 464, in getresponse
    httplib_response = super().getresponse()
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/http/client.py", line 1375, in getresponse
    response.begin()
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/requests/adapters.py", line 667, in send
    resp = conn.urlopen(
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/urllib3/connectionpool.py", line 843, in urlopen
    retries = retries.increment(
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/urllib3/util/retry.py", line 474, in increment
    raise reraise(type(error), error, _stacktrace)
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/urllib3/util/util.py", line 38, in reraise
    raise value.with_traceback(tb)
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/urllib3/connectionpool.py", line 789, in urlopen
    response = self._make_request(
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/urllib3/connectionpool.py", line 536, in _make_request
    response = conn.getresponse()
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/urllib3/connection.py", line 464, in getresponse
    httplib_response = super().getresponse()
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/http/client.py", line 1375, in getresponse
    response.begin()
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/http/client.py", line 287, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
urllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/cog/server/runner.py", line 400, in _predict
    input_dict[k] = v.convert()
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/cog/types.py", line 136, in convert
    shutil.copyfileobj(self.fileobj, dest)
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/shutil.py", line 192, in copyfileobj
    fsrc_read = fsrc.read
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/cog/types.py", line 186, in __getattr__
    return getattr(self.__wrapped__, name)
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/cog/types.py", line 204, in __wrapped__
    resp = requests.get(url, stream=True)
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/requests/api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/requests/sessions.py", line 589, in request
    resp = self.send(prep, **send_kwargs)
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/requests/sessions.py", line 703, in send
    r = adapter.send(request, **kwargs)
  File "/root/.pyenv/versions/3.10.14/lib/python3.10/site-packages/requests/adapters.py", line 682, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))```

authors: arnavmehta7 mattt platform-kit


text:
Automated KOTS Image Dependency Tag Update

Automated changes by the image-deps-updater GitHub action

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

authors: CLAassistant replicated-ci-kots

repo: replicatedhq/kots


text:
Update config.yml

What I Did
Make tests that integrate with g.replicated.com opt-in
How I Did it
Check if the required token is set, else skip
How to verify it
Build from a fork that does not have the variable set
Description for the Changelog
Ship integration testing in CI no longer requires a token to access g.replicated.com. These tests will still be run if the token is set in the build environment.

I think I'd rather split the integration task into two - one for init_app or anything else that ends up requiring an env var, one for all the rest
That way we can keep integration a required test, and just ignore the failing integration-secrets test
That sort of thing

I think we'd rather have this fail silently, then fail explicitly but not block merging. The latter encourages merging in the face of ❌

authors: dexhorthy laverya

repo: replicatedhq/ship


text:
Ignore comments and arguments intended for pip.

Fixes #28
Also allows files from pip-compile to be read by hatch-requirements-txt, but without the arguments doing anything.

Pull Request Test Coverage Report for Build 4376108550

11 of 11 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 98.889%

Totals

Change from base Build 4375974525:
0.1%

Covered Lines:
89

Relevant Lines:
90

💛  - Coveralls

authors: coveralls domdfcoding

repo: repo-helper/hatch-requirements-txt


text:
Requery and JDK 7

Hi,
We have experienced a issue with requery on 2 different computers :
Machine A : Android Studio with JDK 1.8
Machine B : Android Studio with JDK 1.7
The Machine A can import requery and run the project perfectly.
The Machine B can import requery (gradle sync and build OK) but the app crash at launch with a stacktrace like java.lang.RuntimeException: Unable to instantiate application fr.lesechos.fusion.DevApplication
We have tried to import Dagger 2 (which also use the apt plugin) because we though that the issue was here. The app launch was successful.
Switching to JDK 1.8, the app can launch without issues.
Maybe there is a issue with requery compile and JDK 1.7, just for your information :)

Thanks for reporting! The annotation processor is written in Java 8 and needs the Java 8 JRE or JDK to run. I will update the docs to make that clear. Interesting that it even compiled and ran the app though it gradle should fail with a compilation error. If you have the full stack trace that would pinpoint the cause.

Added JDK 8 to the setup guide https://github.com/requery/requery/wiki/Android

authors: npurushe rafoufoun

repo: requery/requery


text:
Setting user-agent when requesting

Currently when sending a request to a website, i get a 403, access denied response. This could be avoided by setting the user agent to something like Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36.
I would like to know if this is possible and how as i have not been able to find it in the docs provided.

Yes, you can by using the User-Agent header:
var options = {
  url: '...',
  headers: {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36'
  }
};

FYI: request-promise is based on request. That means everything you read in request’s README is valid for request-promise, too.

authors: analog-nico fabulousduck

repo: request/request-promise

license: isc


text:
Make it possible to log custom components using rr.send_columns

What
This PR primarily overhauls rr.AnyBatchValue(), a wrapper around pyarrow to package any data to what looks like a serialised custom component:

It publicly expose it, including in the python reference documentation.¨
It makes it compatible with send_columns.
It add the .partition() method.

Also in this PR:

Makes rr.AnyValues() compatible with send_columns (you need to call values.as_component_batch() though)
Add a documentation section to explain all of the above, with a couple of snippets

Checklist

[x] I have read and agree to Contributor Guide and the Code of Conduct
[x] I've included a screenshot or gif (if applicable)
[x] I have tested the web demo (if applicable):

Using examples from latest main build: rerun.io/viewer
Using full set of examples from nightly build: rerun.io/viewer

[x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
[x] If applicable, add a new check to the release checklist!
[x] If have noted any breaking changes to the log API in CHANGELOG.md and the migration guide

PR Build Summary
Recent benchmark results
Wasm size tracking

To run all checks from main, comment on the PR with @rerun-bot full-check.
To deploy documentation changes immediately after merging this PR, add the deploy docs label.

@rerun-bot full-check

repo: rerun-io/rerun


text:
[neovim/ native LSP] add sypport for symbol (symbols-outilne.nvim)

https://github.com/simrat39/symbols-outline.nvim

we actually got this feature but since there's a bug in vscode which results in stale output inside vscode's output pane it is disabled.
see #176
if you build server from source you can enable it manually for your usage. take a look at #272 if you want to.

Hum.. do we have other issue in neovim/LSP due to vscode incompatibility ? Maybe it worth releasing a "vim/neovim" version alongside the vscode one.

Maybe we should do that. I use neovim too.
The goal of this project is to have a stable/reliable vscode extension. the fact that it uses lsp is implementation details.

Yeay, ideally we should have one common repo and 2 distinct repos for each editors, to let them live on their own

It works with native lsb document symbosl i'm not sure how is the exact behavior with the mentioned plugin.

Got it. Well, since a lot of recent work has been done on the document symbol functionality, I'll close this one. Feel free to reopen or post a new issue if things still aren't working, and there's things we can do on the extension side to fix that.

authors: amiralies kiuKisas zth

repo: rescript-lang/rescript-vscode


text:
Feat enhance connuri crawling

instead of crawling all the connection uris directly and only returning the ones we actually want we just get all the connectionUris from a need, and then storing the closed ones similar to the process we will implement for deactivated needs (in the local storage) so we do not ever crawl a closed connection again on reload/login etc... the connection is marked as closed if the connection is added to the redux state and has a state of WON.Closed, or when the connectionState itself changes
Fixes in this branch:
-removed an unused method
-called the executeCrawlableQuery with the right set of parameters (3 instead of 2)
-omit further crawling for a connUri that has already been deemed as closed (from the localStorage)
This should enhance the login speed for users with alot of needs and connections tremendously in the future (first time and incognito access will not go any faster as we will not know which connections are already closed, but everybody else will hopefully experience a huge performance enhancement on the second reload and or login)
happy happy joy joy
ps: @fkleedorfer please don't be mad, that i did this, i needed a palate cleanser after the gui fixes
One should see the change by looking into the localStorage and finding a set of connectionUris that have already been closed, and also on login/reloads after the first one has been completed you should find the following logentry for connecitons that have been omitted in crawling  "[connUri] closed, ommit further crawl for this uri" (without the [])
calling won.clearClosedConnUris()  in the debug console, resets this localStorage element to nothing again (for testing purposes)

there is still an issue in this one, as it seems, even with these last commits
i will block this pr until further notice

pr can be rechecked, is not yet on integration-test  though

app. there was a commit that was necessary that i seemed to forget to push and therefore it did not work (utils.js) -> last commit fixed a wrong expression

seems to work now...

repo: researchstudio-sat/webofneeds


text:
Heading not showing on localhost when wrapped with Tailwind component

Describe the Bug
Heading component is not rendering when it's inside a Tailwind component. I was building a new email and was fighting with Heading not displaying (not rendering in DOM at all). Once I've removed the Tailwind component wrapping my template the Heading appeared. The same happens with newly created project using yarn create email.

There is no Join Enigma on Vercel heading visible right under the logo

While it's in the React code:

It's also not in the rendered HTML code snippet:

Hello alanturing,

Alan (alan.turing@example.com) has invited you to the Enigma team on Vercel.

Once the Tailwind component is removed, the Heading appears

Which package is affected (leave empty if unsure)
@react-email/heading, @react-email/tailwind
Link to the code that reproduces this issue
https://github.com/devklepacki/react-email-reproduction
To Reproduce

Download the project (from reproduction or with yarn create email, install dependencies and run it
On localhost go to vercel-invite-user email template
There is no Join Enigma on Vercel Heading visible right under the logo

Expected Behavior
Heading contents should be shown when used inside Tailwind component
What's your node version? (if relevant)
v20.11.0

Have the same issue. Downgrading to "@react-email/components": "0.0.15" fixed it for me.

Have the same issue. Downgrading to "@react-email/components": "0.0.15" fixed it for me.

Same here, but had the issue with "@react-email/components": "0.0.15" too. On 0.0.14 it's working for me though.

This should be fixed under the latest canaries, for both @react-email/components and @react-email/tailwind. No need to downgrade here.
See https://github.com/resend/react-email/issues/1391#issuecomment-2035304838.

For me @react-email/tailwind@0.0.16-canary.1 worked, but @react-email/tailwind@0.0.16 didn't.

@poeck Yeah, I had to compromise there since we needed a new stable release urgently to fix the issues with peer dependencies, so the changes from canary weren't published. I should tune these versions out properly in the coming weeks. Probably making a new latest release with those.

I'm on @react-email/components and the <Heading> is completely missing from development and production emails.
Not sure how long this has been going on but it's super weird.
I'm changing <Heading> to <Text> and it will show. That's my short term fix.

@mfts For me upgrading tailwind package to canary release:
"@react-email/tailwind": "0.0.16-canary.1",

resolved the issue. Also remember to import Tailwind component separately from @react-email/tailwind instead of /components

Released a new canary for @react-email/tailwind that should be working with this. It is also on the latest canary for @react-email/components.

Can confirm. I was having exactly this issue and these versions fix it
  "dependencies": {
    "react": "^18.2.0",
    "@react-email/components": "0.0.18-canary.0",
    "@react-email/tailwind": "0.0.17-canary.0",
    "react-email": "2.1.3-canary.2"
  },

This has been fixed and released under @react-email/tailwind@0.0.17 or @react-email/components@0.0.18. If anyone still experiences this, please let me know and I'll reopen the issue.

Installing @react-email/components and @react-email/tailwind separately worked for me

authors: andresgutgon devklepacki eltongonc fominv gabrielmfern mfts peperoli poeck

repo: resend/react-email


text:
[WIP] Show partial totals in Gauge component

Connects-To: #385
Change-Type: minor

I'm using the translate function from here. Seems a bit off center though.
As for the coloring, I've used the 'white-text-back-outline' practice. Still looks ugly.
---- Autogenerated Waffleboard Connection: Connects to #385

@LucianBuzzo , couple questions here.

Why do the tests fail? I get

-     className="sc-dnqmqq gDpXJY sc-gzVnrw iYSyBq"
+     className="sc-dnqmqq gDpXJY sc-gzVnrw jBacMi"

so the problem is with the added class.

How can I make it look 'nicer'?

I used partialTotals as a name for the prop. Is it in line with the naming conventions?

@dimitrisnl See this line from the test output
Snapshot Summary
 › 2 snapshot tests failed in 2 test suites. Inspect your code changes or run `npm run jest -- -u` to update them.

If you've made changes to a component you'll need to regenerate the snapshots for them, see https://facebook.github.io/jest/docs/en/snapshot-testing.html#updating-snapshots
I don't think partialTotals makes much sense, how about showSegmentTotals?
You could try using the isLight method from the colors package and then changing the number color accordingly https://www.npmjs.com/package/color#luminosity

It seems like there are some serious issues while using data with big disparity.

@dimitrisnl I think we might just need to implement the totals as tooltips?

@LucianBuzzo This is what I'm working on atm
Other approaches

Hide the values with they are less than 10% of the total - Doesn't look really good.
Add the totals in the legend - Way too small, last place to look.
Use another pie solution for the library, with build in capabilities - Better avoid that

Couldn't make tooltips happen, and ended up using a simple title tag

Already better that what we already have.
Would it make sense to have these numbers on the legend instead?
It would probably make them appear one per line which would increase the height of the respective card in the Dashboard, so that's probably a bad idea for that use case...

The negative with using titles is that it has a slight delay. WIth tooltips, you get immediate feedback.
As for the legends, I thought about that too but it does not look great. The font size is pretty small, and it feels really cluttered

Oh wait... If it's SVG then we can do CSS only tooltips using :hover { content: attr(...); position absolutel....}, can't we?

@thgreasi Huh sounds interesting. Will give it a go!

@thgreasi Not sure I can use pseudo elements with SVG paths

@dimitrisnl Can we not just use chart.js? That demo looks lovely

@LucianBuzzo Went ahead and tried it.  There were certain caveats but everything seems to be working alright.

Actually there a number of issues to be addressed.

Fix the failing tests
Do the proper actions after props change

@dimitrisnl Looks awesome!

@LucianBuzzo Have some serious issues with the jest snapshot generation.
I get a weird TypeError: Cannot read property 'length' of null. Not quite sure what should I be looking for.

Really weird Navbar & Form fail, yet I have made no changes in their respective files.
Updating the snapshots and including them.

THANK YOU BOT

Let's see if @LucianBuzzo has any objections, and I'll happily merge it

authors: LucianBuzzo dimitrisnl thgreasi

repo: resin-io-modules/rendition


text:
Add an optional payload object to pass more information with an error object

Change-Type: minor
Signed-off-by: Andreas Fitzek andreas@resin.io

I'm going with subclassing the TypedError in PineJS directly. So we can close this here.

repo: resin-io-modules/typed-error


text:
Add Embedded Container Toolkit Layer

The Embedded Container Toolkit (ECT) is a collection of tools and utilities built for running linux containers on embedded systems.

Adds support for a pull with docker-progress
Is adapted to run in multiple architectures
Supports syncing data into a container (resin-sync)
Supports pulling with deltas (by specifying a deltaFrom parameter to the pull command)
Supports Bootable containers (i.e. host OS as a container)
Supports per-device configuration over signed images
Supports strategies to transition from one container to another
Supports update locks

@shaunmulligan what is this the status of this? It looks to me that it should be in the resinos repository (if at all).

@agherzan I think we can close this, as lots of the embedded toolkit will probably be handled by balena

authors: agherzan shaunmulligan

repo: resin-os/meta-resin


text:
Load the i2c-dev module on Raspberry Pi devices by default.

Currently if a user wants to use i2c on the raspberry pi, they have to ensure that:
1.) they have to make sure dtparam=i2c_arm=on is set in the config.txt
2.) they have to modprobe i2c-dev so the devices show up in /dev
Could we make the loading of i2c-dev by default in the resin-init-board script for resin-raspberrypi ?
As far as I know there should be no side affects if i2c-dev loaded but dtparam=i2c_arm is off... With this change. Users will be able to use i2c without having to modprobe anything,which is great when we have isolated multicontainer finished.
Sound good @agherzan and @petrosagg

ping @petrosagg

repo: resin-os/resinos