Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
872ce89
chore: initialize tasque tracking
BumpyClock Jul 9, 2026
6ad4ac9
build: update standalone GPUI foundation
BumpyClock Jul 9, 2026
800c73a
test(gpui): lock blur and overlay contracts
BumpyClock Jul 9, 2026
e8bceee
fix(gpui): port upstream semantic fixes
BumpyClock Jul 9, 2026
6cc040c
build: update GPUI dependencies
BumpyClock Jul 9, 2026
e4fc606
feat(gpui): add embedded application runtime
BumpyClock Jul 9, 2026
2186631
feat(gpui): unify view rendering
BumpyClock Jul 10, 2026
bb2ea30
feat(gpui): gate task and action profiling
BumpyClock Jul 10, 2026
256ff6c
feat(gpui): add benchmark harness
BumpyClock Jul 10, 2026
38ee1a8
feat(gpui): merge current accessibility model
BumpyClock Jul 10, 2026
92e3e78
fix(gpui): harden rendering resources and ABI
BumpyClock Jul 10, 2026
a2ea0ed
fix(gpui): recover WGPU resources after device loss
BumpyClock Jul 10, 2026
075969c
perf(gpui): specialize TypeId collections
BumpyClock Jul 10, 2026
6a7d076
feat(gpui): add remaining core utility APIs
BumpyClock Jul 10, 2026
ccb4590
feat(gpui): merge core styling and interaction APIs
BumpyClock Jul 10, 2026
b966f0d
fix(gpui): reconcile list scrolling behavior
BumpyClock Jul 10, 2026
a9bfd51
test(gpui): support path prompt simulation
BumpyClock Jul 10, 2026
790a007
fix(gpui): normalize canonical prompt labels
BumpyClock Jul 10, 2026
7737056
fix(gpui): refresh mouse position after bounds changes
BumpyClock Jul 10, 2026
e9e548d
feat(gpui): add anchored popup contract
BumpyClock Jul 10, 2026
7c107e9
feat(gpui): support custom macOS traffic light positions
BumpyClock Jul 10, 2026
434dd20
feat(gpui): merge web popup handling and view example
BumpyClock Jul 10, 2026
2a8b7b2
fix(gpui): complete popup and glyph rendering contracts
BumpyClock Jul 10, 2026
cd0a58f
fix(gpui-windows): merge current platform behavior
BumpyClock Jul 10, 2026
a551412
fix(gpui): expose initial app id and IME bounds
BumpyClock Jul 10, 2026
1120c02
fix(gpui-wgpu): report whether frames are presented
BumpyClock Jul 10, 2026
5d9a7a7
fix(gpui-macos): merge current platform behavior
BumpyClock Jul 10, 2026
66835b0
fix(gpui-linux): merge current platform behavior
BumpyClock Jul 10, 2026
2e589cf
test(scheduler): document intentional suspended borrow
BumpyClock Jul 10, 2026
a207892
fix(gpui-platform): disable incompatible headless renderer
BumpyClock Jul 10, 2026
0330be6
test(gpui): satisfy strict clippy gates
BumpyClock Jul 10, 2026
55a253c
ci: expand cross-platform verification
BumpyClock Jul 10, 2026
88e2b16
docs: record selective upstream sync provenance
BumpyClock Jul 10, 2026
f6b8057
fix(rendering): harden fallback device setup
BumpyClock Jul 10, 2026
b996f59
ci: execute preserved backend contracts
BumpyClock Jul 10, 2026
f9b30b6
ci: cover hidden duplicate accessibility state
BumpyClock Jul 10, 2026
85dbbd4
fix(text): respect multiline middle truncation
BumpyClock Jul 10, 2026
1046703
fix(view-example): preserve IME composition state
BumpyClock Jul 10, 2026
834fd63
fix(bench): reject zero frame budgets
BumpyClock Jul 10, 2026
4316b4c
docs(macos): repair keyboard mapping filter
BumpyClock Jul 10, 2026
1e6a419
fix(app): flush embedded update effects
BumpyClock Jul 10, 2026
caa0dc6
fix(profiler): retain complete timing samples
BumpyClock Jul 10, 2026
9664651
fix(linux): harden platform callback boundaries
BumpyClock Jul 10, 2026
7532b5f
ci: execute feature-gated regressions
BumpyClock Jul 10, 2026
b43f0a5
ci: share Linux dependency setup
BumpyClock Jul 10, 2026
4997189
docs(linux): clarify activation token ownership
BumpyClock Jul 10, 2026
34f466f
fix(view-example): normalize stale cursor offsets
BumpyClock Jul 10, 2026
3e384e3
fix(wgpu): preserve consecutive failure escalation
BumpyClock Jul 10, 2026
b62b134
fix(windows): raise test macro recursion limit
BumpyClock Jul 10, 2026
43aa669
test(windows): simplify hit target assertions
BumpyClock Jul 10, 2026
cc42773
build(windows): allow expanded native test harness
BumpyClock Jul 10, 2026
57fbbc6
fix(windows): avoid recursive test macro import
BumpyClock Jul 10, 2026
7f417e0
build(windows): pin compatible capture backend
BumpyClock Jul 10, 2026
d10947b
fix(wgpu): preserve failure streak across recovery
BumpyClock Jul 10, 2026
a6592eb
test(windows): improve hit target diagnostics
BumpyClock Jul 10, 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
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.tasque/events.jsonl merge=tasque-events
29 changes: 29 additions & 0 deletions .github/actions/install-linux-dependencies/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Install Linux dependencies
description: Install the native libraries required to build and test GPUI on Linux

runs:
using: composite
steps:
- shell: bash
run: |
sudo apt-get update
sudo apt-get install -y \
clang \
pkg-config \
libfontconfig-dev \
libfreetype-dev \
mesa-vulkan-drivers \
libvulkan-dev \
libxkbcommon-dev \
libxkbcommon-x11-dev \
libwayland-dev \
libx11-xcb-dev \
libxcb1-dev \
libxcb-shape0-dev \
libxcb-xfixes0-dev \
libxcb-randr0-dev \
libxcb-xinput-dev \
libxcb-cursor-dev \
libxcb-sync-dev \
libxcb-render0-dev \
libxcb-present-dev
144 changes: 104 additions & 40 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,53 +6,117 @@ on:
pull_request:
branches: [main]

permissions:
contents: read

env:
CARGO_TERM_COLOR: always
RUSTFLAGS: -D warnings

jobs:
check-macos:
name: Check (macOS)
runs-on: macos-latest
quality:
name: Quality and tests
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo check -p gpui --all-targets
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
with:
toolchain: 1.95.0
components: rustfmt, clippy
- uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
- name: Install Linux dependencies
uses: ./.github/actions/install-linux-dependencies
- run: cargo fmt --all -- --check
- run: cargo metadata --locked --format-version 1 > /dev/null
- run: cargo check --locked --workspace --all-targets
- run: cargo clippy --locked --workspace --all-targets --all-features -- --deny warnings
- run: cargo test --locked -p scheduler
- run: cargo test --locked -p gpui --features bench,profiler --lib
- name: Test release-only accessibility duplicate handling
run: cargo test --locked --release -p gpui --features test-support duplicate_id
- run: cargo test --locked -p gpui_wgpu --lib
- run: cargo check --locked -p gpui --examples
- run: cargo check --locked -p gpui --features bench --benches
- run: cargo check --locked -p gpui_wgpu --benches

test-macos:
name: Test (macOS)
runs-on: macos-latest
native-platform:
name: Native platform (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- run: cargo test -p gpui --features test-support
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
with:
toolchain: 1.95.0
- uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
- name: Ensure Metal toolchain is available
if: runner.os == 'macOS'
run: |
if ! xcrun -f metal > /dev/null 2>&1; then
xcodebuild -downloadComponent MetalToolchain
fi
xcrun -f metal
- run: cargo check --locked --workspace --all-targets
- name: Test macOS platform
if: runner.os == 'macOS'
run: cargo test --locked -p gpui_macos --all-features --all-targets
- name: Test Windows platform
if: runner.os == 'Windows'
run: cargo test --locked -p gpui_windows --all-features --all-targets
- name: Compile Windows shaders in release mode
if: runner.os == 'Windows'
run: cargo check --locked -p gpui_windows --release

check-linux:
name: Check (Linux)
linux-backend:
name: Linux (${{ matrix.backend }})
strategy:
fail-fast: false
matrix:
backend: [wayland, x11]
runs-on: ubuntu-latest
timeout-minutes: 45
env:
BACKEND: ${{ matrix.backend }}
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libwayland-dev \
libxkbcommon-dev \
libx11-xcb-dev \
libxcb-shape0-dev \
libxcb-xfixes0-dev \
libxcb-randr0-dev \
libxcb-xinput-dev \
libxcb-cursor-dev \
libxcb-sync-dev \
libxcb-render0-dev \
libxcb-present-dev \
libfontconfig-dev \
libfreetype-dev \
libvulkan-dev \
clang
- run: cargo check -p gpui --all-targets
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
with:
toolchain: 1.95.0
- uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
with:
key: linux-${{ matrix.backend }}
- name: Install Linux dependencies
uses: ./.github/actions/install-linux-dependencies
- run: cargo check --locked -p gpui_platform --no-default-features --features "$BACKEND" --all-targets
- run: cargo test --locked -p gpui_linux --no-default-features --features "$BACKEND,test-support" --lib

wasm:
name: WebAssembly
runs-on: ubuntu-latest
timeout-minutes: 45
env:
CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_RUSTFLAGS: -C target-feature=+atomics,+bulk-memory,+mutable-globals
steps:
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@fa04a1451ff1842e2626ccb99004d0195b455a88 # master
with:
toolchain: nightly
components: rust-src
targets: wasm32-unknown-unknown
- uses: Swatinem/rust-cache@42dc69e1aa15d09112580998cf2ef0119e2e91ae # v2
with:
key: wasm
- run: cargo +nightly -Zbuild-std=std,panic_abort check --locked --target wasm32-unknown-unknown -p gpui_platform
- run: cargo +nightly -Zbuild-std=std,panic_abort check --locked --target wasm32-unknown-unknown -p gpui --example a11y --example view_example
5 changes: 5 additions & 0 deletions .tasque/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
state.json
state.json.tmp*
.lock
snapshots/
snapshots/*.tmp
5 changes: 5 additions & 0 deletions .tasque/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"schema_version": 1,
"snapshot_every": 200,
"sync_branch": "tsq-sync"
}
Empty file added .tasque/events.jsonl
Empty file.
Loading
Loading