Commit Graph

8177 Commits

Author SHA1 Message Date
Vitor Pamplona c06c03928e Fixes the use of index relays and search relays to load users and events as well as become the default for global feeds. 2025-09-11 18:36:42 -04:00
Vitor Pamplona 1f8d0295d5 - Separates Application dependencies into an AppModules class to create only after the OnCreate event.
- Switches TorSettings to be per Application and not per Account anymore
- Since TorSettings is now global, moves the okHttpClient determinations out of the Account-based classes into the Application.
- Since TorSettings is now global, set's up Coil's image loader only once when creating the Application
- Moves UISettings state to App Modules instead of viewmodel
- Migrates TorSettings and UISettings to DataStore
- Accounts now have their own coroutine scopes to allow cancellation when they are unloaded/logged off
- New tor evaluator service for relay connections now uses all account's trusted relays and dm relays at the same time.
- Migrates composable-state-based UISettings to Flow-based UI settings, while observing connectivity status
- Removes the displayFeatures and windowSizeClass from the shared model
- Fixes not requesting Notification Permissions for APIs older than Tiramisu in the FDroid flavor
- Moves the NIP-11 document cache from singleton to the App Modules
- Avoids using AccountViewModel to check NIP-11 Relay documents
- Moves the UI Settings usage in composables to functions that do not observe the state since they don't need to refresh the screen when changed.
- Refactors UI Settings screen to separate components and remove the sharedViewModel
- Only starts Internal Tor if that option is selected in the TorSettings.
- Turn TorSettings into a data class to observe changes to it
- Drops the SharedPreferences ViewModel to use UISettingsFlow directly from App Modules
- Reorganizes OTS Events after simplification of the OkHttp based on TorSettings.
2025-09-11 18:04:10 -04:00
davotoula 8f1027b55d refactor
Removed duplicate GalleryImage boilerplate.
Use .chunked()
Pull out constants (ASPECT_RATIO, IMAGE_SPACING).
2025-09-11 21:52:36 +02:00
davotoula 4dace5aaf8 refactor using takeWhile
Fix edge case with white space before images
2025-09-11 21:03:06 +02:00
davotoula 8cb9d13567 Use constrained LazyVerticalGrid with calculated height for more than 20 images for performance reasons
added vertical spacing for some padding
Fixing scrollable gallery issue
2025-09-11 21:01:12 +02:00
davotoula f092326dcd Fixing scrollable gallery issue 2025-09-11 20:58:39 +02:00
davotoula 1f6d7d3fd2 Simplify RenderRegularWithGallery
Simplify collectConsecutiveImageParagraphs: just return the end index
Extracting common signature parameters into a RenderContext data class
Extracting GalleryImage helper function
2025-09-11 20:58:15 +02:00
davotoula 062182a7ec fix for when images are separated by empty lines
refactor to reduce duplication:
Extract RenderParagraphWithFlowRow
Extract collectConsecutiveImageParagraphs
2025-09-11 20:50:21 +02:00
davotoula 9534582141 Collect batches of images
Send them to new image gallery
2025-09-11 20:25:05 +02:00
Vitor Pamplona a078df6159 Fixes parameters on the findEarliestOtsForNote 2025-09-11 11:28:46 -04:00
Vitor Pamplona 90a5c15ee9 Moves the OTS processor from Account's decrypt process to Application since it doesn't need the account information. 2025-09-11 11:27:29 -04:00
Vitor Pamplona bb9a03ec5b Fixes invalid hexes on preview 2025-09-11 11:23:45 -04:00
Vitor Pamplona 825d890921 Removes the otsFinding method from accountViewModel, since it is not account dependent. 2025-09-11 11:19:27 -04:00
Vitor Pamplona 05c364eff4 removes unnecessary import 2025-09-11 11:17:08 -04:00
Vitor Pamplona 404d0ab40e Removes the dependency on windowSizeClass and displayFeatures to be passed in the global settings of the app (which is activity independenty) 2025-09-11 11:16:26 -04:00
Vitor Pamplona bf88e376de Generalizes the dependencies from Application to Context 2025-09-11 11:12:20 -04:00
Vitor Pamplona 1e74a5769d Passes appcontext down on MediaSession Pool to avoid the direct dependency on Amethyst 2025-09-11 11:09:36 -04:00
Vitor Pamplona e1f7fae70e Removes dependency in the Amethyst class from Playback calculator 2025-09-11 11:08:04 -04:00
Vitor Pamplona 5127907acd Makes the root okhttp client for an Empty manager a lazy property to allow loading in Preview screens 2025-09-11 11:07:00 -04:00
Vitor Pamplona 2eda4d40e8 Makes max exoplayer pool size to a variable in the class 2025-09-11 11:06:09 -04:00
Vitor Pamplona 7f428a9976 Switches account cache to a flow 2025-09-11 11:05:03 -04:00
Vitor Pamplona 4347a1b104 Generalizes the type of OtsResolver needed by OtsState 2025-09-11 11:03:05 -04:00
Vitor Pamplona abd6e6f2ac Makes the torControl option nullable to allow an Orbot-based Active flow 2025-09-11 11:02:25 -04:00
Vitor Pamplona 1af5daffcf Fixes the default Tor Settings 2025-09-11 10:58:35 -04:00
Vitor Pamplona 0e04425095 Fixes the option switching animations when loading the screen. 2025-09-11 10:57:49 -04:00
Vitor Pamplona bbbdc05243 Fixes animations when selecting Tor options in the privacy screen 2025-09-11 10:54:22 -04:00
Vitor Pamplona d4c39bd9cb Adds a flow to TorSettings so that any change to the inner properties can be tracked. 2025-09-11 10:46:26 -04:00
Vitor Pamplona 11597d2448 Documents OTS methods 2025-09-11 10:45:35 -04:00
Vitor Pamplona 5c3ea0a302 removes duplicated copyright notice 2025-09-11 10:45:18 -04:00
Vitor Pamplona 0c65176ecc Adds a DefaultOtsResolver builder using the internal web request classes from java. 2025-09-11 10:45:02 -04:00
KotlinGeekDev e72bb5044b Adjust size of delete button for a Follow set item. 2025-09-11 15:02:38 +01:00
KotlinGeekDev e8d04a2205 Modify Follow and Unfollow buttons to only change looks when in profile actions. 2025-09-11 15:01:27 +01:00
KotlinGeekDev 31328089cb FollowSetScreen: -Make a separate component for the title and description.
- Fix onBroadcastList, making sure to get the latest changes to the set before broadcast.
-Make a separate component for FollowSet list items, and make the delete button look a bit better(?).
NostrUserListVM: - Minor cleanup.
2025-09-11 14:32:58 +01:00
KotlinGeekDev bd41354009 Make some UI adjustments for the list creation dialog. 2025-09-11 14:05:28 +01:00
KotlinGeekDev bac3c575cb Make some UI adjustments for the list rename dialog. 2025-09-11 14:03:29 +01:00
KotlinGeekDev 3c4865c4b0 Parse follow set descriptions as-is. 2025-09-11 14:01:12 +01:00
Vitor Pamplona ba2707e7b4 Changes the name of the nav to avoid confusing the auto import 2025-09-10 19:59:48 -04:00
Vitor Pamplona f9590055b0 Removes dependency on the application class from DecryptAndIndexProcessor 2025-09-09 12:17:28 -04:00
Vitor Pamplona dc97e5004e Uses local copy of cache instead of global singleton 2025-09-09 12:16:52 -04:00
Vitor Pamplona 4fb629e893 Fixes not sending the live stream events anywhere when the stream doesn't have a relay set declared. 2025-09-09 11:25:59 -04:00
Vitor Pamplona 44a34ffcfe Removes livestream chats from the home bubbles that are placed after the live stream is done 2025-09-09 11:25:30 -04:00
Vitor Pamplona f00207d53c Fixes reply routes when clicking in the Conversations tab when the event is a PublicChat, LiveStream or Ephemeral Chat 2025-09-09 10:28:49 -04:00
Vitor Pamplona d25e6cd07b Small speed up with contains of a char and not a string 2025-09-09 10:28:01 -04:00
Vitor Pamplona bbec0d93d2 Avoids breaking the contract (changes during sorting) 2025-09-08 19:38:18 -04:00
Vitor Pamplona 4158d3bd45 Fixes logs for account 2025-09-08 18:47:31 -04:00
Vitor Pamplona 49e4f7bb46 Fixes feed filter update when changing the top nav filter 2025-09-08 18:03:01 -04:00
Vitor Pamplona 4249b9f872 Fixes not having author picture in the long form previews 2025-09-08 18:01:26 -04:00
Vitor Pamplona eac2e54953 Merge pull request #1467 from davotoula/prevent-resource-leaks-with-streams
Prevent resource leaks with streams
2025-09-08 17:27:47 -04:00
Vitor Pamplona 2455a34987 Moves account saving from StateViewModel to Account 2025-09-08 17:22:54 -04:00
Vitor Pamplona ba0ce3366c Fixes f-droid code 2025-09-08 16:58:14 -04:00