Skip to content

Instantly share code, notes, and snippets.

View schickling's full-sized avatar
Making the web better

Johannes Schickling schickling

Making the web better
View GitHub Profile
@schickling
schickling / namespace-nix-store-flake.md
Created February 12, 2026 10:14
Flaky: Namespace macOS arm64 Nix store invalid path

Flaky CI failure on Namespace macOS arm64 runners: invalid Nix store paths

Summary

We are seeing an intermittent CI failure on Namespace-managed GitHub Actions runners (macOS arm64) where Nix evaluation fails because the runner's /nix/store appears internally inconsistent (store DB references paths that don't exist).

This is not a flaky unit/integration test: the failure happens before our actual tests run.

Symptoms

@schickling
schickling / research.md
Created February 10, 2026 19:26
check:quick --mode before performance investigation - devenv exec_if_modified glob traverses node_modules

check:quick --mode before Performance Investigation

Problem

devenv tasks run check:quick --mode before --no-tui takes ~623s (10+ minutes).

What check:quick runs

check:quick is a pure aggregation task (no exec). With --mode before, it runs all upstream deps:

@schickling
schickling / cli-output-architecture.md
Created January 28, 2026 11:22
tui-react CLI Output Architecture - Design Exploration (archived)

CLI Output Architecture

Problem Statement

A CLI command can run in different output modes depending on context. We want to decouple command state/logic from output rendering to enable code sharing and principled divergence.


Requirements

@schickling
schickling / pnpm-issues.md
Last active January 27, 2026 08:03
Historic pnpm issues and link: protocol documentation (archived)
@schickling
schickling / SIGTRAP-REPRO.md
Created January 21, 2026 10:36
LiveStore + Bun SIGTRAP crash reproduction guide

SIGTRAP Crash Reproduction: LiveStore + Bun + WASM SQLite

This document provides comprehensive context for reproducing and debugging a SIGTRAP crash that occurs when using LiveStore with Bun.

Problem Description

When creating and destroying ~100-180 LiveStore instances sequentially (each backed by SQLite WASM via wa-sqlite), Bun crashes with a SIGTRAP signal (Trace or breakpoint trap).

Key Characteristics

Devenv + flake path input interop (.devenv.flake.nix)

Problem (short)

When a repo is used as a path flake input inside another repo’s devenv, devenv expects <input>/.devenv.flake.nix to exist. If that file is untracked, it is not included in the flake snapshot, so devenv shell fails with:

error: '/nix/store/<...>/effect-utils/.devenv.flake.nix' does not exist
@schickling
schickling / playwright-duplicate-loading.md
Created January 19, 2026 07:58
Playwright duplicate loading investigation

Playwright duplicate loading in dotdot setups

Status

Active investigation. The root cause is understood but the final workaround is not selected.

Problem statement

Playwright throws Error: Requiring @playwright/test second time when a shared config or helper package is linked via file: and both the consumer and the linked package resolve their own physical copies of @playwright/test. The Playwright runner enforces a singleton load and errors on the second physical path.

@schickling
schickling / gist-report.md
Last active January 14, 2026 16:44
Nix dirty workspace experiments (effect-utils)

Nix Dirty Workspace Experiments (effect-utils)

Scope and Goals

We need a fast, reliable, pure way to build Bun-based native CLIs from TypeScript that:

  • works with dirty/uncommitted changes,
  • avoids copying large trees like node_modules,
  • works in flakes and devenv,
  • keeps dirty builds close to clean build performance.
@schickling
schickling / pi5-chromium-hw-decode-gist.md
Last active January 6, 2026 10:57
Raspberry Pi 5 + Chromium hardware video decode question

Raspberry Pi 5 + Chromium Hardware Decode: Is This Possible?

Problem Summary

I’m investigating hardware-accelerated video decode on Raspberry Pi 5 using Chromium (Wayland). The goal is smooth playback (no frame drops) and a Chromium-based UI. So far, Chromium appears to run software-only for video decode/compositing on Pi 5, despite extensive flag and VA-API attempts.

Environment

  • Hardware: Raspberry Pi 5 (BCM2712)
  • OS/Display: Wayland (Sway/Wlroots)
  • Browser: Chromium (aarch64)
  • GPU: V3D

UniFi Scheduler Usage

This doc captures how we access the UniFi controller via the local tunnel and query client stats with unifi-scheduler.

Prerequisites

  • SSH jump host: homepi
  • Controller IP: 192.168.1.39
  • Local tunnel (must be running while you use the CLI):