Giter Club home page Giter Club logo

atsugami's Introduction










if anime girls were real (and they all had a crush on me) i think that would be pretty sweet











my ✨BRAND✨NEW✨ "polished" project list

bigger things

smaller things

  • recaller - async/await based function retry utility

i'll list more here as i go through my repos and clean em up

atsugami's People

Contributors

seapunk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

oofdere

atsugami's Issues

adapter selection

okay so now is about the time i start adding other adapters

i want to make it pluggable, so you can just say which adapters you want to use

how do i make that happen

  • envvar to specify list of adapters to use
  • fetching and running adapters(?)
    • what would that look like?
  • selecting adapter (or "source") from webapp

desktop client

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

CI friendlier build scripts

something to where i can more aggressively cache the github actions cuz its not going to at all here

  • build tarball (how do i cache it off repo contents?)
  • build prerequisite docker images(?) (can those be cached? maybe i just publish a manual build of groundcontrol)
  • use docker's own build action (specify the context .tar.gz, and the dockerfile by hand)
  • uhhh

THE backlog

this is the big list of things thats on my radar. if you submit an issue and it ends up in here, that means that i intend to address it one way or another (whenever i decide to work on this again)

docs

  • record demo
  • booru browser, not booru viewer
  • write README
  • write post explaining it and my vision for it (working on this now)

deploys

  • figure out how i want to dockerize it
  • github actions dockerization + publishing

features

  • #5
  • #4
  • improved mouse browsing (a control for browsing and saving that doesnt require a lot of movement)
  • resizing sidebar, fitting more thumbnails in (maybe i have a min and max thumbnail size and dynamically scale based on the width)
  • can we use fetch to get download progress on something?
    • aand can we put this into an image/video? maybe we can use this to no longer need to deal with the whole lagfest that firefox does when wemake lots of requests
    • i can use fetch's streaming response to figure out the data count as it comes in,
      • fetching will be cached aggressively,
    • i can turn the response into a Blob, which then becomes a File with the filename
    • and set it to the image
    • unloading it with revokeObjectUrl, and rlying on fetch to have it cached whe ni need it again
    • how does saving work when i do this?
    • get rid of that image flash when image gets loaded in (pass down the image preview data? fetch all images with the image loader and pass blobs around?)
    • caching image blobs, accessing them refreshes their timeout
    • ^^^ build a POC
      • fetch gives download progress
      • we can create the File and put it into object url
      • and attach it to img
      • and see how it saves
      • ensure mime type is correct
      • then unload, and see how things change if we have the blob in a new tab or something
  • search results into address bar (adding to history)
    • search query gets saved into address bar, along with the post ID
    • on navigate, use the address bar query
      • if there's a post ID, load the specific post in the viewer as standalone (and set browse cursor to none)
      • is there a better way to do this?
  • tag autocomplete
  • tag coloring/grouping
  • post translations
    being able to hover over some text in the viewer and see the translation show up if specified

bugs

  • #2
  • browse: filter out dupes on page append (this is why keys break btw)
  • PostView: fix control hiding sticking sometimes (something about useDebouncedHide or something idk)
  • search: loading state (indicate when we're searching for something, or loading next page)
  • search: pass down AbortSignal into fetch (i want to move off rtk query since it doesnt fit my usecase)
  • search: dont cache results

improvements

  • #3
  • move off elysia to hono(?) (and document what i did to move off of it for my scaffolding project)

misc

  • gather TODOs in code, put em here
  • animation: scrolling to image?

misc scaffolding stuff you can ignore this its for my other project
notion doc: atsugami: open source-ing has my scaffolding stuff as well so i can come back to that later

  • eslint: move to flat config
  • tsconfig: use esnext(?)
  • tsconfig: see how typescript wants us to set shit up
    • look at what bun does for inspiration
  • see what other things we can do with the setup
  • uhhhh recreate the thing step by step, in a batch script or something (batch script should use latest everything!!!!)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.