SEAPUNK/atsugami

desktop client

SEAPUNK opened this issue · 1 comments

dumping my thoughts about this

the client will always be the webapp. the desktop app will be either electron or tauri or something of the sort

the webapp codebase will become platform aware, where i'll have a couple of constants like WEB and DESKTOP where i can show different things depending on which platform it is

this means some features will now be platform dependent, where the common stuff will have to plug into a platform-specific function.... not sure how i want to do that yet

i do know that in general, the web version will be the "base" version, and desktop version will provide an enhanced version, where you can do more with it (because i can do more with desktop). ideally, desktop is 99% additive, rather than subtracting web-specific stuff

btw, in the future, the standalone api and the desktop client will have some form of common persistence, so i want to make something that'll work just fine on both, and you can take the desktop's persistence and plug it into the api, and vice versa

heres the list of things that it'll have to do

  • platform agnostic adapters (providing a common adapter API for them to use?)
  • fetching list of posts
  • fetching individual post
  • "proxying" - this might be an important desktop/web distinction, how we get images might be pretty uneven in that regard
  • saving images

thinking more about this, i really do want to keep the server portion as the server (as i want to be able to rehost it and point the client to different instances)... my only reservation with this for desktop is that it would be running as a separate process and listening on a port... maybe we can improve those two specifically?

it seems unlikely, but if i eventually have it to where i can select a server to point to, maybe there'll be an option for desktop clients where it boots up the server, determines its port, and passes it down to the client? many things to consider...