Files
Michael Black 2c04d28a9b Skip empty Thumbnail in galleryThumbs + hidden-embed gallery test
EmbedGallery_ViewImage.Thumbnail is a non-pointer string (unlike
EmbedVideo_View.Thumbnail), so an empty value would slip through as
<meta property="og:image" content="">. Belt-and-suspenders guard
in galleryThumbs, with the defensive test extended to cover the case.

Also adds a parallel hidden-embed test for gallery alongside the
existing images variant. Functionally redundant with the early-return
at the top of extractPostMedia, but asserts the contract directly
against the gallery branch so it survives any future refactor that
moves the hide check into a per-shape branch.
2026-06-09 10:10:32 -05:00
..
2024-04-13 12:20:06 -07:00
2024-04-13 12:20:06 -07:00
2026-06-09 09:30:58 -05:00
2026-06-09 09:30:58 -05:00
2024-04-13 12:20:06 -07:00
2024-04-13 12:20:06 -07:00
2026-05-18 09:51:04 -07:00
2024-04-13 12:20:06 -07:00
2024-04-13 12:20:06 -07:00

Build / Develop

SPA Bundle (monolithic static javascript file)

To build the SPA bundle (bundle.web.js), first get a JavaScript development environment set up. Either follow the top-level README, or something quick like:

# install nodejs
nvm install
nvm use
npm install --global pnpm

# setup tools and deps (in top level of this repo)
pnpm install --frozen-lockfile

# run pnpm web dev server, if you wanted
pnpm web

Then build and copy over the big 'ol bundle.web.js file:

# in the top level of this repo
pnpm build-web

Golang Daemon

Install golang. We generally develop against the current stable release of the language, as declared in go.mod.

In this directory (bskyweb/):

# re-build and run daemon
go run ./cmd/bskyweb serve

# build and output a binary
go build -o bskyweb ./cmd/bskyweb/

The easiest way to configure the daemon is to copy example.env to .env and fill in auth values there.