Sean Proctor
10/12/2022, 7:46 AMPablichjenkov
10/12/2022, 10:26 AMMarc Plano-Lesay
10/18/2022, 12:25 AMDocumentData
doesn't seem to make it happy at all.jessewilson
10/18/2022, 3:54 AMMarc Plano-Lesay
10/18/2022, 3:59 AMMarc Plano-Lesay
10/18/2022, 4:02 AMFontFace={ul}{n}{*-Thin},
FontFace={ul}{it}{*-ThinItalic},
FontFace={xl}{n}{*-ExtraLight},
Not every font has every weight (thin, extra light...) or shape (regular/italic) combination, so I'd like to do something like this:
{{#hasThin}}FontFace={ul}{n}{*-Thin},{{/hasThin}}
{{#hasThinItalic}}FontFace={ul}{it}{*-ThinItalic},{{/hasThinItalic}}
{{#hasExtraLight}}FontFace={xl}{n}{*-ExtraLight},{{/hasExtraLight}}
Andrew Alexander
10/18/2022, 8:17 PMPatrik Åkerfeldt
10/19/2022, 7:12 AMTheOnlyTails
10/19/2022, 4:06 PMaddSuperclassConstructorParameter
doesn't seem to do anythingdoubov
10/20/2022, 6:28 PMafterEvaluate {
tasks.withType<VerifyMigrationTask>().configureEach {
doFirst {
TokenizingDriver(this.project).replaceJDBCDriver()
}
}
}
This works fine pre-2.0.0, but now it throws the following exception:
> There was a failure while executing work items
> A failure occurred while executing app.cash.sqldelight.gradle.VerifyMigrationTask$VerifyMigrationAction
> Error compiling Error compiling CREATE VIRTUAL TABLE SearchText USING fts5(
term,
type UNINDEXED,
sourceUid UNINDEXED,
referredItemUid UNINDEXED,
prefix = '2 3 4 5 6 7 8 9 10',
tokenize = 'unicode61_synonym'
)
Adding a logger to DriverManager
provides us with the following Stacktrace:
org.sqlite.SQLiteException: [SQLITE_ERROR] SQL error or missing database (no such tokenizer: unicode61_synonym)
at org.sqlite.core.DB.newSQLException(DB.java:1135)
at org.sqlite.core.DB.newSQLException(DB.java:1146)
at org.sqlite.core.DB.execute(DB.java:944)
at org.sqlite.jdbc3.JDBC3PreparedStatement.lambda$execute$0(JDBC3PreparedStatement.java:56)
at org.sqlite.jdbc3.JDBC3Statement.withConnectionTimeout(JDBC3Statement.java:429)
at org.sqlite.jdbc3.JDBC3PreparedStatement.execute(JDBC3PreparedStatement.java:51)
at app.cash.sqlite.migrations.CatalogDatabase$Companion.init(CatalogDatabase.kt:52)
at app.cash.sqlite.migrations.CatalogDatabase$Companion.fromFile(CatalogDatabase.kt:36)
at app.cash.sqlite.migrations.CatalogDatabase$Companion.withInitStatements(CatalogDatabase.kt:32)
at app.cash.sqldelight.gradle.VerifyMigrationTask$VerifyMigrationAction.createCurrentDb(VerifyMigrationTask.kt:146)
at app.cash.sqldelight.gradle.VerifyMigrationTask$VerifyMigrationAction.execute(VerifyMigrationTask.kt:119)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
Zach
10/25/2022, 6:17 PMLazyColumn
without just setting the ScreenHeight
to some arbitrarily large number? I have attempted to use V_SCROLL
and FULL_EXPAND
and neither seem to change anything. Additionally, the list it is rendering is immutable.Aditya Kurkure
10/26/2022, 5:33 AMzipline.take
and would cache that till the next call to zipline.take
. Does the client poll the zipline server? (or some other way the server pushes data to the client like in grpc). Is there a way to ensure that even if the file is changed we don't make changes on the client side if the client is in the middle of a flow using zipline? Consider that the user is in the middle of a payment flow and we make changes to the js file it could it not lead to some unexpected behaviour?KamilH
10/26/2022, 3:02 PMWHERE (season = :season OR :season IS NULL)
Is it possible to achieve the same for collection of “ids” (with IN
operator)? The following code doesn’t work, because it generates expected type as Collection<Season?>
instead of Collection<Season>?
and generally it’s not handled properly
WHERE (season IN :season OR :season IS NULL)
To overcome this issue I use the following statement:
WHERE CASE WHEN :seasonIsEmpty THEN TRUE ELSE season IN :season END
and it works great. However it forces me to introduce additional variable (seasonIsEmpty
) which seems not optimal.
I would expect that at least the following code should work:
WHERE CASE WHEN :season IS NULL THEN TRUE ELSE season IN :season END
but it also generates Collection<Season?>
instead of Collection<Season>?
Is there a way to simplify this statement?jannis
10/28/2022, 3:10 PMsample
:
• ./gradlew sample:verifyPaparazziDebug
would invoke the paparazzi tests as well as the other JUnit Tests. But I'd have to list all my modules in the project individually.
• ./gradlew sample:testDebug
(or something like ./gradlew testDebugUnitTest
for the whole project) would run all the paparazzi tests as well as the other JUnit Tests, but it would not check if anything has changed (hence not fail).
Is there any way to separate those two test groups? Does this even make sense? Or can I run everything (including the verification) in an easy way?saket
10/28/2022, 3:17 PMcheck
taskJavier
10/28/2022, 3:20 PM./gradlew verifyPaparazziDebug
will run that task in all projectsJavier
10/28/2022, 3:21 PM./gradlew verifyPaparazziDebug testDebug
too, if you want only to run tests. If you want to run all checks, then ./gradlew check
jannis
10/28/2022, 3:26 PMcheck
might also run different stuff (like linting), correct?
I think I've tried verifyPaparazziDebug
but it did nothing, since I didn't change anything in the source code 🙄 So I guess it was just cached.jannis
10/28/2022, 3:26 PMRuben Quadros
10/31/2022, 9:26 AMPatrik Åkerfeldt
10/31/2022, 9:43 AMcompileKotlin
. However, this means that after first compilation of the project there aren't any compiled classes for the generated sources. I have a circular dependency where I can't run source code generation until classes are compiled but I also want the compile phase to include the generated sources.
How to best deal with this? To me it would make sense if I could first compile specified classes needed to run the code generation, then run source code generation and lastly run the "regular" compileKotlin
.Aaron Todd
10/31/2022, 4:10 PMjw
10/31/2022, 4:12 PMAaron Todd
10/31/2022, 4:12 PMjw
10/31/2022, 4:18 PMyschimke
10/31/2022, 4:31 PMDorit Rein
10/31/2022, 9:01 PMe: java.lang.NoSuchMethodError: 'org.jetbrains.kotlin.ir.declarations.IrModuleFragment org.jetbrains.kotlin.ir.declarations.IrModuleFragment.transform(org.jetbrains.kotlin.ir.visitors.IrElementTransformer, java.lang.Object)'
at com.squareup.anvil.compiler.ModuleMergerIr.generate(ModuleMergerIr.kt:41)
at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr$lambda-1(JvmIrCodegenFactory.kt:121)
at org.jetbrains.kotlin.psi2ir.Psi2IrTranslator.generateModuleFragment(Psi2IrTranslator.kt:88)
at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr(JvmIrCodegenFactory.kt:146)
at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.convertToIr$default(JvmIrCodegenFactory.kt:64)
at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.generateModule(JvmIrCodegenFactory.kt:59)
at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.compileCorrectFiles(KotlinCodegenFacade.java:35)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.generate(KotlinToJVMBytecodeCompiler.kt:331)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:123)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:58)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:170)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:92)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:44)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:98)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1618)
at jdk.internal.reflect.GeneratedMethodAccessor108.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)
this only happens sporadically on some gradle targets. Running Kotlin 1.7.20, Anvil 2.4.2, dagger - 2.38.1. Double checked that if I remove the anvil plugin from the target, it'll compile just fine.ralf
10/31/2022, 9:56 PMAaron Todd
11/01/2022, 1:33 PM<http://Dispatchers.IO|Dispatchers.IO>
at the appropriate level to do your blocking read/write will be the most efficient. When we benchmarked using suspend
for low level JSON tokenization in the AWS SDK for Kotlin we found this to hold true. suspend
at too low a level (inner loops, small byte reads, etc) causes significant performance degradation.
My question then is what about JS (node) support? The recommendation to block a thread is fine for JVM/Native, what would the equivalent be for JS?jw
11/01/2022, 1:38 PM