- 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.
This commit is contained in:
Vitor Pamplona
2025-04-23 16:24:41 -04:00
parent faf0f6dc1a
commit a84371a0b3
272 changed files with 7055 additions and 5068 deletions
@@ -26,6 +26,8 @@ import java.util.function.BiConsumer
class LargeCache<K, V> {
private val cache = ConcurrentSkipListMap<K, V>()
fun values() = cache.values
fun get(key: K) = cache.get(key)
fun remove(key: K) = cache.remove(key)