Commit Graph

21 Commits

Author SHA1 Message Date
Vitor Pamplona
4c633c7dec Merge branch 'main' of https://github.com/vitorpamplona/amethyst 2025-10-18 08:44:21 -04:00
davotoula
5d6e7d1921 change from runBlocking to runTest where appropriate 2025-10-15 21:00:00 +02:00
Vitor Pamplona
0668f2caa4 Updates Compose, Firebase, GMS, JNA, mock, okhttp, secp256, spotless, vico, zoomable, androidXCamera 2025-10-14 14:38:28 -04:00
Vitor Pamplona
0a23e23801 Moves quartz to Java 21 due to binary inconsistencies between the multiple builds of KMP (tests conflicting with main) 2025-10-10 10:49:35 -04:00
Vitor Pamplona
bb1d805080 Removes the need to use kotlinx.datetime on quartz 2025-09-29 18:06:58 -04:00
Vitor Pamplona
ce81157dad Adds a maven publishing to ship quartz 2025-09-23 15:16:26 -04:00
Vitor Pamplona
fadd9c1940 Creates a shared JVM-test module and moves the jackson inlining tests there 2025-09-23 13:45:48 -04:00
Vitor Pamplona
7a280a3cde - Migrates Quartz from Android to CommonMain
- Fully converts OpenTimestamp Java codebase to Kotlin, migrating the sync and async HTTP call interfaces to OkHttp and coroutines
- Redesigns parsing of relay commands, messages and filters for performance in Jackson.
- Starts the use of KotlinX Serialization when speed is not a requirement
- Migrates all Jackson field annotations to Kotlin Serialization
- Migrates Regex use in Quarts to Kotlin's Regex class
- Migrates Base64 from Android to Kotlin
- Migrates UUID from Android/Java to Kotlin
- Migrates LRUCache usage from Android/Java to Kotlin collections
- Migrates all String to bytearray conversions to Kotlin methods
- Migrates all System.arraycopy calls to kotlin native ones.
- Separates parsing code from the data classes Companion objects
- Exposes Rfc3986 normalizations to each platform.
- Exposes URI parsing classes to each platform.
- Exposes URL Encoders to each platform.
- Exposes BigDecimal to each platform.
- Exposes the Url Detector to each platform.
- Exposes MacInstances to each platform
- Exposes Diggest instances to each platform.
- Exposes a BitSet to each platform.
- Exposes GZip to each platform.
- Exposes Secp256k1 to each platform.
- Exposes SecureRandom to each platform.
- Exposes Time in seconds to each platform.
- Exposes the LargeCache to each platform.
- Exposes AES CBC and AES GCM encryption/decryption to each platform
- Migrate test assertions to Kotlin Tests
- Exposes Address class to each platform because of the Parceleable
- Creates our own ByteArrayOutputStream.
- Removes Lock features inside the Bloomfilters because we don't need data consistency/
- Migrates UserMetadata parser from Jackson to Kotlin serialization
- Removes the need for Static methods in each tag.
- Adds an event template serializer
- Adds KotlinX Datetime to migrate some of the date-based logs
- Adds support for LibSodium in the JVM platform
- Creates a shared test build for iOS targets
- Fixes several usages of Reflection when serializing classes
- Fixes a bug on loading RelayDB for the HintBloom filter test
- Increases the Bloom filter space to better use hints in the app.
- Removes support for iOS in x86
- Creates a Jackson mapper just for NIP-55, which stays in the Android build only.
- Keeps the event store in the android build as well.
- Removes @Syncronized tags in favor of Mutexes.
- Improved sendAndWaitForResponse NostrClient method to properly account for returns from each relay.
- Removes the need for GlobalScope and async calls in the downloadFirstEvent method.
- Restructures the parser and serialization of the relay messages and commands for performance with Jackson
- Removes the dependency on Jackson's error classes across the codebase.
- Moves the hint to quote tag extension methods to their own packages.
- Speeds up the generation of Bech32 addresses
- Migrates NIP-6 and Blossom uploads to use Kotlin Serialization
2025-09-22 19:44:51 -04:00
davotoula
32d2ee698a fix for missing lazysodium 2025-09-06 15:53:11 +02:00
davotoula
8aaea960f0 Set quartz JVM target to 1.8 to allow for lower requirements for building library 2025-09-06 15:34:06 +02:00
davotoula
ab9ee36263 Setting JvmTarget to 21 for quartz to fix build/push issue due to mixed Java versions when using Java 23 locally 2025-09-05 20:01:49 +02:00
Vitor Pamplona
7048a1da50 Fixes invalid dependency on Quartz 2025-09-02 15:30:57 -04:00
KotlinGeekDev
822edf1273 Re-enable publish in androidTarget KMP section, as it works in conjunction with the Android publish block. 2025-09-01 16:47:56 +01:00
KotlinGeekDev
2f2919090e Disable publishing in androidTarget KMP configuration. Re-enable in Android block, and use updated syntax. 2025-09-01 16:40:36 +01:00
KotlinGeekDev
edf5b28e06 Verifying some changes. 2025-09-01 16:26:57 +01:00
KotlinGeekDev
cf13d24c93 Revert to using androidLibrary plugin until KMP publishing guidance is updated. Use default sourcesets for Android. 2025-09-01 15:22:53 +01:00
davotoula
dbcca9cbd2 Use JvmTarget JVM_1_8 for quartz to be more forgiving about requirements. 2025-08-28 22:48:18 +01:00
davotoula
ef250eb0f1 Consistent JvmTarget JVM_21 across all modules 2025-08-28 22:17:44 +01:00
Vitor Pamplona
5f33fb2cea removes unnecessary native lib 2025-08-27 21:09:42 -04:00
Vitor Pamplona
494d7edc1f Testing proguard rules on KMP quartz 2025-08-27 18:32:33 -04:00
Vitor Pamplona
442f75fc41 - Migrates Quartz to a KMP project
- Converts OpenTimestamps from java to Kotlin
- Moves OTS OkHttp setup to Quartz
2025-08-27 17:32:39 -04:00