Vitor Pamplona
009b5655f9
Merge branch 'main' into claude/add-negentropy-support-PcTpR
2026-03-27 08:15:24 -04:00
Vitor Pamplona
75a8e461ad
20x Faster Rfc3986Normalizer and way less objects being created.
2026-03-26 19:04:18 -04:00
Claude
70baf55e1c
feat: add NIP-77 negentropy sync support
...
Add support for NIP-77 (Negentropy Syncing) protocol messages using
the negentropy-kmp library for efficient set reconciliation between
client and relay.
New files:
- NegOpenCmd, NegMsgCmd, NegCloseCmd: Client-to-relay commands
- NegMsgMessage, NegErrMessage: Relay-to-client messages
- NegentropySession: Client-side reconciliation orchestrator
- NegentropyServerSession: Server-side reconciliation handler
- NegentropyManager: High-level sync manager with listener callbacks
Updated serializers:
- Jackson MessageSerializer/Deserializer for NEG-MSG, NEG-ERR
- Jackson CommandSerializer/Deserializer for NEG-OPEN, NEG-MSG, NEG-CLOSE
- Kotlin MessageKSerializer/CommandKSerializer for all NIP-77 types
Compatible with strfry relay's negentropy implementation via the
negentropy-kmp library which implements the same Protocol V1 spec.
https://claude.ai/code/session_01Dc6W1G1jURAAR9kzyVvk6g
2026-03-26 04:23:32 +00:00
Vitor Pamplona
d84d146981
Merge branch 'main' into claude/remove-libsodium-dependency-DjtWa
2026-03-25 11:24:55 -04:00
Vitor Pamplona
5d0f9ac866
Cleaning up residue from removing the need for rfc 3986 and smpForKmp
2026-03-24 17:41:20 -04:00
KotlinGeekDev
cfecfe2130
Move uri-reference-kmp to version catalog. Remove swift bridge(was a nice run).
2026-03-23 19:49:24 +01:00
Claude
d586a0dc25
feat: replace libsodium with pure Kotlin ChaCha20/Poly1305 implementation
...
Remove LazySodium/JNA/libsodium native dependencies and replace with
pure Kotlin implementations of ChaCha20, HChaCha20, XChaCha20,
Poly1305 MAC, and XChaCha20-Poly1305 AEAD. This eliminates platform-
specific native binaries while maintaining full NIP-44 compatibility.
- Add ChaCha20Core with RFC 8439 block function, IETF stream XOR,
HChaCha20, and XChaCha20
- Add Poly1305 MAC (RFC 8439 §2.5)
- Add XChaCha20Poly1305 AEAD encrypt/decrypt
- Convert LibSodiumInstance from expect/actual to commonMain object
- Delete platform-specific LibSodiumInstance actuals (android/jvm/ios)
- Remove iOS native interop (cinterop, linker opts, .a libraries)
- Remove lazysodium-java, lazysodium-android, JNA from build deps
- Clean up ProGuard rules (remove JNA/LazySodium keep rules)
- Add RFC 8439 + libsodium test vectors for ChaCha20 and XChaCha20
- Update benchmark to use simplified ChaCha20 API
https://claude.ai/code/session_01YHBwqnb3Z7Q7PX31tJ2G3i
2026-03-23 17:40:29 +00:00
Vitor Pamplona
9d086df37a
Updating all dependencies
2026-03-23 10:28:33 -04:00
Vitor Pamplona
d431b12f94
Migrates EventStore from Android's SQLLite to KMP
...
Fixes testing of libsodium between java and android
2026-03-20 16:00:17 -04:00
Vitor Pamplona
185fd96802
Merge branch 'main' into claude/strip-file-metadata-sVIEd
2026-03-19 10:06:20 -04:00
Vitor Pamplona
91994a0b74
Merge branch 'main' into claude/strip-file-metadata-sVIEd
2026-03-17 13:25:54 -04:00
nrobi144
212dda40ca
feat(media): Phase 0+1 — Coil3 image loading + inline images in notes
...
- DesktopImageLoaderSetup: Coil3 with explicit memory cache (25% heap,
max 512MB), persistent disk cache (OS-appropriate paths), SVG decoder
- DesktopBlurHashFetcher: blurhash placeholder images via Skia Bitmap
- DesktopBase64Fetcher: base64 data: URI image decoding
- SkiaGifDecoder: GIF first-frame rendering via Skia Codec
- MediaAspectRatioCache: thread-safe LruCache for aspect ratios
- NoteCard: inline AsyncImage for image URLs, stripped from text
- Added coil-compose, coil-okhttp, coil-svg, vlcj, commons-imaging,
androidx-collection deps to desktopApp
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-17 05:44:33 +02:00
Vitor Pamplona
d0297b7e34
Fixes stability plugin for AGP9
2026-03-16 19:44:51 -04:00
Vitor Pamplona
7c22c4e6c5
Migrates to collections 1.6, which deprecates iOS Intel targets.
2026-03-16 13:45:01 -04:00
Vitor Pamplona
81ecaa82ff
Migrates to vico charts 3.0
2026-03-16 12:53:54 -04:00
Vitor Pamplona
714afdc2a8
Update dependencies
2026-03-16 09:35:41 -04:00
Vitor Pamplona
8b4a45cb5b
Removing deprecated library addresses and deprecated apis
2026-03-15 20:52:01 -04:00
Claude
cf922a064b
feat: Strip sensitive metadata from media files before upload
...
Adds a MetadataStripper that removes GPS location, camera info, timestamps,
and other sensitive EXIF/metadata from images, videos, and audio files before
uploading. This protects user privacy by default.
- Creates MetadataStripper using AndroidX ExifInterface for images and
MediaMuxer for video/audio remuxing
- Adds "Strip location metadata" toggle to all upload dialogs (NewMediaView,
ChatFileUploadDialog) so users can disable stripping per upload
- Persists the setting in AccountSettings (stripLocationOnUpload, default true)
- Integrates stripping into UploadOrchestrator before compression
- Covers all upload paths: media posts, DM attachments, channel uploads,
profile pictures, list/channel metadata images
https://claude.ai/code/session_01974zpAMSRD9GeqBt9ax6XD
2026-03-14 03:50:34 +00:00
Vitor Pamplona
f4d401bc56
Switches to our own version of the Url Detector
2026-03-06 10:58:59 -05:00
Vitor Pamplona
1fa93788db
android target seems to be creating some issues between plugin dependencies after adding spm
2026-03-04 12:19:47 -05:00
Vitor Pamplona
67390bb8ec
Updating Coil
2026-03-04 12:18:11 -05:00
KotlinGeekDev
68a262fa88
Merge branch 'main' of https://github.com/vitorpamplona/amethyst into upstream-main
...
# Conflicts:
# gradle/libs.versions.toml
# quartz/build.gradle.kts
# quartz/src/androidHostTest/kotlin/com/vitorpamplona/quartz/TestResourceLoader.android.kt
# quartz/src/iosMain/kotlin/com/vitorpamplona/quartz/utils/GZip.ios.kt
# quartz/src/iosTest/kotlin/com/vitorpamplona/quartz/TestResourceLoader.kt
2026-03-04 00:37:10 +01:00
Vitor Pamplona
edb73b3556
Updates AGP
2026-03-03 11:52:03 -05:00
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
KotlinGeekDev
3817fb04f0
Merge remote-tracking branch 'origin/kmp-completeness' into kmp-completeness
2026-02-23 20:46:09 +01:00
KotlinGeekDev
265fef0a93
Foundations(iOS Sourceset): Provide implementation for AESGCM. Duplicate AESGCM tests for iOS. Move dependency to 'cryptography-optimal' make use of all iOS crypto providers.
2026-02-23 17:57:54 +01: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
KotlinGeekDev
2d2ddda2c5
Merge branch 'vitorpamplona:main' into kmp-completeness
2026-02-13 04:20:01 +01:00
Vitor Pamplona
e84e748959
updating libraries
2026-02-12 15:13:07 -05:00
KotlinGeekDev
3f9614dd8f
Merge branch 'main' of https://github.com/vitorpamplona/amethyst into upstream-main
...
# Conflicts:
# gradle/libs.versions.toml
2026-02-11 13:57:01 +01:00
KotlinGeekDev
dcb10b249a
Foundations(iOS Sourceset): Provide implementation for MacInstance(using external library). Bring some tests into commonTest to make sure it works.
2026-02-09 21:57:54 +01: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
KotlinGeekDev
b965ff1cc6
Merge remote-tracking branch 'origin/kmp-completeness' into kmp-completeness
2026-01-28 15:09:57 +01:00
KotlinGeekDev
3ee600ea28
Merge branch 'vitorpamplona:main' into kmp-completeness
2026-01-28 00:09:19 +01:00
KotlinGeekDev
506996b382
Foundations(iOS Sourceset): Provide implementation for GZip compression/decompression. Some small fixes in URLs.ios.kt .
2026-01-27 20:52:43 +01:00
KotlinGeekDev
4e2f779b54
Foundations(iOS Sourceset): Provide implementation for UrlEncoder.
2026-01-27 16:31:04 +01: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
KotlinGeekDev
f2ac68ccf8
Merge branch 'vitorpamplona:main' into kmp-completeness
2026-01-15 20:53:38 +01: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
KotlinGeekDev
a9f6ebde83
Merge branch 'vitorpamplona:main' into kmp-completeness
2026-01-12 15:25:11 +01:00
KotlinGeekDev
f5bb0dbc1d
Move cachemap dependency to version catalog.
2026-01-12 15:06:57 +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