In the meantime a workaround is to add some swap space.
My machine has 8 GB of RAM, and I haven't experienced OOMs since adding 8 GB of swap. Memory usage seems to plateau after a while.
@alnkq.bsky.social
Software dev. Interests: .NET, compilers, performance, DuckDB, ATProto I'm building AppViewLite, a self-hostable appview for Bluesky https://github.com/alnkesq/AppViewLite
In the meantime a workaround is to add some swap space.
My machine has 8 GB of RAM, and I haven't experienced OOMs since adding 8 GB of swap. Memory usage seems to plateau after a while.
I'll leave the current process run for a few more days (current uptime 9 days) and then deploy a version that sets GCLargeObjectHeapCompactionMode to see if it fixes the issue.
22.10.2025 12:45 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0That's an issue I'm investigating.
I believe it might be due to Large Object Heap fragmentation rather than an actual leak, since running "dotnet-gcdump collect" makes memory usage go back to normal
I don't currently have any sponsor page
02.10.2025 17:35 โ ๐ 2 ๐ 0 ๐ฌ 1 ๐ 0Added some initial Docker container support to AppViewLite
24.09.2025 17:47 โ ๐ 5 ๐ 0 ๐ฌ 0 ๐ 1Now /debug/requests/<guid> includes a simple profiler to see which operations take the longest to complete or perform the most IO.
21.09.2025 17:36 โ ๐ 5 ๐ 0 ๐ฌ 0 ๐ 0Open sourcing a simple scripting tool that I use to automatically configure my machines (Linux or Windows).
Can run incrementally after you make changes to the configuration script.
I'm not very familiar with nix or tangled, but I assume the two things are not related, right?
As for the nix packaging, I can accept pull requests.
That and deployment with containers are things that AppViewLite is still lacking.
Now you can log in to multiple accounts in AppViewLite, and quickly switch between them using the sidebar.
24.08.2025 22:03 โ ๐ 12 ๐ 1 ๐ฌ 1 ๐ 0And now likes to reposts are properly displayed in the notifications page
18.07.2025 14:14 โ ๐ 2 ๐ 0 ๐ฌ 0 ๐ 0it's interesting how well appviewlite's balanced following feed makes me
1. not actively hate scrolling here
2. see posts from people that i'd easily miss in the usual chronological view
really decent logic there
Now samples of your saved feeds are shown in the Following feed.
I also fixed a performance problem with cold starts of the following feed
I took a long dev break during the last 2 months, so here are some recent updates:
- Populate {Like,Repost}.via, to notify the reposter of your like
- Fix IO performance regression that was introduced with caching
- Sidebar announcement when disk space is running low
- Support for Telegram videos
By default, it only listens to mod.bsky.app, but if you set that env variable to *, it will listen to all the labelers listed in the PLC directory
24.05.2025 23:41 โ ๐ 2 ๐ 0 ๐ฌ 0 ๐ 0AppViewLite tip: if you navigate to <HOST>/r/somesubreddit, it will redirect you to the corresponding AppViewLite page for that subreddit's RSS (which you can then follow)
15.05.2025 21:01 โ ๐ 3 ๐ 0 ๐ฌ 0 ๐ 0Apparently, Firefox automatically displays a notification dot on pinned tabs, if the page title is set to "(X) Page title" where X is a number.
I discovered this by accident by seeing it on AppViewLite despite not having written any custom code to change the favicon
Note that this is not another discovery feed. The balanced feed still only shows you content from the people you follow, or that they directly repost.
13.05.2025 17:53 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0If you're particularly fond of a certain user or set of users (based on your interactions), it will make sure that you don't miss out new content from them, even if they post from a different timezone.
13.05.2025 17:51 โ ๐ 2 ๐ 0 ๐ฌ 1 ๐ 0It still tries to favor recency, but not at the cost of being too repetitive.
For example, it clamps the number of consecutive posts or reposts from the same person at any given time, as well as the number of reposts of content from people you don't follow (the maximum ratio is 3:1)
The AppViewLite default timeline tries to fairly distribute your feed's vertical space among the profiles you follow, even if they post at very different frequencies
13.05.2025 17:42 โ ๐ 6 ๐ 0 ๐ฌ 1 ๐ 0Depending on how you configure it, it can fetch the blobs lazily from the PDSes (and possibly cache the thumbnails to disk), or it can reuse an existing CDN (cdn.bsky.app)
11.05.2025 14:48 โ ๐ 3 ๐ 0 ๐ฌ 0 ๐ 0That would mitigate the inner loop.
But to be honest I don't even remember how long it takes, I ran the generator only once some time ago.
I just know that it produces quite a lot of code.
The worst ones are those that don't even bother fetching the OpenGraph preview
09.05.2025 14:57 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0It might be a nice coding exercise, but the amount of generated code is quite big.
Having the generator run manually and predictably and only when you actually need it is probably better from a development experience point of view.
AppViewLite reuses the FishyFlip generated types.
@drasticactions.dev is also working to add support for generated AspNet XRPC server API stubs (and I'm migrating appviewlite to use them)
Video menu in AppViewLite, showing Speed up playback
Now you can speed up the video playback rate in AppViewLite
07.05.2025 20:47 โ ๐ 6 ๐ 0 ๐ฌ 1 ๐ 0...and Telegram channels
05.05.2025 17:48 โ ๐ 4 ๐ 0 ๐ฌ 0 ๐ 0AppViewLite profile page for a github project, showing recent releases
New pluggable protocol: now you can follow GitHub projects from AppViewLite (issues, releases, PRs, or issues)
05.05.2025 13:45 โ ๐ 10 ๐ 0 ๐ฌ 1 ๐ 0The AppViewLite native UI works for sure, for creating posts.
Deer + XRPC appviewlite, I never personally tried this combination, so I was a bit surprised to see that it just worked.
Yes the native UI is more feature-complete compared to the social-app + XRPC combo
04.05.2025 22:21 โ ๐ 6 ๐ 0 ๐ฌ 0 ๐ 0