You are browsing as a guest. Sign up (or log in) to start making projects!

Koei

@Koei

Joined May 31st, 2026

  • 26Devlogs
  • 2Projects
  • 1Ships
  • 15Votes
Open comments for this post

4h 52m 21s logged

Bunch of things

Image Improvements

some performance enhancements with images. made the clipboard image data fetching happen in Tauri’s dedicated thread pool, effectively parallelizing the operation. this made image copying a lot faster. image support should be merged into master soon enough.

Lazy loading

we now have lazy loading for images. image data isn’t loaded until it is scrolled into view. makes startup quick.

CI

enabled Dependabot updates and optimized the lint workflows for PRs. previously, all of the project was lint+checked on PR when changing anything. now it only checks the part that’s changed (i.e. frontend or backend)

1
0
3
Open comments for this post

4h 27m 45s logged

Progress on images

we finally have some form of working image support in Squirrel. This required even more sweeping refactoring changes to the codebase, which was a bit painful and im sure the new code isn’t the best quality either and will bite me later, but we’ll deal with it when we deal with it.

getting images is a bit slow however, as right now we’re storing the image as base64 encoded PNGs.

i plan to use the SQLite blob type to just store the raw bytes and pass that back and forth to improve the performance a bit (maybe some sort of caching as well?). there are also other areas where that are to be improved but i wanted to get a somewhat working prototype as fast as i can.

explaining the silence

i’ve been distracted by some life stuff, making me neglect my projects a bit. i also got distracted by the ESP32, fun little device. that is where the 9 days went. but, expect me to work semi-regularly again. thanks for reading.

0
0
2
Open comments for this post

3h 0m 28s logged

Lots of refactoring

(apologies for the uneventful devlog attachment, i have nothing interesting to show except just code)
to make it a bit more manageable when adding image support, a bunch of refactoring and reorganizing has been done in the backend.

like i’ve previously mentioned, the codebase leaned too hard into only supporting text events. this fixes that.

today’s changes also make the internal communication a bit more efficient. there are a couple more places where performance can be improved. and we will need every bit of performance we can get when dealing with image data.

Changelog

(shoutout @Hridya for stardance utils, just discovered this)

  • 5b3f285 refactor: move clipboard structures into separate file
  • b3ab1c8 perf: only get required data from db when copying an item
  • 69dc003 refactor: modify data types to enable addition of image support

Release CI (wip)

currently writing the Release workflow for Squirrel. i have to figure out how to upload the artifacts to a github release with proper versioning and all that. the strategy is to run the workflow whenever something is pushed to the release branch.

that is all for today.

0
0
2
Open comments for this post

46m 19s logged

Version bump and docs

bumped the minor version. Squirrel is officially v0.2.0, yippi.

plus, updated the README, adding more explanation about the Wayland issue. also showcased the pin feature. i’ll try to whip up a release workflow to add to my CI tomorrow.

I’m debating whether i should ship v0.2.0. the only major change from 0.1.0 is the addition of pinning. i might wait until i have image support and ship later, or i might change my mind, im unsure.

0
0
4
Open comments for this post

1h 15m 53s logged

Closed 1 (one) issue

moved the global launch hotkey logic from the frontend to the backend. it didn’t behave well in certain situations, failing to activate and bringing up the Squirrel window.

Starting work on images

we’re experimenting with images. the current functionality is very much caveman and needs a lot of attention to make it actually usable. i’ve decided to stick with clipboard_rs for now, we’ll see how that pans out.

0
0
6
Open comments for this post

4h 6m 24s logged

Sadness

so i just found out that Tauri’s global shortcut plugin does not yet support Wayland, which is sad to discover this deep into development. but, there is an active PR addressing this issue, which is nice. what this means for Squirrel is that proper Wayland support will unfortunately have to wait until this is merged.

the joys of using a not-yet-completely-matured framework i suppose. though it does make me feel a bit guilty for calling Squirrel “cross-platform”.

in other news (changelog):

  • Squirrel now has a --silent launch flag that makes it start with the window hidden. useful when the app is set to launch on system startup.
  • Squirrel now makes sure there is only one instance of it running.
  • The shortcut Ctrl+Shift+Del will clear history permanently. (i forgot about clear history functionality in the first ship even though the code for it existed, there just wasnt a button in the frontend to call it)
0
0
2
Open comments for this post

4h 4m 5s logged

CI

dipped my toes into github workflows, messed around, an got check&lint workflows working on pull requests. will make a release workflow some time later. this change however, was only a part of this devlog’s time.

Bad decisions catching up

turns out, using clipboard_rs might’ve been the subpar choice for interfacing with the system clipboard. while clipboard_rs provides a easy way to listen to clipboard changes and get text from it, fetching raw clipboard data is buggy and inconvenient. when i sat down to work on image support, i was immediately brick-walled by how messy it is to just get raw data first. it would’ve been simple if i was building for just one target os but considering both windows and linux, it’s less than ideal. on top of this, the documentation for the crate is very lackluster.

all this to say, i am very much debating migrating my clipboard stuff to using arboard. arboard doesnt provide direct functionality to listen to clipboard changes so i will have to implement that myself. but, it does have first class support for wayland. a very enticing choice, but we will see.

0
0
13
Open comments for this post

lovely project, so charming

Open comments for this post

50m logged

I’ve improved the IK through changes to: billateral limb distance (so
far there was nothing in between for example 2 legs), timing
adjustments, joint rotating planes, computed target body height and body
center of mass, … Next up is animating limbs that aren’t legs! any
feedback?put it in the comments (pretty please)

0
1
3
Open comments for this post
Reposted by @Koei

1h 5m 47s logged

I have locked in my capacitor, toroid, and have changed electrode selection

  1. Capacitor:
    From:
    MKP 0.47uf (wrong selection because I found out that this capacitor has a code X2 capacitor which makes it unable to be used in a high pulse current application like this zvs drvier) .
    To now:
    CBB81 0.1nf x 3 (chinese code for MKP capacitor rated for much higher voltage spike and handles pulse currents better).

2, Inductor choke:
From:
KS130060A: Bulky, weird, overpowered, takes too much space
power smd inductors: unavailable, weak
To Now:
4x T90-26 toroid core, stacked, and hand-winded, handles current adequately, slim (fits into the wand shape)

  1. Electrode:
    I was totally unsure of electrodes that can:
  • handle heat extremely well for prolonged usage
  • does not damage the 3D prints if the electrodes ever gets hot
  • cheap
  • bendable (easier to shape to my needs)
  • easy to source

I initially wanted to use acorn nuts with machine screws, and lug terminals, but I figured out they were too bulky for this project

I remember something:
solid copper cables, especially pvc insulated are available everywhere, has high thermal mass (for 2.5mm cross sectional area variant), and it makes for a great electrode, how? by stripping the insulations off of 8/10 of the length, and then wrap copper coils of off other stripped copper wires so it acts as a heatsink and provides better thermal mass and it adds to the aesthetic

and so I picked 2.5mm NYA Solid Copper wire as the electrodes, I hope I can glue it well…

also previously I had recorded 3 hours of work in lookout but it didn’t registered to stardance…

In that 3 hours I searched for the mosfet, diodes, capacitor, and the power supply, aswell as searching for the best way to pot a high voltage transformer, I ended up with a BOM like this

it’s an updated one, in the next session I’m planning to uhh design the CAD for the ZVS HV Wand, and I would try to finish it in 2 hours, it should be easy to print, minimal support, easy to grip, and would not cost more than 3$ or about 50.000 IDR, because I use an external 3D printing service, I need to make it as light as possible while maintaining strength and comfort, don’t worry about the prices and quality though, I have used this service, it gave insanely cheap price, and the build quality is surprisingly well for a cheap 3D printing service (PETG).

3
1
6
Open comments for this post

2h 44m 47s logged

Navigation improvements

slight refactoring and bugfixes for frontend navigation. the navigation was kinda wonky before this and sometimes wouldn’t highlight the entry that was actually selected in the background. most of this devlog’s work was to make it so that what you see is what you get.

also, a touch of color has been added to pinned entries (tentative).

0
0
10
Open comments for this post

2h 34m 53s logged

Pins

we now have basic entry pinning support. this was a bit less difficult than i thought it was going to be. but now you can pin an item and it always stays at the top of the list (unless you’re searching). anyways, that is one item ticked off the todo list.

apart from that, i had to do some minor backend refactoring and reorganizing so that it is easier to build more upon.

next?

image and/or file copy support. this is one monumental task. i think the way we’ll approach this is by storing the entire file if it’s smaller than, say 5mb, and if it is larger, we just store the path to the file. we dont want to store the user’s 5gb video file they just copied.

for images, i think the play is to generate a low quality thumbnail of the image to display in the app. for files, if it is a text file, we can show just the first 5 or so lines with a link to the file, other wise we’ll just give a link.

until now, the code i’ve written sadly relies too much on the fact that every event is a text copy as we ignore everything else. it’s going to be a rather painstaking experience refactoring the codebase.

the challenge is going to be keeping Squirrel quick and responsive while supporting all of this additional functionality.

0
0
9
Ship

v0.1.0
Squirrel is a clipboard manager that is meant to be simple and intuitive. It remembers all the text you copy allowing you to paste whatever into wherever. You can also quickly search through your history.

Squirrel is meant to be cross-platform, but for this release, Linux support on Wayland is very iffy (X11 is fine for the most part). I would highly recommend using Windows for testing this ship, sorry for the inconvenience. Expect *potentially* better support next ship.

  • 17 devlogs
  • 45h
Try project → See source code →
Open comments for this post

2h 8m 48s logged

even more bugfixes

ofcourse critical bugs pop up when im trying to release.

the system tray icon wouldnt show up when running the single-file executable on any platform. that is now fixed.
plus a couple more things have been done to make Squirrel behave like a good cross platform app, like storing the data in the OS’s appdata directory.

there are some more things i would like to do but i think the app is in a releasable state and i’ve wanted to ship it for a while. I’ve set up the GitHub release and all the relevant instructions in the README. might be last devlog before ship #1.

0
0
11
Open comments for this post

1h 11m 5s logged

more polish and minor fixes

more readme refining, linux support clarity, and installation instructions.

also, i completely forgot about the tray icon actually needing an image icon, so until now it was just blank. anyways, we now have an icon.

next, we put out releases on github and ship, hopefully. unfortunately we have to wait until tomorrow for linux builds.

0
0
6
Open comments for this post

1h 23m 43s logged

readme and polishing

preparing to ship, writing docs, recording demos and stuff. there are a couple other things i want to sort out but i might ship in a few days.

0
0
6
Open comments for this post

2h 24m 22s logged

Dark theme!

just glorious

there isn’t a theme toggle button yet, it just goes off of your system’s theme for now.
now that the colors are roughly standardized across the ui, tweaking the contrast and palette is a much more pleasant experience.

0
0
9
Open comments for this post

37m 11s logged

wip dark theme support

i want squirrel to use whatever theme the system is set to. currently it’s forced light mode but dark mode is something i’d be crucified for not adding.

unfortunately, I in my infinite wisdom didn’t have the foresight to have consistent colors across even the light theme itself. there’s just random #aaa, #666, etc colors everywhere where i went with what looked good. so work needs to be done to standardize the colors with css variables. then just modify the variables for dark theme accordingly.

yes, i’m aware this is standard practice.

0
0
6
Open comments for this post

1h 41m 1s logged

Ticked a couple of items off the todo list:

Squirrel now loads the history on launch. doing this was easier than i expected, but it’s a very naive way to do it (literally just send all of the history on launch).

we also now have a logo. im no graphic designer by any means so this is the best i could do. shows in the titlebar and when your history is empty. check the project banner for a larger version if you feel like it. i might change the logo in the future, i just wanted an icon.

todo

  • pinning items
  • test on linux
0
0
6
Open comments for this post

1h 12m 58s logged

nothing significant. just docs and comments and cleanup. slowly making progress planning wise into loading the history at launch.

the idea is to use a custom Tauri IPC Channel for incrementally streaming data to the frontend on app start. channels are supposedly faster for this and are meant for continuous messages like this in comparison to events. from the Tauri docs:

Channels are designed to be fast and deliver ordered data. They are used internally for streaming operations such as download progress, child process output and WebSocket messages.

i may implement a lazy loading system if i feel like it.

i have nothing interesting to show so have a squirrel again

0
0
4
Open comments for this post

4h 16m 22s logged

Item search

i’ve wanted to add this for a long time but it needed a lot of refactoring in the frontend so i put it off for later. it is now later. we have instant search. press / or any of the non shortcut keys to start searching.

frontend logic has had a big refactor making navigation and other operations more predictable and less wonky. it took a bit of battling with the specifics of Svelte’s each loop and bind:this directive but it was worth it. there is still some cleanup that can be done, the code is not idiomatic by a long shot, but im happy we have a very essential feature complete.

changelog:

  • add search
  • fix broken arrow navigation and copy/delete operations applying to wrong entries.
  • make window size a bit bigger by default (might change later)
  • make copy icon turn into a green checkmark so that there is some visual feedback on copying
  • make the database file always save at the executable’s location.

todo

  • ! still need to test linux
  • ! load history on launch
  • app icon and branding
0
0
4
Loading more…

Followers

Loading…