Commit Graph

531 Commits

Author SHA1 Message Date
Vitor Pamplona 09946c19b9 Turns all base Hint classes into data classes 2025-05-13 14:44:03 -04:00
Vitor Pamplona 50cde1bc3e - Bugfix to mark relay connections as AfterEOSE when the relay client or server closes the subscription
- Adds an arrival time to log the time EOSEs were received in case the listener is running async processes later.
2025-05-13 14:43:28 -04:00
Vitor Pamplona 2d5732bcce Normalizes hashtag transformations for filters. 2025-05-13 14:40:03 -04:00
Vitor Pamplona fbe20029f7 Move to a cache model where we defer the event's verification until the last moment before adding to cache 2025-05-06 09:45:01 -04:00
Vitor Pamplona 63a009f36d - Adds support for Ephemeral Chats from coolr.chat
- Adds support for following ephemeral chats
- Adds support for live events at the top of the feed.
- Adds support for NIP-51, kind:10005 public chat lists
- Adds support for Channel feeds
- Moves following of NIP-28 chats from the Contact List to kind: 10005
- Disables following of events at the Contact list
- Improves gallery display to slightly override profile pictures when in list
- Starts the Account refactoring by moving custom Emoji, EphemeralList and PublicChat lists to their own packages
- Refactors NIP-51 lists to use common classes of private tags instead of general list classes.
- Starts to separate all Public chats into their own database.
- Removes old account upgrades from the local storage
- Refactors url NIP-11 loading and unifies icon
- Reduces the dependency of Relay classes in the LocalCache, Notes and User classes
2025-05-02 21:18:10 -04:00
Vitor Pamplona 9c79ef08c7 Moves logging out of quartz Relay class 2025-04-30 14:00:08 -04:00
Vitor Pamplona 626bfc95cb - Adds support for Follow packs
- Enables top filter by pack as well.
2025-04-29 17:24:03 -04:00
Vitor Pamplona 1c8a6d1234 - Separates new Product Screen from the generic new Post screen.
- Adds New product button on the Marketplace tab
- Adds imeta tags for images and urls inside the content of the Classifieds.
- Shows multiple images on the post and thread view.
- Removes the option for NIP-95 images on Classifieds.
- Creates a new route for new products
- Adjusts quarts to process images with iMeta tags
2025-04-28 21:13:41 -04:00
Vitor Pamplona b51e5f4383 better relay reconnecting logic 2025-04-25 17:02:58 -04:00
Vitor Pamplona 0c54f9aa10 Renders the new comment tag on highlights. 2025-04-25 16:58:41 -04:00
Vitor Pamplona 95afed5045 Only request for notification permissions after API 33 2025-04-24 16:54:52 -04:00
Vitor Pamplona dcccc1de3a Last Uri.parse fix 2025-04-24 16:54:31 -04:00
Vitor Pamplona 30c4e3c646 Fixes deprecated URI parse function warnings 2025-04-24 16:52:25 -04:00
Vitor Pamplona d04f6c977e Migrates to the new capitalization function 2025-04-24 16:50:48 -04:00
Vitor Pamplona 7d97b73356 Fixes mutable state builders with primitive types warning. 2025-04-24 16:48:56 -04:00
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