text:
Realm (-SNAPSHOT) is incompatible with Kotlin 1.7.20-Beta

Hi all!
I'm currently using Kotlin 1.7.20-Beta (which has the new memory management model enabled by default) with Realm 1.2.0-ktor2-SNAPSHOT on a multiplatform project.
At compile time, I've got the following error on all the classes that are using RealmObject.
All works fine downgrading to Kotlin 1.7.10, with Realm 1.2.0-ktor2-SNAPSHOT and the new memory management model enabled in gradle.proprieties.
Let me know if you need additional tests/details.
org.jetbrains.kotlin.backend.common.CompilationException: Back-end: Please report this problem https://kotl.in/issue
/Users/paolorotolo/NextomeMultiplatformSDK/nextomesdk/src/commonMain/kotlin/com/nextome/sdk/multiplatform/models/NMMachineStateEntity.kt:-1:-1
Details: Internal error in file lowering: java.lang.NoSuchMethodError: 'org.jetbrains.kotlin.ir.declarations.IrValueParameter org.jetbrains.kotlin.backend.common.ir.IrUtilsKt.copyTo$default(org.jetbrains.kotlin.ir.declarations.IrValueParameter, org.jetbrains.kotlin.ir.declarations.IrFunction, org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin, int, int, int, org.jetbrains.kotlin.name.Name, java.util.Map, org.jetbrains.kotlin.ir.types.IrType, org.jetbrains.kotlin.ir.types.IrType, org.jetbrains.kotlin.ir.expressions.IrExpressionBody, boolean, boolean, boolean, int, java.lang.Object)'
	at io.realm.kotlin.compiler.RealmModelSyntheticPropertiesGeneration.addVariableProperty(RealmModelSyntheticPropertiesGeneration.kt:613)
	at io.realm.kotlin.compiler.RealmModelSyntheticPropertiesGeneration.addRealmObjectInternalProperties(RealmModelSyntheticPropertiesGeneration.kt:171)
	at io.realm.kotlin.compiler.RealmModelLowering.lower(RealmModelLoweringExtension.kt:89)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitClass(Lower.kt:101)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitClass(IrElementVisitorVoid.kt:111)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitClass(Lower.kt:92)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitClass(Lower.kt:92)
	at org.jetbrains.kotlin.ir.declarations.IrClass.accept(IrClass.kt:64)
	at org.jetbrains.kotlin.ir.declarations.IrFile.acceptChildren(IrFile.kt:36)
	at org.jetbrains.kotlin.ir.visitors.IrVisitorsKt.acceptChildrenVoid(IrVisitors.kt:15)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitElement(Lower.kt:96)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitPackageFragment(IrElementVisitorVoid.kt:190)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitPackageFragment(Lower.kt:92)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitFile(IrElementVisitorVoid.kt:200)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitFile(Lower.kt:92)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitFile(IrElementVisitorVoid.kt:198)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitFile(Lower.kt:92)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitFile(Lower.kt:92)
	at org.jetbrains.kotlin.ir.declarations.IrFile.accept(IrFile.kt:30)
	at org.jetbrains.kotlin.ir.visitors.IrVisitorsKt.acceptVoid(IrVisitors.kt:11)
	at org.jetbrains.kotlin.backend.common.LowerKt.runOnFilePostfix(Lower.kt:89)
	at org.jetbrains.kotlin.backend.common.ClassLoweringPass$DefaultImpls.lower(Lower.kt:44)
	at io.realm.kotlin.compiler.RealmModelLowering.lower(RealmModelLoweringExtension.kt:47)
	at org.jetbrains.kotlin.backend.common.LowerKt.lower(Lower.kt:75)
	at io.realm.kotlin.compiler.RealmModelLoweringExtension.generate(RealmModelLoweringExtension.kt:43)
	at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr$lambda$1(JvmIrCodegenFactory.kt:183)
	at org.jetbrains.kotlin.psi2ir.Psi2IrTranslator.generateModuleFragment(Psi2IrTranslator.kt:99)
	at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr(JvmIrCodegenFactory.kt:215)
	at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr(JvmIrCodegenFactory.kt:53)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.convertToIr(KotlinToJVMBytecodeCompiler.kt:230)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:113)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:58)
	at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:158)
	at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:53)
	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:99)
	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:47)
	at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
	at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:475)
	at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:125)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally(IncrementalCompilerRunner.kt:372)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally$default(IncrementalCompilerRunner.kt:317)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.rebuild(IncrementalCompilerRunner.kt:114)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:206)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:79)
	at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:625)
	at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:101)
	at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1746)
	at jdk.internal.reflect.GeneratedMethodAccessor100.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
	at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
	at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.NoSuchMethodError: 'org.jetbrains.kotlin.ir.declarations.IrValueParameter org.jetbrains.kotlin.backend.common.ir.IrUtilsKt.copyTo$default(org.jetbrains.kotlin.ir.declarations.IrValueParameter, org.jetbrains.kotlin.ir.declarations.IrFunction, org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin, int, int, int, org.jetbrains.kotlin.name.Name, java.util.Map, org.jetbrains.kotlin.ir.types.IrType, org.jetbrains.kotlin.ir.types.IrType, org.jetbrains.kotlin.ir.expressions.IrExpressionBody, boolean, boolean, boolean, int, java.lang.Object)'
	... 63 more

Thanks.

Thanks for your reply. It happens with every object that extends RealmObject. Also, the module compiles just fine downgrading kotlin to 1.7.10. Since NMMachineStateEntity is a complex object, I'm attaching the same error I have on a simpler class.
NMException.kt
class NMException: RealmObject {
    @PrimaryKey
    var id: Int = 0
    var message: String = ""
}

compile log with Kotlin 1.7.20-beta:
org.jetbrains.kotlin.backend.common.CompilationException: Back-end: Please report this problem https://kotl.in/issue
/Users/paolorotolo/NextomeMultiplatformSDK/nextomesdk/src/commonMain/kotlin/com/nextome/sdk/multiplatform/models/NMException.kt:-1:-1
Details: Internal error in file lowering: java.lang.NoSuchMethodError: 'org.jetbrains.kotlin.ir.declarations.IrValueParameter org.jetbrains.kotlin.backend.common.ir.IrUtilsKt.copyTo$default(org.jetbrains.kotlin.ir.declarations.IrValueParameter, org.jetbrains.kotlin.ir.declarations.IrFunction, org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin, int, int, int, org.jetbrains.kotlin.name.Name, java.util.Map, org.jetbrains.kotlin.ir.types.IrType, org.jetbrains.kotlin.ir.types.IrType, org.jetbrains.kotlin.ir.expressions.IrExpressionBody, boolean, boolean, boolean, int, java.lang.Object)'
	at io.realm.kotlin.compiler.RealmModelSyntheticPropertiesGeneration.addVariableProperty(RealmModelSyntheticPropertiesGeneration.kt:613)
	at io.realm.kotlin.compiler.RealmModelSyntheticPropertiesGeneration.addRealmObjectInternalProperties(RealmModelSyntheticPropertiesGeneration.kt:171)
	at io.realm.kotlin.compiler.RealmModelLowering.lower(RealmModelLoweringExtension.kt:89)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitClass(Lower.kt:101)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitClass(IrElementVisitorVoid.kt:111)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitClass(Lower.kt:92)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitClass(Lower.kt:92)
	at org.jetbrains.kotlin.ir.declarations.IrClass.accept(IrClass.kt:64)
	at org.jetbrains.kotlin.ir.declarations.IrFile.acceptChildren(IrFile.kt:36)
	at org.jetbrains.kotlin.ir.visitors.IrVisitorsKt.acceptChildrenVoid(IrVisitors.kt:15)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitElement(Lower.kt:96)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitPackageFragment(IrElementVisitorVoid.kt:190)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitPackageFragment(Lower.kt:92)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitFile(IrElementVisitorVoid.kt:200)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitFile(Lower.kt:92)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitFile(IrElementVisitorVoid.kt:198)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitFile(Lower.kt:92)
	at org.jetbrains.kotlin.backend.common.ClassLoweringVisitor.visitFile(Lower.kt:92)
	at org.jetbrains.kotlin.ir.declarations.IrFile.accept(IrFile.kt:30)
	at org.jetbrains.kotlin.ir.visitors.IrVisitorsKt.acceptVoid(IrVisitors.kt:11)
	at org.jetbrains.kotlin.backend.common.LowerKt.runOnFilePostfix(Lower.kt:89)
	at org.jetbrains.kotlin.backend.common.ClassLoweringPass$DefaultImpls.lower(Lower.kt:44)
	at io.realm.kotlin.compiler.RealmModelLowering.lower(RealmModelLoweringExtension.kt:47)
	at org.jetbrains.kotlin.backend.common.LowerKt.lower(Lower.kt:75)
	at io.realm.kotlin.compiler.RealmModelLoweringExtension.generate(RealmModelLoweringExtension.kt:43)
	at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr$lambda$1(JvmIrCodegenFactory.kt:183)
	at org.jetbrains.kotlin.psi2ir.Psi2IrTranslator.generateModuleFragment(Psi2IrTranslator.kt:99)
	at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr(JvmIrCodegenFactory.kt:215)
	at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr(JvmIrCodegenFactory.kt:53)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.convertToIr(KotlinToJVMBytecodeCompiler.kt:230)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:113)
	at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:58)
	at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:158)
	at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:53)
	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:99)
	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:47)
	at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
	at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:475)
	at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:125)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally(IncrementalCompilerRunner.kt:372)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileIncrementally$default(IncrementalCompilerRunner.kt:317)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.rebuild(IncrementalCompilerRunner.kt:114)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:206)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:79)
	at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:625)
	at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:101)
	at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1746)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
	at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
	at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.NoSuchMethodError: 'org.jetbrains.kotlin.ir.declarations.IrValueParameter org.jetbrains.kotlin.backend.common.ir.IrUtilsKt.copyTo$default(org.jetbrains.kotlin.ir.declarations.IrValueParameter, org.jetbrains.kotlin.ir.declarations.IrFunction, org.jetbrains.kotlin.ir.declarations.IrDeclarationOrigin, int, int, int, org.jetbrains.kotlin.name.Name, java.util.Map, org.jetbrains.kotlin.ir.types.IrType, org.jetbrains.kotlin.ir.types.IrType, org.jetbrains.kotlin.ir.expressions.IrExpressionBody, boolean, boolean, boolean, int, java.lang.Object)'
	... 64 more

Hmm, that is a bit suprising. We also have a sample project compiled with 1.7.20-beta. I'll investigate further.

On Android, I'm using gradle plugin com.android.tools.build:gradle:7.3.0-rc01. I will see if I can make a repo with minimal code to reproduce the issue.

Hi!
I've uploaded a minimal reproducible example here: https://github.com/paolorotolo/realm-multiplatform-issue-1002
There's also a kotlin-1.7.10 branch where the project compiles fine.
Let me know if you need more info.

Hi @paolorotolo
Thank you for that. I can reproduce it 👍

We found the issue. The problem is an internal API in the compiler has moved from org.jetbrains.kotlin.backend.common.ir.copyTo to org.jetbrains.kotlin.ir.util.copyTo between 1.7.10 and 1.7.20-Beta.
Unfortunately, the Kotlin Compiler API isn't stable yet, so something like this can happen.
We will have to come up with a work-around, until then, you can unfortunately not use 1.7.20-Beta.

Understood, thanks!

Hi @paolorotolo We just merged a fix for this. It should be available as 1.2.0-SNAPSHOT in a couple of hours: https://github.com/realm/realm-kotlin#using-snapshots

@cmelchior will 1.2.0-ktor2-SNAPSHOT be updated as well?

@paolorotolo, yes, it has been merged to the ktor2 branch as well and a SNAPSHOT has been released.

I encounter this just now on a standalone android app: kotlin-1.7.10, realm-kotlin 1.4.0,  i have to downgrade to 1.0.1 to make it work

Hi @koolfreak. As noted in https://github.com/realm/realm-kotlin/blob/master/CHANGELOG.md#140-2022-10-17 we are requiring Kotlin 1.7.20 for Realm Kotlin 1.4.0

authors: cmelchior koolfreak paolorotolo rorbech

repo: realm/realm-kotlin


text:
Incorrect file permission when using open with -fsanitize=realtime

Hi!
Thanks for creating radsan, I started using it yesterday and it already helped me spot a few real-time safety violations in my code!
However I had troubles setting it up because I think there's an issue in the open interceptor (and maybe in other filesystem interceptors). When a file is created, the file permissions are not the same whether you compile with radsan on or off (with or without-fsanitize=realtime).
Here's a dummy example to reproduce the error.
#include <fcntl.h>
#include <iostream>
#include <string>
#include <unistd.h>

int main()
{
    std::string filename = "test_radsan.txt";

    auto f = open(filename.c_str(), O_RDWR | O_CREAT, 00644);

    if (f == -1) {
        std::cerr << "Unable to open file!" << std::endl;
        return 1;
    }

    auto w = write(f, "Hello, World!", 13);

    if (w == -1) {
        std::cerr << "Error writing to file!" << std::endl;
        return 1;
    }

    // Close file
    auto c = close(f);

    if (c == -1) {
        std::cerr << "Error closing file!" << std::endl;
        return 1;
    }

    return 0;
}

With radsan off I get the expected:

But with radsan on (-fsanitize=realtime) I get this for debug:

and this for release:

It seems that the 00644 argument in open may not be forwarded correctly in the interceptor.
Also, commenting out all the filesystem interceptor in radsan_interceptors.cpp solves the permission issue.
This issue might be related to #29.
I'm on Mac (arm) with OSx 14.4.1. I built Radsan from source.

Many thanks for the report @DamRsn - we can definitely take a look once upstreaming efforts have died down a bit :)

PS: I think your observation of it being likely related to #29 is a good one - hopefully the fix for this will fix both!

@DamRsn  think I have a fix for this! Would you pull down the small change in this PR and give it a go? It works both in unit testing and using your binary for me.
Thanks for reporting this, we would have had no idea otherwise. Sincerely appreciate the help.

Hi,
I just tried the fix and it works with the simple example I provided.
However when I use it in my bigger project (where I first detected the issue), it's still not working and I'm getting errors when I try to open my database file with sqlite_orm.
When I comment out the file interceptors, it works as expected, so it seems that the intercepted filesystem calls are not behaving exactly as their REAL equivalent.
Sorry, I don't any more specific information at the moment, I tried to go as deep as possible with the debugger in sqlite_orm but I could not get down to the open or read calls where the error must be occurring. I don't know if it is still permission issue or not.

Here's the list of interceptors that I commented out (both their definition and in initialiseInterceptors().
open
openat
close
fopen
fread
fwrite
fclose
fcntl
creat
puts
fputs
I'll try do narrow it down with bissection, but right now I have some issue buildingmy project with different compiler versions and RadSAN so I'll fix that first.

I just pushed another change to that branch, fixing the same problem in fcntl. Before bisecting, check that out and see if it helps.

@DamRsn we've just pushed out a new release to the main branch and to the Docker registry. Let us know if this fixes your issue :)

I've built of radsan main branch and everything seems to work well now. I don't need to comment the file interceptor anymore.
Thanks a lot for fixing this!

Thanks to you for reporting this!! This ended up being 3-4 different issues that we couldn't figure out until you put your easy-to-repro example.
Sincerely appreciate your report, glad you're unblocked

source: gharchive/issue

authors: DamRsn cjappl davidtrevelyan

repo: realtime-sanitizer/radsan

license_type: permissive

license_source: github-api


text:
Build packages

In this diff I provided a build script for each package in this monorepo.
The structure looks like this one
packages/
  module
    emotion/package.json
    dist/package.json
    dist/index.cjs.js
    dist/index.esm.js
    dist/emotion.cjs.js
    dist/emotion.esm.js

Pkg specifies main and module fields for styled components and for
emotion.

I'm not sure how to fix deploy error. Travis works fine.
/cc @jxnblk

I'd rather hold off on all these build changes until after v3 is released

They may be breaking. It should be landed in v3. What's the problem?

Why would the build process be breaking changes?

Because the result of build process is different.
Everything should be landed and tested before major release or users will get shit in minor and patches.

This is the point of prereleases.

Fuck. Will build my own framework. Contribution to your projects makes me tired.

source: gharchive/pull-request

authors: TrySound jxnblk

repo: rebassjs/rebass

license: MIT


text:
React native link does not working

when using this command 'react-native link react-native-device-info'. It gives the following error.
Something went wrong while linking. Error: Expected "/* Begin ", "/* End ", """, or [A-Za-z0-9_.] but "<" found.
Please file an issue here

I am seeing the same thing

Me too - this is what I get:
$ react-native link react-native-device-info
Scanning 969 folders for symlinks in /Users/lukevenediger/ucam-src/ucam-client/node_modules (6ms)
$

I have the same problem

got the same output as @lukevenediger but not only for this plugin but basically any plugin I'm trying to link
$ react-native -v
react-native-cli: 2.0.1
react-native: 0.46.0

seems like an issue of the react-native cli
manually linking works just fine

Does this have a solution?

+1

+1!
$ react-native -v
react-native-cli: 2.0.1
react-native: 0.46.0

+1

Can someone with the problem find a fix?  I'll write the code, but I'm not sure what the issue is.

It's a problem with the linking with iOS. If you manually link iOS and then run react-native link it works. @GantMan

After I install CLI it worked for me:
npm install -g react-native-cli

Is this still happening with the last version?

Have you tried doing react-native upgrade before react-native link? That worked for me.

authors: 3210jr Azmeer-crescent GantMan budiga davidgruebl gayancharith grovertb joshyg lukevenediger machour mehdijjz percivalruiz-bibo rclaes1995

repo: rebeccahughes/react-native-device-info

license: mit

license_source: bigquery


text:
Make recap work with Python 3.11

There's some dependencies which require Python < 3.11 in pdm.lock. Docs state though "Python 3.10 or above is required".

I'll have to update the docs. The SQLAlchemy BigQuery driver currently only works with 3.10. If Recap supports 3.11, BigQuery won't work. :(

authors: criccomini gunnarmorling

repo: recap-cloud/recap


text:
Print Margin on Top

I am getting margin on top. Printer model RP-76II Rongta  any idea how to solve this?

Closing this as off-topic, this is not a printer help forum.
This project contains command-line tools for reading ESC/POS binary files to get some useful information out of them as text, HTML, or image files.

repo: receipt-print-hq/escpos-tools


text:
Minimum Item Width For Self Sizing Cells

Hello. Is it possible to set minimum width for self sizing cells? Because sometimes I want the items fill the all view's width if there are a few items.

Hi @rocxteady! This isn't possible at the moment, but you can probably achieve it by implementing the size delegate. I agree that it would be nice to have build-in support for this though. The sizeToFit option has provided this functionality before, but I think it makes sense to make this a separate property from menuItemSize. That would make it possible to get this behaviour for both .fixed, .selfSizing and when using the size delegate.

authors: rechsteiner rocxteady

repo: rechsteiner/Parchment


text:
CITATION file need

Could you provide a CITATION file?

I've made a PR (https://github.com/recipy/recipy/pull/190) that uses CITATION.cff instead of CITATION. More info here: https://software.ac.uk/blog/2017-12-12-standard-format-citation-files

Thanks both, this is now done.

authors: jspaaks rgaiacs robintw

repo: recipy/recipy


text:
Add Profile: MD REHAN

i want to add my profile
MD REHAN ( https://github.com/REHAN-18)

@all-contributors please add @REHAN-18 for review

repo: recodehive/awesome-github-profiles


text:
Add Profile: Nishant0708

paste a screenshot of your GitHub profile here

enter category to label your profile
category: minimilast ,gif
then comment @all-contributors please add @<username> for review

@all-contributors please add @nishant0708  for review`


text:
fixed typos

Hello,
I fixed some typos that I noticed in the README file.

Codecov Report

Merging #3 into master will not change coverage.
The diff coverage is n/a.

@@         Coverage Diff          @@
##           master    #3   +/-   ##
====================================
  Coverage      68%   68%
====================================
  Files           2     2
  Lines         497   497
====================================
  Hits          338   338
  Misses        126   126
  Partials       33    33

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 ad0f406...0b813b3. Read the comment docs.

@mohammed-ali-1 thank you!

authors: codecov-io mohammed-ali-1 recoilme

repo: recoilme/pudge


text:
Add phpstan-phpdoc-parser to daily update

The current command will get the following output:
composer update rector/rector --with-all-dependencies
Gathering patches for root package.
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires rector/rector dev-main -> satisfiable by rector/rector[dev-main].
    - symplify/phpstan-rules 10.3.0 requires phpstan/phpdoc-parser ^1.6.0 -> satisfiable by phpstan/phpdoc-parser[1.6.0].
    - rector/rector dev-main conflicts with phpstan/phpdoc-parser <1.6.2.
    - symplify/phpstan-rules is locked to version 10.3.0 and an update of this package was not requested.

updated to :
composer update rector/rector phpstan/phpdoc-parser --with-all-dependencies

Gathering patches for root package.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 2 updates, 0 removals
  - Upgrading phpstan/phpdoc-parser (1.6.0 => 1.6.2)
  - Upgrading rector/rector (dev-main fd299c8 => dev-main 4182234)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 2 updates, 0 removals
Gathering patches for root package.
Gathering patches for dependencies. This might take a minute.
  - Upgrading rector/rector (dev-main fd299c8 => dev-main 4182234): Extracting archive
  - Upgrading phpstan/phpdoc-parser (1.6.0 => 1.6.2): Extracting archive
Package symplify/amnesia is abandoned, you should avoid using it. Use https://symfony.com/blog/new-in-symfony-5-3-config-builder-classes instead.
Generating autoload files
91 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
phpstan/extension-installer: Extensions installed

will make it works

All checks have passed 🎉 @TomasVotruba I think it is ready.

Thank you :+1:

authors: TomasVotruba samsonasik


text:
Bump 1.13.0

Allow updating custom fields through /notes endpoint #328
Add ability to update an invoice #329
Remove reference to unused ruleset #326
Upgrade .NET 4.7 and scripts folder #327
Allow test script to run a single method #330
Fix integration tests so they all pass #332

Upgrade Notes
This release brings us up to API version 2.14. The build now targets .NET v4.7.
Please make sure that you update your application appropriately.

Are we going to include the API v2.14 changes in this bump?

2.14 Changes now included. Thanks for remembering.

authors: aaron-suarez bhelx

repo: recurly/recurly-client-net


text:
Sonarr preferred_ratio is not applied

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
The preferred_ratio is defined in recyclarr.yml, but after syncing, the "Preferred" Value in Sonarrs Quality Settings does not change from "Unlimited". Only when The "Preferred" Value is set to anything lower than "Unlimited" does recylcarr adjust the value properly.
The exact same issue applies to Radarr. The steps to reproduce and fix are the same.
Expected Behavior
The "Preferred" value should be set no matter of its current state (unlimited or limited)
Steps To Reproduce

Consider any quality profile managed by recyclarr
set its preferred quality to unlimited
run recyclarr sync sonarr

Recyclarr Execution Log:
[INF] Processing Quality Definition: series
[INF] Using an explicit preferred ratio which will override values from the guide
[INF] Number of updated qualities: 0

confirm that the value did not change in sonarr
set the preferred value to an arbitrary but limited number
run recyclarr sync sonarr again

Recyclarr Execution Log:
[INF] Processing Quality Definition: series
[INF] Using an explicit preferred ratio which will override values from the guide
[INF] Number of updated qualities: 3

confirm that the value has now been adjusted by recyclarr

Environment & Versions
- Operating System: Unraid Host with Docker
- Architecture: x64
- Recyclarr Version: 6.0.2
- Recyclarr Build: linux-amd64
- Sonarr Version: 4.0.8.1874
- Radarr Version: 5.7.0.8882

Recyclarr Log File(s)
This file is from a run where preferred qualities where set to unlimited and no settings were changed
recyclarr_fail.debug.log
After setting the preferred values to a number and re-running, everything was applied, documented by this log
recyclarr_success.debug.log
Configuration YAML
sonarr:
  series:
    # Set the URL/API Key to your actual instance
    base_url: https://<webhost>/sonarr
    api_key: 1c5df----------------------3c175

    # Quality definitions from the guide to sync to Sonarr. Choices: series, anime
    quality_definition:
      type: series
      preferred_ratio: 0.4

    custom_formats:
      - trash_ids:
          # Audio
          - b6fbafa7942952a13e17e2b1152b539a # ATMOS (undefined)
          - 63487786a8b01b7f20dd2bc90dd4a477 # DD+
          - 4232a509ce60c4e208d13825b7c06264 # DD+ ATMOS
          - 5964f2a8b3be407d083498e4459d05d0 # DTS
          - 9d00418ba386a083fbf4d58235fc37ef # DTS X
          # ... and so on

Sonarr / Radarr Logs
I checked both Radarr and Sonarr logs and cannot see anything related to failed API queries or other issues in connection with Recyclarr.

After further reading, this appears to be an exact duplicate of #193. Issue description and solution match. I'm left a little unsure if this is a Recyclarr issue to begin with, or something that would have to be fixed in Son/Radarr upstream.

Could you provide the respective verbose log along with the two debug logs you provided? I appreciate the detailed report.

Since there were too many runs in between my initial report and now due to all the testing, those reports were overwritten. So I've reproduced the issue with Sonarr so I can provide the 4 logs.
recyclarr_success.debug.log
recyclarr_success.verbose.log
recyclarr_fail.debug.log
recyclarr_fail.verbose.log

I really can't thank you enough for bringing this to my attention. It took me a while to reproduce this on my side, but I finally determined the issue and have a fix. Let me know if this isn't resolved in the next release!

authors: bytebone rcdailey

repo: recyclarr/recyclarr


text:
Sync devel branch with upstream

Signed-off-by: Humble Chirammal hchiramm@redhat.com

@nixpanic ptal.. thanks.. once this is merged, I will cut the release 4.12 branch

/lgtm

repo: red-hat-storage/ceph-csi


text:
exporter: add alert for storagequotautilizationration > 0.8

Trigger alert when quota utilization reaches 80%

@leelavg can i get review on this.

/hold

/unhold

doing manual merge as prow seems to have glitched out on this PR.

repo: red-hat-storage/ocs-operator


text:
Pass along loids generated by the api

Calls to /api/me return loids in the json response. This patch includes
those in the response body.
:eyeglasses: @schwers || @phil303

:fish:

authors: nramadas schwers

repo: reddit/node-api-client


text:
Appstudio update test-custom-default-branch-meiz

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-yrqk-on-pull-request-
creating pipelinerun test-annotations-yrqk-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-wadk-on-pull-request-
creating pipelinerun test-simple-build-wadk-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-gcoj-on-pull-request-
creating pipelinerun test-annotations-gcoj-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-lqle-on-pull-request-
creating pipelinerun test-simple-build-lqle-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-imul-on-pull-request-
creating pipelinerun test-simple-build-imul-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nwtb-on-pull-request-
creating pipelinerun test-simple-build-nwtb-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-nyrh-on-pull-request-
creating pipelinerun test-simple-build-nyrh-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-dtnt-on-pull-request-
creating pipelinerun test-annotations-dtnt-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-mcmm-on-pull-request-
creating pipelinerun test-simple-build-mcmm-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-ufgi-on-pull-request-
creating pipelinerun test-simple-build-ufgi-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-ntht-on-pull-request-
creating pipelinerun test-annotations-ntht-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-uqzm-on-pull-request-
creating pipelinerun test-simple-build-uqzm-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-mijr-on-pull-request-
creating pipelinerun test-annotations-mijr-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-vchz-on-pull-request-
creating pipelinerun test-annotations-vchz-on-pull-request- in namespace build-e2e-vcdw-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request


text:
fix: backendroute in the config map

signed off by msawood@redhat.com

/lgtm

/lgtm

repo: redhat-appstudio/infra-deployments


text:
fix: set maxlength for note in schema validation

MaxLength was set and then removed at one point during development, adding it back.

/lgtm

but wait, why 512?

Dropping after discussion in standup that the tekton message limit of 4096 is sufficient.

authors: 14rcole Josh-Everett MartinBasti

repo: redhat-appstudio/integration-service


text:
Stub out file creation in installable-item test

so it doesn't create a file every time the test runs

Current coverage is 80.16% (diff: 100%)

Merging #498 into master will increase coverage by 1.51%

@@             master       #498   diff @@
==========================================
  Files            25         25
  Lines          2309       2425   +116
  Methods         396        396
  Messages          0          0
  Branches        197        197
==========================================
+ Hits           1816       1944   +128
+ Misses          493        481    -12
  Partials          0          0

Powered by Codecov. Last update 51cac08...44f933d


text:
Fixes bind local port problem in 2.2

https://github.com/redhat-developer/kestrel-linux-transport/issues/91

I merged this just in case. 2.2 is EOL by now.


text:
zsh tab completion

As a developer, I want to have zsh tab completion so that I don’t need to lookup options and available commands as I type
NOTE: This can follow the current oc completions command as an example.
Tasks:
Add issues for completion for missing commands
Subtask of #163

See: https://github.com/redhat-developer/ocdev/issues/163 bash + zsh completion has been added :+1:

authors: cdrage jorgemoralespou

repo: redhat-developer/ocdev


text:
Use category Quarkus for all commands

currently, there is Quarkus:  as a prefix for most of the commands. In the Ui, it looks then similar to using a category but it is not leveraging the full power of VS Code API.
note: missing the Quarkus: for Debug Quarkus command

I think the reason is the command is used to be displayed in the launch menu on the top right

The fix is actually to not display this command in the command palette

The category should not be displayed at this place. This is the benefit of using categories:
Presentation of contributed commands depends on the containing menu. The Command Palette, for instance, prefixes commands with their category, allowing for easy grouping. However, the Command Palette doesn't show icons nor disabled commands. The editor context menu, on the other hand, shows disabled items but doesn't show the category label.

https://code.visualstudio.com/api/references/contribution-points#contributes.commands
The availability in the command palette is useful. (this is where I searched for it)

ok so we want to hide the Debug Quarkus from command palette.
it remains interesting to use categories for all commands.

authors: apupier fbricon

repo: redhat-developer/vscode-quarkus


text:
Clickable InlayHint for Java type

Clickable InlayHint for Java type
Fixes #702
Signed-off-by: azerr azerr@redhat.com

Is this PR ready? If so, could you please mark it as ready for review?

Yes it is ready. I switched to real pr

Requires redhat-developer/quarkus-ls#704


text:
[Bug] install script uses deprecated apt-key on Ubuntu

What happened:
On executing the install script, and install cri-o, apt spits out warnings around the use of apt-key which is deprecated and will be removed in future versions.
What you expected to happen:
no warnings!
How to reproduce it (as minimally and precisely as possible):

Start Ubuntu 20.** VM
Run install script

Anything else we need to know?:
I don't think this is immediately pertinent, but wanted to track it.
ubuntu@kitkat:~$ man apt-key
...
       Use of apt-key is deprecated, except for the use of apt-key del in maintainer scripts to remove existing keys from the main keyring. If such usage of
       apt-key is desired the additional installation of the GNU Privacy Guard suite (packaged in gnupg) is required.

       apt-key(8) will last be available in Debian 11 and Ubuntu 22.04.
...

Relevant Logs
ubuntu@kitkat:~$ ./install.sh
======================================================================
!!! WARNING !!!
The hostname kitkat does not follow FQDN, which might cause problems while operating the cluster.
See: https://github.com/redhat-et/microshift/issues/176

If you face a problem or want to avoid them, please update your hostname and try again.
Example: 'sudo hostnamectl set-hostname kitkat.example.com'
======================================================================
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
conntrack is already the newest version (1:1.4.6-2).
firewalld is already the newest version (0.9.3-2ubuntu1).
policycoreutils-python-utils is already the newest version (3.1-1build1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
100   393  100   393    0     0    944      0 --:--:-- --:--:-- --:--:--   942
100   394  100   394    0     0    737      0 --:--:-- --:--:-- --:--:--   737
100   395  100   395    0     0    611      0 --:--:-- --:--:-- --:--:--   611
100   396  100   396    0     0    521      0 --:--:-- --:--:-- --:--:--   521
100   397  100   397    0     0    454      0 --:--:-- --:--:-- --:--:--   454
100  1093  100  1093    0     0   1101      0 --:--:-- --:--:-- --:--:--  1101
OK
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
100  1093  100  1093    0     0   2235      0 --:--:-- --:--:-- --:--:--  2235
OK
Get:1 http://ports.ubuntu.com/ubuntu-ports hirsute InRelease [269 kB]
Get:2 http://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/1.20/xUbuntu_20.04  InRelease [1629 B]
Get:3 http://ports.ubuntu.com/ubuntu-ports hirsute-updates InRelease [115 kB]
Get:4 http://ports.ubuntu.com/ubuntu-ports hirsute-backports InRelease [101 kB]
...

cc @tadayosi

The part that uses apt-key is just picked up from the official crio doc:
https://github.com/cri-o/cri-o/blob/main/install.md#apt-based-operating-systems
but let me see if it can be done better.

authors: jbpratt rootfs tadayosi

repo: redhat-et/microshift


text:
Improve return messages for verify-image-repository API

When image repository doesn't have auto_rebuild_tags set, the return
message of verify-image-repository API tells user the repository doesn't
exist, like this:
{
    "error": "Bad Request",
    "message": "Cannot get repository foo/bar from Lightblue.",
    "status": 400
}

Instead of this message, freshmaker should tells users that this
repository doesn't have auto_rebuild_tags set. After change, the return
message will be something like:
{
    "error": "Bad Request",
    "message": "The \"auto_rebuild_tags\" in COMET is not set.",
    "status": 400
}

In this change, the return message is changed to include more info about
the repository and the rebuildable images, including the 'auto_rebuilds_tags'
for repository and tags of image. Something like this:
{
    "auto_rebuild_tags": [
        "latest"
    ],
    "images": {
        "foobar-1-123": {
            "content_sets": [
                "content-set-1",
                "content-set-2"
            ],
            "tags": [
                "latest",
                "1-123"
            ]
        }
    },
    "msg": "Found 1 images which are handled by Freshmaker for defined content_sets."
}

JIRA: CLOUDWF-3237

+1

authors: apaplaus qixiang

repo: redhat-exd-rebuilds/freshmaker


text:
operator [CI] gitlab-operator-kubernetes

Thanks for submitting your Operator. Please check the below list before you create your Pull Request.
New Submissions

[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?
[ ] Have you tested your Operator with all Custom Resource Definitions?
[ ] Have you tested your Operator in all supported installation modes?
[ ] Have you considered whether you want to use semantic versioning order?
[ ] Is your submission signed?
[ ] Is operator icon set?

Updates to existing Operators

[ ] Did you create a ci.yaml file according to the update instructions?
[ ] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[ ] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?
[ ] Is your submission signed?

Your submission should not

[ ] Modify more than one operator
[ ] Modify an Operator you don't own
[ ] Rename an operator - please remove and add with a different name instead
[ ] Modify any files outside the above mentioned folders
[ ] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ ] Description of the managed Application and where to find more information
[ ] Features and capabilities of your Operator and how to use it
[ ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ ] Human readable name and 1-liner description about your Operator
[ ] Valid category name1
[ ] One of the pre-defined capability levels2
[ ] Links to the maintainer, source code and documentation
[ ] Example templates for all Custom Resource Definitions intended to be used
[ ] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

/merge possible

/fyi @droopy4096

/merge possible

@droopy4096 could you please approve the changes?

/merge possible

@mitchnielsen,@WarheadsSE,@twk3,@droopy4096 , please approve as you are original reviewers.

@mitchnielsen,@WarheadsSE,@twk3,@droopy4096 , please approve as you are original reviewers.

@pursultani are you able to contact someone from @mitchnielsen,@WarheadsSE,@twk3,@droopy4096 ?

/approve

Sorry for the delay 👋🏼  Is my /approve comment sufficient? I'm not quite sure based on the docs instructions.

/merge possible

/merge possible

/merge possible

/merge possible

authors: J0zi framework-automation mitchnielsen pursultani


text:
update RHCOS AgentServiceConfig Images and CRs for Jan 2023

This PR:
(1) refreshes RHCOS base images used for the 4.9 & 4.10 releases to a more recent version hosted on the OpenShift mirror site (mirror.openshift.com). These represent four months of RHEL fixes and should be used as a base vs their older counterparts during the provisioning process.
(2) refreshes OpenShift ClusterImageSet to align with respective RHCOS images. Customers and partners should also try to stay current with enhancements and security fixes present in these newer versions.
(3) adds support for OpenShift version 4.12.

Don't we need to add 4.11 and 4.12 ClusterImageSet?

RHACM actively creates new CIS objects in active/subscribed clusters as micro releases of OpenShift come out.  These objects are needed to be created manually in cases where someone may be using just MCE, or in cases where disconnected installs are being done.
Given this, I think it's best left as an exercise to the implementer.


text:
chore(DO NOT MERGE): Test mvp active users RBAC v1.2

Test mvp-active-users-scalability

/test mvp-scalability

/test mvp-scalability

/test mvp-scalability


text:
mihoyo 是什么风格？

第一次遇到这个词，想了解一下

想问一下我一直显示

MiHoYo首先是一家游戏公司，我打算将MiHoYo旗下的游戏中的UI风格加以统筹，然后打造出让人感受到浓浓的MiHoYo风格的一款主题😂😂，如果硬要说是什么风格的话，就是MiHoYo公司的游戏的UI风格吧

想问一下我部署的时候一直出现layout缺失的情况，请问你的theme是hexo-theme-MiHoYo嘛？

MiHoYo首先是一家游戏公司，我打算将MiHoYo旗下的游戏中的UI风格加以统筹，然后打造出让人感受到浓浓的MiHoYo风格的一款主题😂😂，如果硬要说是什么风格的话，就是MiHoYo公司的游戏的UI风格吧

抱歉打扰了，问题我解决了。期待该主题日后的发展，加油

authors: JIeJaitt ocian


text:
RESP3 PUSH messages incorrectly use pending callback

I think that RESP3 PUSH data can be incorrectly sent to a callback that is waiting for a reply.
async.c makes the following assumption:
        /* Even if the context is subscribed, pending regular callbacks will
         * get a reply before pub/sub messages arrive. */
        if (__redisShiftCallback(&ac->replies,&cb) != REDIS_OK) {

I think this is not true because the RESP3 spec says:
Push data may be interleaved with any protocol data, but always at the top level, so the client will never find push data in the middle of a Map reply for instance.
Clients should normally react to the publication of a push data by invoking a callback associated with the push data type.

Yes, at present hiredis can parse > push messages but there's no logic to handle those kinds of "out of band" messages properly.
This would help redis-cli too:
antirez/redis/issues/7125
@yossigo I kind of think we should support this before releasing v1.0.0.  I don't think it will be all that involved.

I put together a draft for the proper handling of RESP3 PUSH messages.
Basically the commit allows users to specify a custom handler for PUSH messages if they wish in sync or async hiredis.
In order to maintain backward compatibility, the async API always handles non-subscribe PUSH messages out of band but if no callback is supplied by the user all we do is call freeReplyObject and continue the redisGetReply loop.
I'll do some more robust testing but the branch seems to work pretty well.

Closed via #841

authors: lukepalmer michael-grunder

repo: redis/hiredis


text:
Inquire about the distributed scheduling task service (Scheduler Service), how to achieve that only one of the multiple worker servers (worker) executes tasks at a time?

Inquire about the distributed scheduling task service (Scheduler Service), how to achieve that only one of the multiple worker servers (worker) executes tasks at a time?
My code is as follows:
Configuration code:
@Bean(destroyMethod = "shutdown")
public RedissonNode redissonNode(@Qualifier("redissonConfig") Config config, @Qualifier("redissonClient") RedissonClient redissonClient) {
    RedissonNodeConfig nodeConfig = new RedissonNodeConfig(config);
    nodeConfig.setExecutorServiceWorkers(Collections.singletonMap(GoogleRefundService.executorServiceName, 1));
    RedissonNode node = RedissonNode.create(nodeConfig, redissonClient);
    node.start();
    return node;
}

Schedule task code:
@Value("${sdk.payment.thirdparty.google.refund.cronSchedule:0/5 * * * * ?}")
private String refundCronSchedule;

@PostConstruct
public void initGoogleRefundSchedule() {
    ExecutorOptions options = ExecutorOptions.defaults();
    // 设定为0则不进行重试
    options.taskRetryInterval(0, TimeUnit.MINUTES);
    RScheduledExecutorService executorService = redissonClient.getExecutorService(executorServiceName, options);
    int taskCount = executorService.getTaskCount();
    log.info("initGoogleRefundSchedule taskCount:{}", taskCount);
    if (taskCount == 0) {
        executorService.schedule((Runnable & Serializable) () -> log.info("task has been executed!"), CronSchedule.of(refundCronSchedule));
    }
}

According to the configuration, log("task has been executed!") will be output every 5 seconds. It is currently started on a single server, and the scheduled task service can run.
But if you start the service on multiple servers, the process on each server will output every 5 seconds, but what I want to achieve is: on multiple workers (workers), only one of them (or Random, or polling, or preemption) execute a task every 5 seconds.
How should I configure the distributed scheduling task service to achieve this effect?

screenshot:
Three of the servers, at 15:06:10, two of the servers performed distributed tasks

Current implementation supports uses all available workers for tasks execution in queue.

Thank you, I have found the problem. The time synchronization must be ensured between the cluster servers. I used "chrony" to do the time synchronization and found that the problem was solved!

@elevenkongqian can you please elaborate how exactly did you fixed it? I am using multiple tomcat nodes and facing the same issue
RScheduledExecutorService executorService = client.getExecutorService("runnableExecutorService"); 			executorService.registerWorkers(options); 			executorService.scheduleAtFixedRate(new RunnableTask(), 0, 5, TimeUnit.SECONDS);
Following code get executed on both tomcats after 5 seconds.

authors: elevenkongqian mrniko ns-qasim

repo: redisson/redisson


text:
Add RedisBusyException. In case of the watchdog logic exit during red…

Add RedisBusyException. In case of the commands got abortted during redis server is busy.

One more question. I just tested out the redis server busy exception. But how to deal with other exceptions properly? Especially those unkown exceptions for which we should retry in watchdog logic ...

One more question. I just tested out the redis server busy exception. But how to deal with other exceptions properly? Especially those unkown exceptions for which we should retry in watchdog logic ...


text:
[New] Mark conversations obsolete

Expected Behaviour
As a user who receives results of historic conversations, I want to be able to mark conversations which convey obsolete knowledge as outdated. This interaction should not be limited to a particular role.
Outdated conversations should be default be hidden from the result list, but optionally made visible with a filter. When visible, they should clearly be visible as outdated.
It should also be possible to revert the outdated status.
Remark: This applies to the conversation without any question context!

Actually, the current UI only presents an excerpt of conversations, thus only this scope should be marked obsolete.
If a result includes an obsolete message, it should be hidden by default

repo: redlink-gmbh/smarti


text:
Access custom component's methods from sagas

Hi.
How to access to a component's method from saga? For example, I have this DropdownAlert component in my MainComponent. The DropdownAlert is referenced by it's ref. In one of my saga's I do some async fetching, and onError I want to do DropdownAlert.alertWithType('error', 'Error', err).
I was thinking to put a ref to a redux store. But it is not serializable.

You should communicate this with state changes. So the preferred way is to
put action from saga, handle it in your reducers so the state changes and
your component gets notified about it and rerenders or call smth in your
lifecycle hooks
On Tue, 31 Jan 2017 at 15:27, nda2221 notifications@github.com wrote:

Hi.
How to access to a component's method from saga? For example, I have this
https://github.com/devBrian/react-native-dropdownalert DropdownAlert
component in my MainComponent. The DropdownAlert is referenced by it's ref.
In one of my saga's I do some async fetching, and onError I want to do
DropdownAlert.alertWithType('error', 'Error', err).
I was thinking to put a ref to a redux store. But it is not serializable.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/redux-saga/redux-saga/issues/802, or mute the thread
https://github.com/notifications/unsubscribe-auth/AJWMktu3RTjmwWjb_e_-vTu5IFotyeEUks5rX0TFgaJpZM4Lys6j
.

Thanks, buddy!
Can you elaborate more how my component gets notified and rerenders or call smth in your
lifecycle hooks? Shall it happen in shouldComponentUpdate(), or I check a prop in the render() and depending on the state - exec ref.callFunc?

Your render should be pure - so generally only return the react elements, no side effects.
Im not sure what exactly you are using, but im assuming that you use react-redux, so your component would get notified about the state change and in your mapStateToProps you could set some props based on this state, so the props can be checked in some lifecycle hook - like componentDidUpdate and based on that run some callback.

Thanks again.
It works now. I was struggling where to initiate async actions with DOM. componentDidUpdate is the right place.

repo: redux-saga/redux-saga


text:
Roadmap for Null safety

Is there a roadmap for null safety in redux_saga?

Subscribed

still working on it

redux_saga 3.0.3 version is now null safe and available on pub.dev

Thanks

authors: ashim-k-saha bilal-uslu lukepighetti


text:
Following the Swap Widget example, getting "Can't resolve 'fs'"

Followed the example of the Swap Widget as in the README file, but I get:
next-dev.js?3515:20 ./node_modules/@ref-finance/ref-sdk/dist/ref-sdk.esm.js:3:0
Module not found: Can't resolve 'fs'

In the browser console.
See the implementation in my app here.
package version:
"@ref-finance/ref-sdk": "^1.1.5",

My guess is that the error happens at near.ts:
import fs from 'fs';

And then it gets exported as a whole for both server and client in index.ts:
export * from './near';

Should we add logic whether to export near.ts for only server side?

@max-mainnet any ideas what could be causing this error?
I know that outside the server environment, fs (file system) is not available, hence the error in the browser. But I assume the SwapWidget will not use fs in the client side?

+1

Hi @matricore @netpoe thanks for reporting this one. I have noticed this pb these days, I think the quick fix on your side is to overrides the config in your dapp side, the following is what linear does to prevent this issue. They use webpack to package the app, I think it helps though just a temporary solution for it.

yes , that's the cause of this issue, sdk exports modules node env needs, so a conflict on web side.

I know that outside the server environment, fs (file system) is not available, hence the error in the browser. But I assume the SwapWidget will not use fs in the client side?
yes this is the cause of the issue, we have decided to fix it in the future, listed in our todos now.

@max-mainnet thanks for the reference. I was able to do it in NextJS 13 with:
module.exports = {
  webpack: (config, { isServer, webpack }) => {
    if (!isServer) {
      config.plugins.push(new webpack.NormalModuleReplacementPlugin(/^fs$/, "../package.json")); // resolve to any file, relative to the node_module directory
    }

    return config;
  },
};

@max-mainnet following the discussion, I've found another issue:
Now that the widget renders successfully, I'm setting the defaultTokenList prop to have only 2 tokens:
return (
    <SwapWidget
      darkMode
      defaultTokenList={[defaultTokenInMetadata, defaultTokenOutMetadata]}
      className={clsx(styles["ref-swap-widget"], className)}
      onSwap={onSwap}
      onDisConnect={onDisConnect}
      width="100%"
      connection={{
        AccountId: accountId || "",
        isSignedIn: !!accountId,
      }}
      transactionState={{
        state: swapState,
        setState: setSwapState,
        tx,
        detail: "(success details show here)",
      }}
      enableSmartRouting
      onConnect={onConnect}
      defaultTokenIn={property.token.address}
      defaultTokenOut={property.contract.id}
    />
  );

Where defaultTokenList={[defaultTokenInMetadata, defaultTokenOutMetadata]} is:
{
    "spec": "ft-1.0.0",
    "name": "Tether USD",
    "symbol": "USDT.e",
    "icon": "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Ccircle cx='16' cy='16' r='16' fill='%2326A17B'/%3E%3Cpath fill='%23FFF' d='M17.922 17.383v-.002c-.11.008-.677.042-1.942.042-1.01 0-1.721-.03-1.971-.042v.003c-3.888-.171-6.79-.848-6.79-1.658 0-.809 2.902-1.486 6.79-1.66v2.644c.254.018.982.061 1.988.061 1.207 0 1.812-.05 1.925-.06v-2.643c3.88.173 6.775.85 6.775 1.658 0 .81-2.895 1.485-6.775 1.657m0-3.59v-2.366h5.414V7.819H8.595v3.608h5.414v2.365c-4.4.202-7.709 1.074-7.709 2.118 0 1.044 3.309 1.915 7.709 2.118v7.582h3.913v-7.584c4.393-.202 7.694-1.073 7.694-2.116 0-1.043-3.301-1.914-7.694-2.117'/%3E%3C/g%3E%3C/svg%3E",
    "reference": null,
    "reference_hash": null,
    "decimals": 6,
    "id": "usdt.fakes.testnet"
}

{
    "spec": "ft-1.0.0",
    "name": "Splitfund.xyz Property 3",
    "symbol": "SF3",
    "reference": null,
    "reference_hash": null,
    "decimals": 6,
    "id": "splitfund-3-d7ce.factory.splitfund.testnet"
}

both valid NEP141 tokens.
However, the widget won't display the latter:

authors: matricore max-mainnet netpoe

repo: ref-finance/ref-sdk


text:
Server side encryption configuration option

Older Refile version, using AWS SDK V1, supported configuring server side encryption via the s3_options per S3 backend / bucket.
https://github.com/refile/refile/blob/bdc1fead72747a18f7120189d860f6368dbdc81e/lib/refile/backend/s3.rb#L37
AWS SDK V2 doesn't support configuring this option on the Aws::S3::Resource object.
https://github.com/refile/refile-s3/blob/master/lib/refile/s3.rb#L40
I think being able to define the encryption per bucket would be a rather essential feature. AWS SDK V2 requires this to be passed as part of the options argument for copy_from, put and presigned_post methods (for example server_side_encryption: 'aes256').
https://github.com/refile/refile-s3/blob/master/lib/refile/s3.rb#L56
https://github.com/refile/refile-s3/blob/master/lib/refile/s3.rb#L58
https://github.com/refile/refile-s3/blob/master/lib/refile/s3.rb#L140
http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Object.html#copy_from-instance_method
http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Object.html#put-instance_method
http://docs.aws.amazon.com/sdkforruby/api/Aws/S3/Object.html#presigned_post-instance_method
IMO these are some of the other "static" options that could be a deal breaker for some, but not relevant to my use case:

storage_class
sse_customer_algorithm
sse_customer_key
sse_customer_key_md5
ssekms_key_id

Here's an example of functioning AES256 encrypted S3 backend initialization under Refile 0.5.4:
aws_st1 = {
  access_key_id: 'aws_access_key_id',
  secret_access_key: 'aws_secret_access_key',
  bucket: 'aws_bucket_name',
  s3_server_side_encryption: :aes256
}

Refile.cache = Refile::Backend::S3.new(prefix: 'cache', **aws)
Refile.store = Refile::Backend::S3.new(prefix: 'store', **aws)

That's pretty annoying. We should probably still accept these options the same way and pass them through to the relevant library calls. A PR for this would be greatly appreciated!

Comments/advice on my approach would be nice before a PR.
Couple of notes:

I didn't get the test suite to pass in it's original state. Tests related to non-existing files raise  Aws::S3::Errors::Forbidden. Might be due to my S3 config or perhaps regression since upgrade to AWS SDK V2?

Bucket#presigned_post does not accept the same options as Object#copy_from and Object#put. Hence the two configuration options. This is bit nasty since eg. server_side_encryption needs to be set twice.

Other approach would have been to collect the parameters individually from @s3_options and pass them to the three methods as per their API. I just felt that it would add an unnecessary layer of abstraction and maintenance burden to refile-s3 while simply delegating the user provided options relieves the library from that responsibility.

I did not yet comment the code as this is just to the direction and get feedback. Will add that if this approach is validated.

And here's a configuration example:
aws = {
  access_key_id: 'aws_access_key_id',
  secret_access_key: 'aws_secret_access_key',
  bucket: 'aws_bucket_name',
  s3_object_operation_options: {
    server_side_encryption: 'aes256'
  },
  s3_presigned_post_options: {
    server_side_encryption: 'aes256'
  }
}

Refile.cache = Refile::Backend::S3.new(prefix: 'cache', **aws)
Refile.store = Refile::Backend::S3.new(prefix: 'store', **aws)

Option
API

s3_object_operation_options
Object#copy_from and Object#put

s3_presigned_post_options
Bucket#presigned_post

PS. After a more through look at #copy_from and #put APIs it's obvious that they differ too, but at least their encryption options are the same, which is not the case with #presigned_post.

I got bit annoyed of my initial implementation and took a second stab at the problem.
This second take allows a flat configuration eg:
aws = {
  access_key_id: 'aws_access_key_id',
  secret_access_key: 'aws_secret_access_key',
  bucket: 'aws_bucket_name',
  server_side_encryption: 'aes256'
}

Refile.cache = Refile::Backend::S3.new(prefix: 'cache', **aws)
Refile.store = Refile::Backend::S3.new(prefix: 'store', **aws)

The downside is that S3_AVAILABLE_OPTIONS must define valid options for S3 operations as per API of each method used from the AWS SDK. Also, current implementation only supports symbols as configuration keys.

authors: jnicklas kaapa


text:
Make table-input more performant

Make table-input more performant as @fregante discovered in fixes #8039.
It will ensure that firefox does not freeze when opening the labels dialog when you have a large number of labels (somewhere between 500 and 2241).

Can you see any difference between this PR and the complete removal of source/features/table-input.css?

Without the CSS file and the import at the top of the TSX file, it just seems to work. (Same disclaimer as in the issue, haven' tested the table input, just the labels)

Yeah what I'm asking if whether this completely fixes the performance issue or if the new selector still slows you dow (even just a bit).
If you say "works like normal" then I can release this as is, probably tomorrow.

Ah, yes this fixes the performance issue and works like normal!

Thanks for looking into this! I was having anxiety flashbacks from earlier this year 😵💫

Hah, same, but now I at least had some time to look into this :)

authors: fregante joostlek

repo: refined-github/refined-github


text:
[BUG] TypeError: cyclic object value, while using access control cerbos.

Describe the bug
The problem occurred when trying to use cerbos as access control. The problem doesn't occur when used cerbos without icon in resource but occurs when we use custom icon for our resources.
Steps To Reproduce

Install any icons library for example @ant-design/icons, or react-icons

Use icon on the resource as
<Refine
// other options
accessControlProvider={{
 can: async ({ action, params, resource }) => {
     const result = await cerbos.checkResource({
         principal: {
             id: "123", // Fake a user ID
             roles: [role],
             policyVersion: "default",
             // this is where user attributes can be passed
             attributes: {},
         },
         resource: {
             kind: resource,
             policyVersion: "default",
             id: params?.id + "" || "new",
             attributes: params,
         },
         // the list of actions on the resource to check authorization for
         actions: [action],
     });
     return Promise.resolve({
         can: result.isAllowed(action) || false,
     });
 },
}}
resources={[
 {
     name: "posts",
     list: PostList,
     icon: <StepBackwardOutlined />,
 }
]}
/>
```

Now run the project and check the console you will get an error as
Uncaught (in promise) TypeError: cyclic object value
    transport index.ts:132
    cerbos client.ts:663
    checkResources client.ts:299
    checkResource client.ts:246
    can App.tsx:103
    M index.tsx:119
    C index.tsx:55
    C index.tsx:55
    C index.tsx:55
    React 14
    batchCalls notifyManager.ts:51
    notifyFn notifyManager.ts:15
    flush notifyManager.ts:63
    flush notifyManager.ts:62
    batchNotifyFn notifyManager.ts:18
    flush notifyManager.ts:61
    promise callback*scheduleMicrotask utils.ts:414
    flush notifyManager.ts:60
    batch notifyManager.ts:29
    dispatch query.ts:577
    setData query.ts:203
    onSuccess query.ts:464
    resolve retryer.ts:103
    promise callback*run retryer.ts:150
    createRetryer retryer.ts:202
    fetch query.ts:450
    executeFetch queryObserver.ts:327
    onSubscribe queryObserver.ts:107
    subscribe subscribable.ts:14
    useBaseQuery useBaseQuery.ts:77

Expected behavior
Cerbos should hit the API to check if the use have access to the resource or not.
Screenshot
No response
Desktop

OS: Ubuntu 22.04
Browser: Firefox
Version: 110.0
Used dataProvider: refine-simple-rest by overriding to meet custom need.
Access control: cerbos

Mobile
No response
Additional Context
No response

Thanks you for the report @dipbazz, quite an interesting bug. We'll check it.

Hey @Mikilll94 ,
We've fixed this issue with @refinedev/core@4.1.4.

If you haven't yet upgraded your project to Refine v4, please follow our migration guide document at https://refine.dev/docs/migration-guide/3x-to-4x/.

Hey @omeraplak, when I use the icons on sidebar menu the icons is displayed but still I get the error message in my console. Am I missing something?
For your reference I have upgraded my refine package to the latest.
 "@refinedev/core": "^4.10.0",

Hey @dipbazz, can you try adding the icon to meta of the resource? Check out the docs https://refine.dev/docs/api-reference/core/components/refine-config/#icon

Hey @aliemir, I have tried that as well but still the same issue.

Sorry for the issue @dipbazz, reopened it. We're investigating the issue, hopefully we'll have a release with a fix in no time.

Waiting for the fix @aliemir.

Hello @dipbazz, we couldn't reproduce the issue, here I created a simple react component and passing it as icon both in the root and meta, didn't get any error.
Could you provide us a minimal reproducible example? Sorry for the inconvenience.

Hey @BatuhanW, I have tried to reproduce the project in code sandbox but couldn't get the error as in my project. I will try to reproduce the issues as soon as I get some time, sorry for my time constraint.

Hello @dipbazz do you still have this issue?

Hey @BatuhanW, yes I have still this issue in my codebase.
Uncaught (in promise) TypeError: cyclic object value
    perform server.ts:96
    transport client.ts:74
    cerbos client.ts:720
    checkResources client.ts:305
    checkResource client.ts:252
    can App.tsx:103
    _ index.tsx:139
    node_modules bundle.js:53550
    node_modules bundle.js:53550
    node_modules bundle.js:53550
    React 13
    performReactRefresh react-refresh-runtime.development.js:304
    performReactRefresh react-refresh-runtime.development.js:293
    node_modules bundle.js:41002
    setTimeout handler*enqueueUpdate RefreshUtils.js:83
    executeRuntime RefreshUtils.js:243
    $ReactRefreshModuleRuntime$ main.232387debf181f288a05.hot-update.js:1568
    tsx main.232387debf181f288a05.hot-update.js:1581
    factory react refresh:6
    Webpack 18
server.ts:96
Uncaught (in promise) TypeError: cyclic object value
    perform server.ts:96
    transport client.ts:74
    cerbos client.ts:720
    checkResources client.ts:305
    checkResource client.ts:252
    can App.tsx:103
    _ index.tsx:139
    node_modules bundle.js:53550
    node_modules bundle.js:53550
    node_modules bundle.js:53550
    React 14
    node_modules bundle.js:560210
    notifyFn notifyManager.ts:15
    node_modules bundle.js:560221
    node_modules bundle.js:560220
    batchNotifyFn notifyManager.ts:18
    node_modules bundle.js:560219
    promise callback*scheduleMicrotask utils.ts:414
    flush notifyManager.ts:60
    batch notifyManager.ts:29
    dispatch query.ts:588
    fetch query.ts:422
    executeFetch queryObserver.ts:327
    fetch queryObserver.ts:311
    refetch queryObserver.ts:283
    node_modules bundle.js:53272
    React 10
server.ts:96

Thanks for the effort @dipbazz! We'll check it soon.

authors: BatuhanW aliemir dipbazz omeraplak

repo: refinedev/refine


text:
[BUG] Queries are not responding to URL parameter changes

Discussed in https://github.com/refinedev/refine/discussions/6318

Originally posted by TomCaserta September 11, 2024
Essentially I'm reading over the multitenancy documentation https://refine.dev/docs/guides-concepts/multi-tenancy/ and I've implemented what it suggests:

Route parameter called :tenantId
My data provider uses the tenantId found in the meta and sends it to my endpoints via a header

The issue seems to be when I replace the tenantId parameter in the URL it doesn't actually reload the data.
After looking at the examples it seems it uses the params and the tenant ID as a filter parameter in the multi tenancy strapi example.
This seems to be different to the suggested approach and of course works in that scenario as the param changing causes the query key to change as the filters are changing. As far as I can tell the meta (combinedMeta) is not taken into consideration in the useList query key creation, is this intentional?:
https://github.com/refinedev/refine/blob/master/packages/core/src/hooks/data/useList.ts#L238
Is there any way to make this work using route parameters and without specifying a filter on every usage of a useList/useOne/useMany hook?
Proposed Fix
When generating query and mutation keys, combinedMeta should be used instead of preferredMeta. This case needs to be done for every data hook to be consistent. A related test case needs to be added.

Hi @aliemir I can work on this. Please assign me

Bu sorunu çözmek için aşağıdaki adımları öneriyorum:
Route Parametrelerini Kullanma: Kullanıcı tenantId parametresini URL'den alıyor ve bu parametre, backend'de meta (combinedMeta) içerisinde yer alıyor. Ancak, meta verisinin useList gibi bir hook'un query key'inde kullanılmadığını fark etmişsin. Burada amacın URL parametresi değiştiğinde otomatik olarak listenin yeniden yüklenmesini sağlamak.
useList için combinedMeta'yı Dikkate Alma: Şu anda useList query key'i, meta içerisinde bulunan combinedMeta'yı dikkate almıyor. Bu durum, tenantId değiştiğinde listenin güncellenmemesine neden oluyor. Burada önerilen çözüm, query key'i oluştururken combinedMeta'yı hesaba katmaktır. Yani, query key oluşturulurken meta içerisindeki diğer bileşenler (örneğin filter) gibi combinedMeta da kullanılmalı.
Meta ve Query Key Düzenlemesi: Önerdiğin gibi combinedMeta her query ve mutation key'inde kullanılmalı. Bu şekilde, tenantId her değiştiğinde useList ve diğer ilgili hook'lar tetiklenerek veri yeniden yüklenir. Bu değişikliği yaparken, ilgili testlerin de güncellenmesi gerektiğine dikkat etmek önemli.
Kod Önerisi:
Şu an preferredMeta kullanılıyor gibi görünüyor. Ancak, bunun yerine combinedMeta kullanılmasını öneriyorum:
const queryKey = ['useList', { combinedMeta, otherParams }];
Bu şekilde query key tenantId değiştiğinde değişir ve sonuçlar yeniden yüklenir.
Test Ekleme: Değişiklik sonrası bir test eklemeyi unutma. TenantId parametresi değiştiğinde listenin yeniden yüklenip yüklenmediğini kontrol etmen önemli. Testte farklı tenantId'lerle deneme yaparak bu davranışın doğru çalıştığından emin olabilirsin.
Bu çözümün, multi-tenancy yapısına uygun bir şekilde tenantId bazlı veri yükleme sorununu çözeceğini düşünüyorum.

Hey @mr-loop-1, I wanted to make sure we check for every usage of the keys in @refinedev/core and use combined meta if wrong version is used. As far as I remember, mutation keys doesn't have any meta so no change will be required in them. 😅 My mistake, sorry for the mislead 🙏

Do we need a separate mockdata file for multi-tenant testing similar to this
https://github.com/refinedev/refine/blob/master/packages/core/test/dataMocks.ts

Do we need a separate mockdata file for multi-tenant testing similar to this https://github.com/refinedev/refine/blob/master/packages/core/test/dataMocks.ts

@mr-loop-1 you can provide custom methods/mocks in the test case if they're going to be used in one place only 🤔

I worked on this today. Isn't this test case related to same, I read in docs that param is both for route and query params.
https://github.com/refinedev/refine/blob/6f4fe529c30e2ce5b97bd6aa913e6b45fc910943/packages/core/src/hooks/data/useList.spec.tsx#L238

The parameter change should also have an effect on the filters, e.g.:
createResource("whatever", {
  meta: {
    hide: true,
    parent: "projects",
    filters: [{ field: "projects.id", operator: "eq", value: ":projectId" }],
  },
}),


text:
fix: onFinish promise is never rejected issue

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://refine.dev/docs/guides-concepts/contributing/#commit-convention

What is the current behavior?
The code has a bug where it fails to  reject a promise if there's an error during a mutation process. This prevents the promise from completing its intended behavior when something goes wrong.
To fix this, we need to ensure that errors during mutation properly trigger the rejection of the promise.
What is the new behavior?
We can By adding the 'reject(error)' inside the 'onError' callbacks, the promise will be rejected with the appropriate error, ensuring that the onFinish promise finishes correctly in case of errors.

fixes # (5667)

Please read our contribution guide, and do not remove checkboxes in the PR description. https://refine.dev/docs/guides-concepts/contributing/
Feel free to re-open your PR once you complete PR requirements.


text:
Localizable

Hello all !
In addition to my PR https://github.com/refinery/refinerycms-i18n/pull/51
I suggest this solution to add localized routes on refinerycms engine.
It will be great if the ActionDispatch::Routing::Mapper::localizable method will be directly added in refinerycms core to avoid duplicate code.
No need to fork route_translator with this solution :)
@parndt @simi

@bricesanchez do you still like this solution?

@parndt i will check this soon but i always need this feature.

authors: bricesanchez parndt

repo: refinery/refinerycms-inquiries


text:
Better Error Message Tuple as Child

Describe the bug
A clear and concise description of what the bug is.
When accidently adding a comma to an item you get a pretty unintuitive error message this ticket serves to provide a better error message
To Reproduce
Steps to reproduce the behavior:

Code/Link to Repo:

def faq_item(question, answer):
    return rx.accordion_item(
        rx.accordion_button(
            rx.heading(question),
            rx.spacer(),
            rx.accordion_icon(),
        ),
        rx.accordion_panel(
            rx.text(
                answer
            )
        ),
    ),

@webpage(path="/faq")
def faq():
    return rx.container(
        rx.vstack(
            rx.box(
                rx.heading("Reflex FAQ", font_size=styles.H1_FONT_SIZE, mt=12, mb=4),
                rx.text(
                    "Frequently asked questions about Reflex.",
                    color=tc["docs"]["body"],
                ),
                rx.divider(),
                rx.accordion(
                    faq_item(
                        "What is Reflex?",
                        "Reflex is a Python library for building interactive web apps with minimal code. Reflex is built on top of Next.js, a React framework, and FastAPI, a Python web framework. Reflex allows you to build interactive web apps with just Python, no JavaScript required.",
                    ),
                    width="100%",
                ),
                text_align="left",
                width="100%",
            ),
            align_items="stretch",
            min_height="80vh",
            margin_bottom="4em",
            padding_y="2em",
        ),
        flex_direction="column",
        max_width="960px",
    )
    ```

    Traceback:

    ```
        return super().create(*children, **props)
  File "/Users/alekpetuskey/Desktop/Open Source/pynecone/reflex/components/component.py", line 391, in create
    children = [
  File "/Users/alekpetuskey/Desktop/Open Source/pynecone/reflex/components/component.py", line 394, in <listcomp>
    else Bare.create(contents=Var.create(child, is_string=True))
  File "/Users/alekpetuskey/Desktop/Open Source/pynecone/reflex/vars.py", line 111, in create
    raise TypeError(
TypeError: To create a Var must be Var or JSON-serializable. Got ({"name": "AccordionItem", "props": [], "contents": "", "args": null, "special_props": [], "children": [{"name": "AccordionButton", "props": [], "contents": "", "args": null, "special_props": [], "children": [{"name": "Heading", "props": [], "contents": "", "args": null, "special_props": [], "children": [{"name": "", "props": [], "contents": "{`What is Reflex?`}", "args": null, "special_props": [], "children": [], "autofocus": false}], "autofocus": false}, {"name": "Spacer", "props": [], "contents": "", "args": null, "special_props": [], "children": [], "autofocus": false}, {"name": "AccordionIcon", "props": [], "contents": "", "args": null, "special_props": [], "children": [], "autofocus": false}], "autofocus": false}, {"name": "AccordionPanel", "props": [], "contents": "", "args": null, "special_props": [], "children": [{"name": "Text", "props": [], "contents": "", "args": null, "special_props": [], "children": [{"name": "", "props": [], "contents": "{`Reflex is a Python library for building interactive web apps with minimal code. Reflex is built on top of Next.js, a React framework, and FastAPI, a Python web framework. Reflex allows you to build interactive web apps with just Python, no JavaScript required.`}", "args": null, "special_props": [], "children": [], "autofocus": false}], "autofocus": false}], "autofocus": false}], "autofocus": false},) of type <class 'tuple'>.

Expected behavior
A clear and concise description of what you expected to happen.
Error message like improper child passed into component...

Tuples are now unpacked in #2985

repo: reflex-dev/reflex


text:
Data table pagination limit

This a duplicate of #476,  we currently dont support pagination limits which means the code below doesnt work:
import reflex as rx
from typing import List

class State(rx.State):
    data: List = [
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
        ["Lionel", "Messi", "PSG"],
        ["Christiano", "Ronaldo", "Al-Nasir"],
    ]
    columns: List[str] = ["First Name", "Last Name"]

def index():
    return rx.center(
        rx.vstack(
            rx.data_table(
                data=State.data,
                columns=State.columns,
                pagination={
                    "limit": 3
                },
            ),
            width = ["100%", "100%", "75%", "50%", "50%"],
        ),

    )

app = rx.App()
app.add_page(index)
app.compile()

Issue is the pagination prop type takes in a boolean Var. We should support a Dict as well
https://github.com/reflex-dev/reflex/blob/510b71e6446d9fb818985ec6ac88fba2bc46f21e/reflex/components/datadisplay/datatable.py#L41

@ElijahAhianyo Please assign this issue to me.

authors: ElijahAhianyo wassafshahzad


text:
Update scio-core, scio-test to 0.12.8

About this PR
📦 Updates

com.spotify:scio-core
com.spotify:scio-test

from 0.10.4 to 0.12.8
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.spotify" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.spotify" }
}]

labels: library-update, early-semver-major, semver-spec-minor, commit-count:1

Superseded by #272.

repo: regadas/scio-cats


text:
#14 - support docker [options] command

closes #14

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@57d0c1a). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             master    #17   +/-   ##
=======================================
  Coverage          ?   100%
=======================================
  Files             ?      2
  Lines             ?      4
  Branches          ?      1
=======================================
  Hits              ?      4
  Misses            ?      0
  Partials          ?      0

Impacted Files
Coverage Δ

...scala/com/github/ray/sbt/docker/DockerPlugin.scala
100% <ø> (ø)

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 57d0c1a...568bcd1. Read the comment docs.

authors: codecov-io regis-leray

repo: regis-leray/sbt-docker


text:
🛑 BINUSMAYA (Academic Services) is down

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

HTTP code: 404
Response time: 879 ms

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


text:
🛑 GreatNusa.com is down

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

HTTP code: 403
Response time: 154 ms

Resolved: GreatNusa.com is back up in 81b0f57.


text:
🛑 BINUSMAYA (Academic Services) is down

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

HTTP code: 404
Response time: 928 ms

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


text:
Extract vanilla-extract module filename

Problem
vanila-extract  produces modules with very long names (virtual module loader + inlined filename and source):
./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[19].use[1]!./node_modules/@vanilla-extract/webpack-plugin/virtualFileLoader/dist/vanilla-extract-webpack-plugin-virtualFileLoader.cjs.js?{"fileName":"../../packages/ui/build/components/layout/flex/flex.css.js.vanilla.css","source":"...."}!./node_modules/@vanilla-extract/webpack-plugin/extracted.js

Solution
Extract the source filename from the reported module file name. Handle the transformation at the filter level to avoid passing the module source or storring unnecessary large stats files.

Added docs on how to exclude virtual modules:

webpack-plugin options: https://github.com/relative-ci/bundle-stats/tree/master/packages/webpack-plugin#how-to-exclude-virtual-modules
output stats JSON file: https://relative-ci.com/documentation/guides/bundle-stats/webpack-cli-webpack-stats/#exclude-virtual-modules

repo: relative-ci/bundle-stats


text:
Incorrect TANX times in SLC metadata results in incorrect bursts processed

The code here https://github.com/relativeorbit/hyp3-isce2/blob/944794013abe607be8e8689293f55f1864443282/src/hyp3_isce2/burst.py#L452-L460
Assumes that the S1 Burst Database the time elapsed from ascending node crossing (TANX) closely matches TANX per burst in the S1 SAFE xml annotation file. Each burst in a subswath has ~3s of separation, so we assume these metadata values are precise to ~1s to correctly identify a burst. This issue is documented extensively here https://github.com/isce-framework/s1-reader/issues/117
(The chosen solution in s1-reader was instead of reading tanx in the xml metata, the correct tanx per burst is computed from precise orbit files)
A misidentification case:
python -m hyp3_isce2 ++process insar_tops_fufiters \
    S1A_IW_SLC__1SDV_20200112T114125_20200112T114152_030767_038742_F6E2  \
    S1A_IW_SLC__1SDV_20200124T114124_20200124T114151_030942_038D66_CCA0  \
    --burstId 070_148383_IW1 \
    --polarization VV \
    --looks 5x1 \
    --apply-water-mask False \
    --offsets False

S1_reader is a pretty heavy dependency since it requires full SLCs and requires isce3 since it is setting up opera burst processing.
If I understand correctly, the code figures out the correct ascending node time from either SLC metadata (based on estimated orbit) or external more precise orbit files https://github.com/isce-framework/s1-reader/blob/bb585c77ee538324212085f4737f3d2d534ac998/src/s1reader/s1_reader.py#L549 . Then computes ESA burstID based on a formula with burst sensingTimes (https://github.com/isce-framework/s1-reader/blob/bb585c77ee538324212085f4737f3d2d534ac998/src/s1reader/s1_burst_id.py#L19)
For this project, the approach is different, matching the ESA database TANX with closest burst TANX in the SLC metadata. Turns out sometimes the TANX per burst in the SLC metadata is relative to the last orbit, so an easy fix is to adjust by the orbital period for that case:
        <azimuthTime>2024-01-15T11:41:50.791766</azimuthTime>
        <azimuthAnxTime>6.389039610552900e+03</azimuthAnxTime>
        <sensingTime>2024-01-15T11:41:51.898668</sensingTime>
        <byteOffset>129383331</byteOffset>
        <burstId absolute="111941577">148376</burstId>

T_ORBIT = (12 * 86400.0) / 175.0 = 5924s
Note 6389s > T_ORBIT
fixed by https://github.com/relativeorbit/hyp3-isce2/pull/1
Leaving this issue open though for awareness because there might be other mis-matched bursts with our current approach...

repo: relativeorbit/fufiters


text:
Need URLs differentiated by language

If a bibitem has two URLs, that are differentiated by language, add "language" as an attribute to them alongside "type", so that I can select as appropriate. This is the same behaviour already implemented for bibitem titles.
Needed for https://github.com/metanorma/bipm-si-brochure/issues/192

Languages are added to the URLs
https://github.com/relaton/relaton-data-bipm/blob/6267fb5b243853114459f3578dfec5ca9058e58f/data/cctf/meeting/5.yaml#L19-L23

The good news is that you've implemented this. The bad news is... I'm not at all convinced you've got the right URLs in there:
  <uri type="src">https://www.bipm.org/en/committees/ci/cipm/42-1948</uri>
  <uri type="pdf">https://www.bipm.org/documents/20126/59880031/CIPM1948.pdf/d48b0007-6e43-bc7f-f80a-2489784c1471</uri>
  <uri type="src" language="en" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-en/meeting-42.yml</uri>
  <uri type="src" language="fr" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-fr/meeting-42.yml</uri>

What is required is an alternation between https://www.bipm.org/en/committees/ci/cipm/42-1948 and https://www.bipm.org/fr/committees/ci/cipm/42-1948 . The two provided links to https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-en/meeting-42.yml and https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-fr/meeting-42.yml cannot be inserted into the brochure as links.
The expectation in Metanorma is that any URI to be used to link from a bibliographic citation. So I expect to see:
  <uri type="citation" lang="en">https://www.bipm.org/en/committees/ci/cipm/42-1948</uri>
  <uri type="citation" lang="fr">https://www.bipm.org/fr/committees/ci/cipm/42-1948</uri>
  <uri type="pdf">https://www.bipm.org/documents/20126/59880031/CIPM1948.pdf/d48b0007-6e43-bc7f-f80a-2489784c1471</uri>
  <uri type="src" language="en" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-en/meeting-42.yml</uri>
  <uri type="src" language="fr" script="Latn">https://raw.githubusercontent.com/metanorma/bipm-data-outcomes/main/cipm/meetings-fr/meeting-42.yml</uri>

@opoudjis is correct here, we need the correct URIs for the original pages at bipm.org:
This is the English page:
https://github.com/relaton/relaton-data-bipm/blob/6267fb5b243853114459f3578dfec5ca9058e58f/data/cctf/meeting/5.yaml#L17-L18
The corresponding French link is missing (they are available at bipm-data-outcomes).

@andrew2net the implementation here is incomplete, we also need the "other" URL to be in French:
https://github.com/relaton/relaton-data-bipm/blob/6267fb5b243853114459f3578dfec5ca9058e58f/data/cctf/meeting/5.yaml#L17-L18

fixed in v 1.13.11 https://github.com/relaton/relaton-data-bipm/blob/e0a4b88fb376b4ab8f93b7dd2c640fee6fbf00c1/data/cctf/meeting/5.yaml#L17-L24

Note that in
https://github.com/relaton/relaton-data-bipm/blob/e0a4b88fb376b4ab8f93b7dd2c640fee6fbf00c1/data/cctf/meeting/5.yaml#L17-L24
- content: https://www.bipm.org/en/committees/cc/cctf/5-1970
  type: citation
  language: en
  script: Latn
- content: https://www.bipm.org/en/committees/cc/cctf/5-1970
  type: citation
  language: fr
  script: Latn

the second link is meant to be https://www.bipm.org/en/committees/cc/cctf/5-1970 !! Please double check.

@opoudjis it seems the source has the wrong link https://github.com/metanorma/bipm-data-outcomes/blob/55bba1f2de0e4fce665dcd3cfc341db5ca879f38/cctf/meetings-fr/meeting-5.yml#L7
Do you want me to solve the issue using a hardcode?

@andrew2net we need to fix the data.

fixed https://github.com/relaton/relaton-data-bipm/blob/a136990076c8f8fcaa3c62a0286deb21e48f5f5c/data/cctf/meeting/5.yaml#L21

authors: andrew2net opoudjis ronaldtse

repo: relaton/relaton-bipm


text:
Update Cloudformation template to use latest ECS optimized AMI

The old one stopped being able to be found by aws ec2 describe-images in bin/bootstrap

Thanks! :+1:

There were also some important fixes around yum and security packages so always a good practice :wink:

authors: ejholmes jjbohn rgabo