Vitor Pamplona
1812ec296e
Hashtags
2023-03-15 17:02:49 -04:00
Chemaclass
eff8dbbafa
Run linter
2023-03-07 19:47:38 +01:00
Vitor Pamplona
5e5c393472
Bringing back the idea of checking for change before updating the screen. The check happens between 500us and 1ms and the screen update generally in 10-100ms
2023-03-03 19:40:26 -05:00
Vitor Pamplona
b95c013714
Restructuring the invalidateFeed events to happen quicker when users click the navigation row or when the app comes back from sleep.
2023-03-02 09:34:42 -05:00
Vitor Pamplona
b6f5cc9ae5
Activating the Atomic Boolean instead of Synchronized sections
2023-02-28 20:10:52 -05:00
Vitor Pamplona
7e3cfcdcaf
ThreadView avoids double loading.
2023-02-27 15:06:20 -05:00
Vitor Pamplona
3cdc77a277
BugFix Loading one thread after another crashed the app
2023-02-24 17:23:17 -05:00
Vitor Pamplona
dbd2f308c2
Removing the check to see if the feed is different before sending it to the UI.
2023-02-22 18:09:03 -05:00
Vitor Pamplona
d57fca3549
Splits profile between new threads and replies
2023-02-19 11:34:45 -05:00
Vitor Pamplona
71dad0c69e
Fixes missing elements in the previous commit
2023-02-18 19:20:39 -05:00
Vitor Pamplona
b8cb6295f4
Goes back to considering the full list of results when assessing changes to the visible items.
2023-02-18 19:15:24 -05:00
Vitor Pamplona
34bdc2b103
Fixes Mutex when Android cancels coroutines.
2023-02-18 19:04:03 -05:00
Vitor Pamplona
4f53a74004
Massive Refactoring:
...
1. Split between Relay Filters and Screen Filters.
2. Moving Notification dots to background threads.
3. Loading new posts on ThreadView on the fly.
2023-02-18 13:06:53 -05:00
Vitor Pamplona
c0fe13d79c
Only wait 5 seconds to update lists if contents are already been displayed.
2023-02-14 17:42:35 -05:00
Vitor Pamplona
a050236d6a
Increasing Delays to update lists to 5 seconds while making sure it refreshes quickly when the user switches the tab.
2023-02-14 16:02:38 -05:00
Vitor Pamplona
1306270887
Update lists once every second, not 100ms
2023-02-14 14:24:50 -05:00
Vitor Pamplona
e381e2f05f
Adjusting Post Lists to 1000 and simplifying comparisons to know when the list has changed.
2023-02-14 12:08:35 -05:00
Vitor Pamplona
c3aa37534e
Removing the Duplicated Observer infrastructure on User: It wasn't updating observers correctly due to the batch update we use.
2023-02-14 11:01:08 -05:00
Vitor Pamplona
2ed0ca5fdb
Removing DataSource stops in ViewModels to make sure this is handled by the Screen class
2023-02-13 15:50:50 -05:00
Vitor Pamplona
64f2575228
Lightning Zaps.
2023-02-12 18:23:02 -05:00
Vitor Pamplona
12c330f8f6
Correctly handling Atomic Boolean
2023-02-06 18:15:37 -05:00
Vitor Pamplona
f160a024aa
Since refresh is mostly a CPU/Memory process and not really IO, Default is recommended.
2023-02-06 12:29:17 -05:00
Vitor Pamplona
e04843fe96
Using Main to update screen seems needed otherwise I get a 1 minute delay in the loading page before the screen updates. It looks like it waits for all the Pictures to load. Not sure why.
2023-02-05 18:39:54 -05:00
Vitor Pamplona
bb50099021
Merge pull request #75 from clackbib/habib/threading-perf-fixes
...
Scroll Perf Improvements.
2023-02-05 18:18:29 -05:00
Habib Okanla
f40060bb36
There are very visible perf issues during app usage and scrolling that clearly indicates that the app is doing too much on the main thread. After digging for instances where Dispatchers.Main is used, it's an easy fix to switch to Dispatchers.IO, which visibility improve perf.
...
A few thoughts about perf considerations
1. There is no need to force Dispatchers.Main for data that is consumed as state by compose, since flows consumed as state will always flow on main, so we can use a background thread to guarantee best performance.
2. Using Dispatchers.IO is appropriate for disk/network operations to have a device-constrained thread pool that will avoid draining IO-related device resources. Using Dispatchers.Default is more appropriate for computational tasks (bitmap manipulation, delays, etc..)
3. There are a few instances of methods creating coroutine scopes in their body just to launch something that will delay. This is creating a lot of loose scopes, and you can avoid this by just moving scope creation to a class-level field and reusing it, or better yet, make your method suspending so that scope is controlled by the caller.
2023-02-05 00:41:37 -05:00
Vitor Pamplona
1a3b92a727
Abolishes the use of Mutable collections inside data models.
2023-02-03 17:23:47 -05:00
Vitor Pamplona
76087e5f25
Removes new threads, boosts from the Conversations view
2023-01-30 13:51:30 -03:00
Vitor Pamplona
1e3654396b
No more blinking in Feeds
2023-01-27 19:28:59 -03:00
Vitor Pamplona
a934b42524
Avoiding concurrent exceptions when looping through messages
2023-01-27 14:50:20 -03:00
Vitor Pamplona
5c9b736591
Migrates dependencies to new versions. App now requires Android Electric Eel
2023-01-25 22:33:37 -03:00
Vitor Pamplona
965cdd9304
Fix boosted posts not showing up in the Main Follows feed
2023-01-25 10:46:14 -03:00
Vitor Pamplona
aa8993eb56
Splits home screen between Follows and Follows+ Replies
2023-01-24 23:28:34 -03:00
Vitor Pamplona
e064741148
Moving coroutines from Main to Default, which is more ideal for memory intensive tasks
2023-01-23 20:54:56 -03:00
Vitor Pamplona
bb9217466a
Hard Refresh when the button to refresh is pressed.
2023-01-21 13:37:57 -03:00
Vitor Pamplona
a692ad47d6
Spam filter in new private messages
2023-01-21 12:31:23 -03:00
Vitor Pamplona
451137e8fa
handling co-routines with viewModel Scope
2023-01-19 17:56:22 -05:00
Vitor Pamplona
8771584deb
Moving away from handlers and into coroutines.
2023-01-19 08:41:48 -05:00
Vitor Pamplona
0e3b007730
Fixing Public chat's event order.
2023-01-18 18:59:18 -05:00
Vitor Pamplona
a4885e643e
Add threading for the LazyColumn refresh.
2023-01-18 15:55:35 -05:00
Vitor Pamplona
9792733f72
New Observer/Observable performance improvements.
2023-01-18 15:30:39 -05:00
Vitor Pamplona
bf8a0f0e76
Additional Performance Improvements
2023-01-18 14:24:04 -05:00
Vitor Pamplona
4543a68615
Support for User Profiles
2023-01-15 21:52:59 -05:00
Vitor Pamplona
45a7a18ea7
Thread View
2023-01-12 12:47:31 -05:00
Vitor Pamplona
7ccae7b7c3
Base code for Amethyst
2023-01-11 13:31:20 -05:00