Commit Graph

185 Commits

Author SHA1 Message Date
Vitor Pamplona 5e2a4b2cef - Migrates Gallery to not play videos and simply display a tumbnail when it is a video
- Fixes incorrect aspect ratios of the AutoNonLazyGrid when multiple images exist for a single entry
- Adds Play buttons when the image fails to load so that people click and the post appears.
2026-02-23 19:28:53 -05:00
Vitor Pamplona 7bd4698073 Updates Tor 2026-02-17 19:28:53 -05:00
Vitor Pamplona 862ce9e2c2 Move to AGP 9.0.1 2026-02-17 19:01:25 -05:00
Vitor Pamplona c4e3d99392 moves chess lib to version catalog 2026-02-17 18:45:35 -05:00
Vitor Pamplona e84e748959 updating libraries 2026-02-12 15:13:07 -05:00
Vitor Pamplona eb66182211 - Updates several libraries
- Reformats code to the newest Klint
- Fixes isEmpty bug on Filters
2026-02-09 14:06:07 -05:00
Vitor Pamplona 6125394354 Migrates to AGP 9 2026-02-08 16:33:39 -05:00
nrobi144 71e68dc35b refactor(commons): migrate from Moko to Compose Multiplatform Resources
Remove Moko Resources dependency that blocks AGP 9.0 migration.
Migrate to built-in Compose Multiplatform Resources which is compatible
with the new KMP Android plugin.

- Remove moko-resources plugin and libraries from commons module
- Move strings.xml from moko-resources/ to composeResources/values/
- Update imports from SharedRes.strings.* to Res.string.*
- Add compose.components.resources dependency to desktopApp
- Configure resource package as com.vitorpamplona.amethyst.commons.resources

Closes #1675

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 13:29:55 +02:00
Vitor Pamplona be7865d458 updates keyring and vico 2026-01-13 17:13:03 -05:00
davotoula bfd0fc01b9 add TarsosDSP dependency for voice anonymization 2026-01-12 23:03:51 +01:00
Vitor Pamplona 41cb143e0d Merge branch 'main' into nrobi144/desktop-phase1 2026-01-07 09:23:57 -05:00
nrobi144 a9141763e1 previous PR fixes 2026-01-07 07:12:00 +02:00
nrobi144 4339247815 key storage 2026-01-06 06:49:59 +02:00
Vitor Pamplona 2fc7e505a3 Update stability analiser 2026-01-05 09:36:46 -05:00
Vitor Pamplona fdc751f9e5 Updates Vico 2026-01-04 16:38:06 -05:00
Vitor Pamplona 31d7e135cb Updates kotlin, compose, multiplatform, activity, serialization, media3, mockk, secp256, tor, androidxCamera, stdlib 2025-12-29 14:23:48 -05:00
nrobi144 82f8bc62a0 feat: Add Compose Multiplatform Desktop support foundation
- Add desktopApp module with JVM entry point and sidebar navigation
- Add Claude specs for AI-assisted development:
  - Agent definitions: nostr-protocol, kotlin-multiplatform, compose-ui, kotlin-coroutines
  - Skills: quartz-kmp conversion, compose-desktop patterns
  - Commands: desktop-run, nip, extract
- Update Gradle configuration with Compose Multiplatform 1.7.1 plugin
- Add coroutines and secp256k1 JVM dependencies to version catalog

Next steps:
- Convert Quartz library to full KMP (expect/actual for crypto)
- Implement relay connections in desktop app
- Share UI components between Android and Desktop

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 08:21:02 +02:00
Vitor Pamplona 5c01aaf996 Upgrades AGP 2025-12-12 13:25:29 -05:00
Vitor Pamplona 15ee49282d Adds the stability plugin to allow traces in debug 2025-12-09 11:01:03 -05:00
Vitor Pamplona 0abc631773 - Removes compose bom from Quartz to avoid unnecessary dependencies.
- Removes old datetime dependencies from Quartz
- Moves compose.runtime dependencies to compose.runtime.annotation
- Adds dependency on coroutines directly (instead of through compose runtime)
- Removes old secp256 target dependencies
- Adds Default scope for NostrClient and Relay Authenticator
- Updates readme
2025-12-04 14:41:33 -05:00
Vitor Pamplona 67eb47adb1 Updates Tor, Compose, Activity 2025-12-03 15:23:47 -05:00
Vitor Pamplona 50f91e8b91 Updates dependencies 2025-11-21 16:37:56 -05:00
Vitor Pamplona b80f24b587 Upgrades dependencies 2025-11-13 08:42:07 -05:00
Vitor Pamplona b8cce80d9f Updates all libs 2025-11-04 19:41:05 -05:00
Vitor Pamplona a157c60697 update compose 2025-10-24 14:59:06 -04:00
Vitor Pamplona d51d1f4453 Updates OkHttp, Tor and Spotless back 2025-10-21 08:38:53 -04:00
davotoula 38d5527b91 revert spotless plugin (need to find a solution for @Composable function names)
Remove unused imports
2025-10-21 12:47:42 +01: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 b1d3aa968d Merge branch 'main' into bugfix-dont-render-gallery-for-mixed-images-and-videos 2025-10-14 09:48:58 -04:00
davotoula 133c897731 Added junit and mockK for androidTest UI dependencies
Added failing androidTest for mixed image/video parsing
2025-10-13 18:38:14 +02:00
davotoula 13402fa5d4 Use lightcompressor-enhanced 1.6.0 release 2025-10-13 09:25:11 +02:00
davotoula 2a3c31cc5b Use latest LightCompressor-enhanced:
Fix for Progressive download
Replaced obsolete MP4 parser libraries with native MediaMuxer/MediaCodec
2025-10-12 21:13:12 +02:00
Vitor Pamplona 93f33cca70 Merge branch 'main' of https://github.com/vitorpamplona/amethyst
# Conflicts:
#	gradle/libs.versions.toml
#	quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip01Core/relay/client/accessories/NostrClientSendAndWaitExt.kt
2025-10-03 16:46:03 -04:00
davotoula 7c41da0c4c Update lightcompressor to release 1.5.0 2025-10-01 16:57:21 +02:00
davotoula a6e306f3de Update to use lightcompressor library version that supports h265
Add h265 toggle to NewMediaView.kt and ImageVideoDescription.kt
Touch many files to add optional h265 boolean (default is false)
2025-09-30 22:02:18 +02:00
davotoula 4c3eaf972c move to LightCompressor-enhanced fork
corrected image vs video compressor library names
2025-09-25 22:01:25 +02:00
Vitor Pamplona f31292a201 Updates compose, navigation, windowCore and tests 2025-09-25 12:59:24 -04:00
Vitor Pamplona 1f6135d45d Updates markdown parser to the latest 2025-09-25 12:53:45 -04:00
Vitor Pamplona ce81157dad Adds a maven publishing to ship quartz 2025-09-23 15:16:26 -04:00
Vitor Pamplona f9204d37f2 Updates vico charts 2025-09-23 12:36:12 -04:00
Vitor Pamplona d3f1db4367 Updates std lib 2025-09-23 12:34:02 -04:00
Vitor Pamplona 9851c4b6be Updates firebase and lifecycleRuntime 2025-09-23 11:32: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
Vitor Pamplona a96ab764b3 Updates all dependencies 2025-09-17 09:08:49 -04:00
davotoula 1f1a7eb12c update secp256k1KmpJniAndroid to 0.19.0 2025-09-07 17:59:08 +02:00
Vitor Pamplona 8131f3db39 Update AGP 2025-09-03 16:57:38 -04:00
Vitor Pamplona b8c39ca5b2 Updating firebase 2025-08-31 12:23:32 -04:00
davotoula 8c26af7d40 upgrade agp to 8.12.2 2025-08-28 22:17:44 +01:00
Vitor Pamplona c298147ad9 updates google services json 2025-08-28 11:18:01 -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