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

Nova

@Nova

Joined May 31st, 2026

  • 5Devlogs
  • 1Projects
  • 1Ships
  • 0Votes
tired transfem who makes cool projects :3 (she/they)
⋇⋆✦⋆⋇ https://novatea.dev ⋇⋆✦⋆⋇
Ship Pending review

Hey! I updated FolderHarbor, my advanced, multi-protocol file server (works over FTP and WebDAV)! The new features I added are:

  • I added the FolderHarbor SDK to the web panel, instead of just directly using fetch() calls to the FolderHarbor server in it! This makes it harder to make mistakes when developing for it (as the SDK uses TypeScript types and exact method calls), fixes a few bugs it had, and generally makes it more stable.
  • I improved the installation script used for FolderHarbor Server, making it check the files it downloads for corruption before installing them using a SHA256 checksum. It has some new additional checks as well, to decrease the risk of a corrupted/broken or failed installation.
  • I added a new API endpoint to the landing page, which helps the installation script by parsing some GitHub API things and returning a clean SHA256 checksum. JSON is really hard to work with inside of Bash scripting (which is how the installer works), so this is the safest way to handle this without requiring more dependencies on the server.
  • I improved my CI/CD pipeline and added a step where the server version is injected into the download. This will allow me to add an update checker in the future, though I haven’t yet.

FolderHarbor is my biggest project yet, and these changes make it more stable and functional for everyday users!

  • 4 devlogs
  • 8h
Try project → See source code →
Open comments for this post

44m 27s logged

CI/CD (Server) - Fixes

I fixed various things with my CI/CD pipeline for releasing the server’s updates! It stopped working for ARM64 builds, which I determined to be because of how I was using pnpm install for those. As such, I migrated to pnpm deploy and improved the dependency bundling process a lot. This took me a while with a lot of debugging, which is visible in my commit history!

0
0
28
Open comments for this post

3h 28m 56s logged

Server - Improving Install Script

I’m adding a new feature to the install script where it will check the integrity of downloaded files before installing them. This uses the GitHub API (through the landing page’s API) to get the SHA256 hash of the expected release file, then makes sure the downloaded file matches it. This protects against corruption when downloading!

Landing - Getting Checksum

As JSON is very hard to work with inside of Bash, I made an endpoint on the landing page to get the checksum from GitHub and return it.

CI/CD (Server) - Version

To prepare to add an update checker, I added the version number as an environment variable that the CI/CD inserts when building the server. For now, it’s only used to print the version on startup, but I’m going to make it call GitHub and check for updates automatically.

Server - Fallback Errors

Because of how ExpressJS works by default, if an unhandled error is returned (no try/catch catches it), it will return an HTML page that says “500 Internal Server Error”. If a FolderHarbor client is expecting JSON, but gets HTML back, it could cause the client to crash. As such, I wrote a handler into the server to return these errors in FolderHarbor format, under the unknown code.

0
0
23
Open comments for this post
Reposted by @Nova

10h 53m 33s logged

FIRST DEVLOG YAYAYAYAY

Set up the project :p

Currently working on making a pixel-perfect system for the game so it looks super polished like Celeste (the original Voidborne had crazy mixels 🫩)

Looks HORRIBLE rn but I plan to start artmaxxing soon!!

5
3
1947
Open comments for this post

1h 36m 16s logged

Web - Finished SDK Migration

More of what I was doing in my last devlog! I updated to @folderharbor/[email protected], and implemented it across the rest of the panel.
Specifically, in this time, I added it to:

  • all admin routes (users, roles, acls, permissions, config, logs)
  • user settings

Web - Consolidation

I also removed all of the web panel’s types that overlapped with the SDK’s ones, such as getting rid of the ClientConfig type and using FHClientConfig from the SDK instead.

Notes

I’m just about to merge this code into the main branch! :3

0
0
5
Open comments for this post

1h 41m 59s logged

Web - SDK Migration

I recently made an SDK for FolderHarbor (as a different project)! I’m now rewriting parts of the web panel to use it instead of direct API calls, as the SDK provides better type-safety.
This isn’t done yet, but I’ve gotten the migration done in a few places. I’m doing this on a branch since it’s very breaking (most pages are broken on the branch during this rewrite, but the main branch’s version is still operational with the old code).

Server - Fixes

I fixed some things with the server, namely:

  • Making a locked account return an error in checkPath() calls (this is to stop in-progress transfers on lock).
  • Fixing the PNPM configuration, making it work properly with PNPM v11 (including on the CI/CD).
0
0
4

Followers

Loading…