Yusuf Suleman f10c356199
All checks were successful
Security Checks / secret-scanning (push) Successful in 4s
Security Checks / dependency-audit (push) Successful in 14s
Security Checks / dockerfile-lint (push) Successful in 4s
polish: explicit WKProcessPool, scroll-preserving content upgrade, no reload flash
1. Explicit WKProcessPool — static shared instance assigned to
   WKWebViewConfiguration. Prevents any future divergence even
   though iOS 15+ shares by default.

2. Scroll-preserving content upgrade — when articleContent updates
   (partial → full), uses JavaScript DOM replacement instead of
   loadHTMLString. Captures window.scrollY before swap, restores
   after. No visible flash or scroll jump. Falls back to full
   reload if JS replacement fails.

3. No unnecessary reloads — coordinator tracks lastHTML. Only
   loads if content actually changed. First article open = full
   page load (lastHTML is nil). Content upgrade = DOM swap
   (lastHTML exists, new content is different).

4. Clean separation — isUpgrade flag distinguishes first load
   from content upgrade. First load uses loadHTMLString (needs
   full <html> document). Upgrade uses innerHTML replacement
   (preserves scroll, CSS, page state).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 21:42:59 -05:00

Gitea CI Workflows

security.yml

Runs on push/PR to master. Three jobs:

  1. dependency-auditnpm audit --audit-level=high for budget and frontend
  2. secret-scanning — checks for tracked .env/.db files and hardcoded secret patterns
  3. dockerfile-lint — verifies all Dockerfiles have USER (non-root) and HEALTHCHECK

Runner Setup

The runner is configured in the Gitea docker-compose at /media/yusiboyz/Media/Scripts/gitea/docker-compose.yml.

What was done:

  1. Added [actions] ENABLED = true to Gitea's app.ini
  2. Added runner service (gitea/act_runner) to Gitea's docker-compose
  3. Generated runner token via docker exec -u git gitea gitea actions generate-runner-token
  4. Token stored in /media/yusiboyz/Media/Scripts/gitea/.env as RUNNER_TOKEN
  5. Runner registered as platform-runner with labels: ubuntu-latest, ubuntu-24.04, ubuntu-22.04

To regenerate token (if needed):

cd /media/yusiboyz/Media/Scripts/gitea
docker exec -u git gitea gitea actions generate-runner-token
# Update .env with new RUNNER_TOKEN value
docker compose up -d runner

To check runner status:

docker logs gitea-runner
Description
Second Brain Platform - Dashboard, Fitness, Budget, Inventory, Trips, Reader, Media
Readme 31 MiB
Languages
Svelte 51.2%
Python 24.2%
Swift 13.5%
JavaScript 5.4%
TypeScript 3.3%
Other 2.4%