Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
1c84587
chore(deps): upgrade leptos 0.7 -> 0.8 to resolve wasm-streams dup
intendednull Apr 26, 2026
9d7a919
ci: force pipefail on tee-piped steps so failures actually fail
intendednull Apr 26, 2026
3c61381
fix(web): unbreak foundation token tests + restore --focus-ring
intendednull Apr 26, 2026
b833342
fix(test): align queue_note row tests with the Phase 2b InlineQueueNo…
intendednull Apr 26, 2026
77e20f5
fix(test): synchronize sync-queue toast/banner tests on real animatio…
intendednull Apr 26, 2026
a625105
fix(e2e): replace stale .server-gear-btn with [aria-label="grove menu"]
intendednull Apr 26, 2026
20e808a
fix(e2e): install Firefox in setup script for cross-browser tests
intendednull Apr 26, 2026
99298c9
fix(e2e): replace stale .net-status-footer with .main-pane-header
intendednull Apr 26, 2026
92de9d4
fix(e2e): open member list before counting in kick test
intendednull Apr 26, 2026
7f88280
fix(e2e): increase post-join + test timeouts for slow CI gossip
intendednull Apr 26, 2026
79a88da
fix(e2e): set joiner display name on welcome step-1 + extend test bud…
claude Apr 26, 2026
94876c9
fix(e2e): rewrite createChannel for kind-picker UI + bump mid-session…
claude Apr 27, 2026
db97676
fix(e2e): bump message-sync waits + close drawer before mobile sendMe…
claude Apr 27, 2026
a46f000
fix(e2e): bump sendMessage own-render waitFor 10 s → 30 s
claude Apr 27, 2026
b91ff86
fix(e2e): replace sendMessage own-render polling with input-clear event
claude Apr 27, 2026
21741ca
Merge remote-tracking branch 'origin/main' into claude/fix-ci-387-YGPNa
claude May 1, 2026
fcb5b38
test(e2e): port createChannel/getPeerId fixes + migrate failing specs…
claude May 1, 2026
a6dfb64
fix(e2e): trunk serve --no-autoreload so CSP doesn't block app load
claude May 1, 2026
0ff27a7
fix(e2e): build trunk against index.test.html with relaxed CSP for dev
claude May 1, 2026
e226322
fix(test-hooks,e2e): heads serialize as object + grove-header selector
claude May 2, 2026
9ace026
fix(e2e): allow http: in connect-src so iroh can probe local relay
claude May 2, 2026
51267ca
fix(e2e): drain WASM event buffer in peer() + bump heads-equal cold-s…
claude May 2, 2026
c8bf16c
fix(e2e): bump joinViaInvite channel-item wait to 60s for cold-start
claude May 2, 2026
86c54a0
fix(test-hooks): resolve channel_id to channel name in wire dispatcher
claude May 2, 2026
c804e42
fix(e2e): migrate mobile helpers off waitForTimeout to selector waits
claude May 2, 2026
052d986
fix(e2e): repair cross-browser + member-list specs
claude May 2, 2026
fa81142
fix(ci): repair browser test assertions + run Playwright sequentially
claude May 2, 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
8 changes: 8 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ jobs:
key: clippy-${{ hashFiles('**/Cargo.lock') }}
restore-keys: clippy-
- id: clippy
# Steps with `id:` end up with `bash -e {0}` (no pipefail) on this runner,
# so `... | tee` would silently mask failures. Force pipefail on.
shell: bash --noprofile --norc -eo pipefail {0}
run: cargo clippy --workspace --all-targets -- -D warnings 2>&1 | tee /tmp/clippy.log
- name: Surface clippy failure
if: failure() && steps.clippy.conclusion == 'failure'
Expand Down Expand Up @@ -85,6 +88,7 @@ jobs:
key: test-${{ hashFiles('**/Cargo.lock') }}
restore-keys: test-
- id: test
shell: bash --noprofile --norc -eo pipefail {0}
run: cargo test --workspace 2>&1 | tee /tmp/test.log
- name: Surface test failure
if: failure() && steps.test.conclusion == 'failure'
Expand Down Expand Up @@ -145,6 +149,10 @@ jobs:
with:
tool: wasm-pack
- id: browser
# `bash -e {0}` (default) does NOT enable pipefail, so `wasm-pack ... | tee`
# would silently mask failures (tee always exits 0). Use an explicit shell
# invocation that turns pipefail on so the link/test exit code surfaces.
shell: bash --noprofile --norc -eo pipefail {0}
run: wasm-pack test --headless --firefox crates/web 2>&1 | tee /tmp/browser.log
- name: Surface browser-test failure
if: failure() && steps.browser.conclusion == 'failure'
Expand Down
13 changes: 13 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,19 @@ jobs:

- name: Run full E2E flow (setup + tests + teardown)
id: e2e
shell: bash --noprofile --norc -eo pipefail {0}
# PLAYWRIGHT_WORKERS=1: the multi-peer + cross-browser specs
# share a single relay + iroh-gossip mesh, and parallel cold
# starts make two peer pairs race on the relay handshake, so
# the first 30–50 s of dial timeouts blow past the per-spec
# deadline. Sequential execution keeps the warm-relay path
# the dominant cost; the full suite settles in ~8–10 min on
# a fresh runner. PLAYWRIGHT_RETRIES=0 mirrors local CI runs
# and keeps failures actionable instead of papering over them
# with flake retries.
env:
PLAYWRIGHT_WORKERS: '1'
PLAYWRIGHT_RETRIES: '0'
run: just test-e2e-full 2>&1 | tee /tmp/e2e.log
- name: Surface E2E failure
if: failure() && steps.e2e.conclusion == 'failure'
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/target
dist
crates/web/index.test.html
project/.obsidian/
web/pkg/
.claude/settings.local.json
Expand Down
Loading