Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
748bac3
feat: bring desktop editor to web
richiemcilroy Sep 18, 2026
a6e1dd5
fix: isolate editor worker from standalone media server
richiemcilroy Sep 18, 2026
b13e7f3
fix: reclaim unattached web editor sessions
richiemcilroy Sep 18, 2026
aece09d
chore: pin editor worker build inputs
richiemcilroy Sep 18, 2026
f6ec320
fix: align GPUI icon inventory with caption controls
richiemcilroy Sep 18, 2026
c067e9a
fix: normalize web recorder warning quotes
richiemcilroy Sep 18, 2026
86ec71f
fix: gate macOS-only memory pressure variants
richiemcilroy Sep 18, 2026
fac71b4
improve: show desktop editor while web sessions prepare
richiemcilroy Sep 18, 2026
2943fc6
fix: verify staged editor assets before reuse
richiemcilroy Sep 18, 2026
489510d
fix: require HTTPS for remote editor workers
richiemcilroy Sep 18, 2026
c6dcac6
fix: restore image overlays in web editor
richiemcilroy Sep 18, 2026
1787aba
test: verify web image overlays in browsers
richiemcilroy Sep 18, 2026
5a641d3
fix: restore self-host MinIO image pulls
richiemcilroy Sep 18, 2026
3a6cae2
fix: pin self-host MinIO image digests
richiemcilroy Sep 18, 2026
f7e39b5
fix: format extension shortcut script
richiemcilroy Sep 18, 2026
bc148b4
improve: match desktop editor error state on web
richiemcilroy Sep 18, 2026
39dafcb
fix: keep editor preparation visible during slow startup
richiemcilroy Sep 18, 2026
6d41f66
fix: keep web editor recovery actions usable
richiemcilroy Sep 18, 2026
c6ad26b
fix: use browser-valid preview socket close code
richiemcilroy Sep 18, 2026
640dab0
fix: clarify web recording bundle action
richiemcilroy Sep 18, 2026
1f9a917
docs: explain separate webcam capture in web
richiemcilroy Sep 18, 2026
36a536c
fix: align paired recordings to start calls
richiemcilroy Sep 19, 2026
45820dc
fix: keep background editor exports alive
richiemcilroy Sep 19, 2026
8359544
fix: retain active and completed editor exports
richiemcilroy Sep 19, 2026
408cd52
fix: isolate extension tab-capture test gesture
richiemcilroy Sep 19, 2026
7c500d7
fix: authenticate the native web editor renderer
richiemcilroy Sep 19, 2026
ec42b7a
fix: keep native H.264 benchmark authenticated
richiemcilroy Sep 19, 2026
5c04675
fix: recover non-caption edits after plan downgrade
richiemcilroy Sep 19, 2026
6397e5e
fix: bound web recorder backup memory
richiemcilroy Sep 19, 2026
18eaba9
fix: preserve overflow during recorder spool recovery
richiemcilroy Sep 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions .github/workflows/docker-build-editor-worker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
name: Docker Build Editor Worker

on:
pull_request:
paths:
- "apps/media-server/**"
- "apps/web/lib/editor-caption-access.ts"
- "apps/web/lib/editor-caption-transport.ts"
- "apps/web/lib/editor-recording-title.ts"
- "apps/desktop/src/assets/music/**"
- "apps/desktop/src-tauri/assets/backgrounds/**"
- "crates/**"
- "packages/editor-cap-bundle/**"
- "vendor/**"
- "Cargo.toml"
- "Cargo.lock"
- "package.json"
- "bun.lock"
- "bunfig.toml"
- ".github/workflows/docker-build-editor-worker.yml"
push:
branches:
- main
paths:
- "apps/media-server/**"
- "apps/web/lib/editor-caption-access.ts"
- "apps/web/lib/editor-caption-transport.ts"
- "apps/web/lib/editor-recording-title.ts"
- "apps/desktop/src/assets/music/**"
- "apps/desktop/src-tauri/assets/backgrounds/**"
- "crates/**"
- "packages/editor-cap-bundle/**"
- "vendor/**"
- "Cargo.toml"
- "Cargo.lock"
- "package.json"
- "bun.lock"
- "bunfig.toml"
- ".github/workflows/docker-build-editor-worker.yml"

permissions: {}

jobs:
build:
name: Build and test editor worker (${{ matrix.platform }})
runs-on: ${{ matrix.runner }}
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
include:
- platform: amd64
runner: ubuntu-24.04
- platform: arm64
runner: ubuntu-24.04-arm
permissions:
contents: read
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
with:
persist-credentials: false
- name: Set up Docker Buildx v3.12.0
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f
- name: Build editor worker image with Docker v6.19.2
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8
with:
context: .
Comment thread
richiemcilroy marked this conversation as resolved.
file: apps/media-server/Dockerfile.editor
platforms: linux/${{ matrix.platform }}
load: true
tags: cap-editor-worker:verification
cache-from: type=gha,scope=editor-worker-${{ matrix.platform }}
cache-to: type=gha,mode=max,scope=editor-worker-${{ matrix.platform }}
- name: Check native worker readiness
run: |
docker run --rm --network none \
-e CAP_WEB_EDITOR_PUBLIC_ORIGIN=http://127.0.0.1:3457 \
-e MEDIA_SERVER_WEBHOOK_SECRET=test \
--entrypoint bun cap-editor-worker:verification \
-e 'import app from "./src/editor-worker-app.ts"; const response = await app.request("/health"); if (!response.ok) process.exit(1)'
- name: Exercise paired native editor routes
run: |
docker run --rm --network none --cpus 4 --memory 4g \
-e MEDIA_SERVER_WEBHOOK_SECRET=test \
--entrypoint bun cap-editor-worker:verification test \
src/__tests__/editor-worker-app.test.ts \
src/__tests__/lib/editor-assets.test.ts \
src/__tests__/lib/editor-clip-thumbnails.test.ts \
src/__tests__/lib/editor-config-paths.test.ts \
src/__tests__/lib/editor-image-assets.test.ts \
src/__tests__/lib/editor-wallpapers.test.ts \
src/__tests__/routes/editor-clips.test.ts \
src/__tests__/routes/editor.test.ts
2 changes: 2 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,18 @@ opt-level = 2
[profile.dev.package.cap-audio]
opt-level = 2

[profile.dev.package.cap-editor]
opt-level = 3

[profile.dev.package.image]
opt-level = 3

[profile.dev.package.png]
opt-level = 3

[profile.dev.package.flate2]
opt-level = 3

# Optimize for smaller binary size
[profile.release]
panic = "unwind"
Expand Down
Loading
Loading