Commit Graph

516 Commits

Author SHA1 Message Date
Vitor Pamplona d6d34b2a88 Merge branch 'main' of https://github.com/vitorpamplona/amethyst 2025-04-23 16:24:57 -04:00
Vitor Pamplona a84371a0b3 - Restructures the old static datasource model into dynamic filter assemblers.
- Moves filter assemblers, viewModels and DAL classes to their own packages.
- Creates Composable observers for Users and Notes
- Deletes most of the secondary LiveData objects in the move to Flow
- Manipulates nostr filters depending on the account of the current screen, not a global account.
- Unifies all FilterAssembly lifecycle watchers to a few classes.
- Prepares to separate The Nostr Client as an Engine of Amethyst.
- Moves the pre-caching processor of new events from the datasource to the accountViewModel
- Reorganizes search to be per-screen basis
- Moves authentication to a fixed Coordinator class for all accounts in all relays.
- Moves NOTIFY command to its own coordinator class for all accounts
- Moves the connection between filters and cache to its own class.
- Significantly reduces the dependency on a single ServiceManager class.
2025-04-23 16:24:41 -04:00
greenart7c3 b42d05ae7a Filter unicode characters 2025-04-23 16:17:13 -03:00
Vitor Pamplona 3833f5f822 - Refactoring services to be part of the App Lifecycle,
- Migrated services to Flows that are active while their flows remain subscribed
- Improved OTS Decoupling
- Moved OTS verification procedures from the local cache to the data source
- Migrated the forceProxy options to lambdas that return an OkHttpClient
- Isolated Connectivity services, from Compose to Flow
- Isolated Tor services, from Compose to Tor (only starts if the Tor option is marked as internal)
- Isolated Memory trimming services, from Compose to Flow
- Isolated Image Caching services, from Compose to Flow
- Isolated Video Caching services
- Isolated Logging services
- Isolated NIP-95 Caching services
- Isolated Pokey receiver services
- Improved support for Tor in push notifications
- Isolated OkHttpClient services as flows
- Reduced the coupling of Context objects with singleton objects.
- Migrated UserFeedStates, StringFeedStates and ZapFeedStates to MutableStateFlow, avoiding feed updates on Main
- Forces a reconnect into relays that lost connection if any tor, connectivity or account changes
- Speeds up Base64 parser
2025-04-09 18:51:17 -04:00
Vitor Pamplona b3f1b093ed Tor now listens to port changes and restart connections when it does change. 2025-03-31 20:32:15 -04:00
Vitor Pamplona 29d046a094 Updates zoomable, vico, firebase, jackson and jna 2025-03-26 12:36:38 -04:00
Vitor Pamplona 6fd5f36ff5 Fix: Removes kind 30078 from search 2025-03-17 20:22:11 -04:00
Vitor Pamplona fd538ebde1 Improves multiple error dialogs appearing when zapping from the reactions bar in the feed. 2025-03-14 13:57:33 -04:00
Vitor Pamplona 66535e11ce - Removes the TAG_SIZE constant on all tags because each parser might use a different size. There is no minimum size for tags.
- Moves the tag parsing checks to use ensure.
- Explicitly writes matching methods to avoid hiding complexity beyond utility functions.
2025-03-13 17:24:20 -04:00
Vitor Pamplona 8afe1ae537 Marks PrivateOutbox contents as encrypted 2025-03-13 09:04:39 -04:00
Vitor Pamplona 1603a7473a Adds support for Harassment reports. 2025-03-12 15:51:17 -04:00
Vitor Pamplona ba6786cdcf Updates nip70 Protected Tags to the new structure 2025-03-12 14:51:47 -04:00
Vitor Pamplona b017e03728 Updates NIP-56 to the newest tag structure for Quartz 2025-03-12 14:51:23 -04:00
Vitor Pamplona 5766bb1887 First idea without changing NIP-44 2025-03-12 09:41:18 -04:00
Vitor Pamplona 5dcb1350ac Losing the test case for unit tests in CI 2025-03-11 13:57:39 -04:00
Vitor Pamplona 3aa370d746 Fixes bug that the room changes after citing a user on NIP-17 2025-03-11 13:46:55 -04:00
Vitor Pamplona fe55ee1818 Starts the migration of public chats to the new structure
Starts the migration of drafts to the new structure
2025-03-10 19:33:12 -04:00
Vitor Pamplona 58b6be73ee as per https://github.com/nostr-protocol/nips/pull/1836 2025-03-10 18:32:43 -04:00
Vitor Pamplona 52e67c9ab6 Uses NIP-22 to reply to Highlights 2025-03-06 16:25:57 -05:00
Vitor Pamplona fa9ff0c52a Uses NIP-22 to reply to Long form posts. 2025-03-06 16:25:47 -05:00
Vitor Pamplona 8722f37fa5 Improving the UI of the Custom Emoji page. 2025-03-05 16:56:34 -05:00
Vitor Pamplona f4d06eee6d Simplifying conditionals for the ATag parser 2025-03-05 16:13:33 -05:00
Vitor Pamplona 0580aef4a2 - Migrates NIP-17 DM new message model to its own model and disable some of the generic behavior from new posts.
- Fixes a bug on edits showing a previous edit.
- Refactors user suggestions and lastword procedures
- Adds a DM inline reply from other parts of the app, like on notification.
- Hides Retweet button from DMs on Notifications
- Fixes colors for drafts in chats.
- Adds a nav function that computes the destination only after the user clicks on it and on a coroutine.
2025-03-04 17:57:47 -05:00
Vitor Pamplona 1a001e7bb3 Moves GeohashPrecision class to Quartz 2025-03-01 18:24:55 -05:00
Vitor Pamplona ca0b6ef2ba Fixing error message on relay notices 2025-02-27 19:15:40 -05:00
Vitor Pamplona 0df07ddfcb - Adds support for https://github.com/nostr-protocol/nips/pull/1770
- Improves signer utils for testing
- Improves test cases for User metadata
2025-02-27 18:34:10 -05:00
Vitor Pamplona b3dec691d7 losing up the probability to make tests pass 2025-02-25 18:16:20 -05:00
Vitor Pamplona b40b37b6ac Adds the logged in user' posts to a user in the user's profile.
Refactors the user profile screen in many packages.
2025-02-25 18:09:04 -05:00
Vitor Pamplona e6cd3a99c5 Fixes bug on saving Encrypted files on DMs.
Fixes bug when using partial downloads to display videos on DMs.
2025-02-25 16:43:15 -05:00
Vitor Pamplona d5d289a834 Uses note.toEventUri to make sure the relay hint is correct
Avoids crash when adding an event to gallery without a relay hint.
2025-02-24 20:46:33 -05:00
Vitor Pamplona a2d9f31a8a Assigning hints to NIPs until NIP-53
Speeding up Bech32 and Hex processing
Updating Boosts and Reposts to the new way of declaring tags
Renaming the SHA256 hash tag from NIP94 to not confuse with # hashtags
2025-02-24 17:09:08 -05:00
Vitor Pamplona 3790325a0f uses const val for faster MurMur 2025-02-22 16:19:01 -05:00
Vitor Pamplona 96f57b2c90 Fixes tag name on ImageTag 2025-02-22 16:18:46 -05:00
Vitor Pamplona 4b10dd58df It's slightly faster to reject params in one line than on many. 2025-02-22 16:17:10 -05:00
Vitor Pamplona dc4240a8f5 Increasing the amount of addresses 2025-02-20 18:06:17 -05:00
Vitor Pamplona 3220d793b4 Using a linked set for the relayDB is faster to loop through on mightContain 2025-02-20 17:44:36 -05:00
Vitor Pamplona 84a52a1ce0 Speeding MurMur up
Adding more test cases
Mapping out memory used by filter
2025-02-20 17:10:24 -05:00
Vitor Pamplona aaf86bf53e Adds a Bloom-based hint indexer with MurMur hash 2025-02-20 14:07:10 -05:00
Vitor Pamplona 94e0f4ed02 Performance improvements on the PoW miner 2025-02-18 20:44:24 -05:00
Vitor Pamplona d47ec06b19 Deleting the experimental serializer test 2025-02-18 17:51:34 -05:00
Vitor Pamplona 9689acb5f3 Deletes experimental serializer on NIP-01
Moves classes to the appropriate packages on NIP-01
Adds a PoW miner to quartz.
Adds a PoW commit evaluator as a bytearray of the ID
2025-02-18 17:47:34 -05:00
Vitor Pamplona bcb3838e85 Fixes isTagged for events 2025-02-18 12:04:39 -05:00
Vitor Pamplona 4fcf962c71 Fixes r-tag migration 2025-02-18 12:00:22 -05:00
Vitor Pamplona 2de4bb1adc Reverses ATag Generalization (It just made things more complicated) 2025-02-18 11:51:16 -05:00
Vitor Pamplona 9e1a2bb1e4 Removes the notion of generic Address references 2025-02-18 11:29:52 -05:00
Vitor Pamplona 9c35008fc4 Moves Sha256 to a pool of digests to double the hashing performance 2025-02-18 09:40:17 -05:00
Vitor Pamplona 6d9964a1cb Decoupling NIP01 methods from CryptoUtils
Decoupling Encryption and Decryptions from CryptoUtils
Decoupling live instances of JNI bindings for Secp and LibSodium from CryptoUtils
Decoupling key cache from CryptoUtils
Reorganizes NIP-04 to match new package structure
Adjusts test structures to match
2025-02-17 19:13:05 -05:00
Vitor Pamplona 7ad8b2ce46 Migrates LocalCache from being based on ATags to Addresses, removing the need to use memory space to store relay hints 2025-02-17 14:12:54 -05:00
Vitor Pamplona 08dd634eae Fixes crash when evaluating the isHex function for an emoji 2025-02-17 11:12:47 -05:00
Vitor Pamplona 67106e8a11 Renames PoW processor to parser 2025-02-16 11:53:23 -05:00