Skip to content

[codex] Update Reborn nightly tests for pairing flow - #5714

Merged
serrrfirat merged 1 commit into
mainfrom
codex/fix-reborn-nightly-tests
Jul 6, 2026
Merged

serrrfirat merged 1 commit into
mainfrom
codex/fix-reborn-nightly-tests

Conversation

@serrrfirat

Copy link
Copy Markdown
Collaborator

Summary

  • update Reborn extension E2E expectations for channel pairing-code flows (Connect / Reconnect)
  • update the pending-message sidebar test for the local thread-cache behavior after sends

Why

The Reborn WebUI functionality changed so channel extensions pair through proof-code connection flows instead of credential configure forms. The sidebar send path also updates the thread list cache locally instead of refetching the full /threads list after every successful send. The nightly failures were stale test expectations for those behaviors.

Validation

  • uv run --project tests/e2e pytest scenarios/test_reborn_webui_v2_legacy_extensions.py -q --timeout=120 --durations=10
  • uv run --project tests/e2e pytest scenarios/test_reborn_webui_v2_legacy_pending_messages.py -q --timeout=120 --durations=10
  • combined touched coverage: 40 passed
  • git diff --check

@ironloopai

ironloopai Bot commented Jul 6, 2026 •

Copy link
Copy Markdown
Contributor

✅ IronLoop Review Status

Head: 4787bd3fb0f79386da04c6317af3318c59dadff1
Result: 1/1 reviewers completed without blocking findings.
Next: Ready for normal human review and CI checks.
Updated: 2026-07-06T16:40:07.578Z

Current reviewers:

Reviewer State Verdict Findings Last update
ironloop/common-reviewer (reviewer) Completed Approved 0 blocking findings / 0 notes 2026-07-06T16:36:45.381Z
Reviewer summaries
Reviewer Detail
ironloop/common-reviewer (reviewer) Approved; 0 blocking findings; Reviewed the PR diff. The changes are limited to E2E expectation updates for channel pairing/connect flows and sidebar cache behavior; I did not find a concrete blocking regressio…
Recent activity
Time Reviewer State Detail
2026-07-06T16:35:21.769Z ironloop/common-reviewer (reviewer) Queued Waiting for this reviewer lane to become available.
2026-07-06T16:35:21.834Z ironloop/common-reviewer (reviewer) Queued Added to the local review work handoff.
2026-07-06T16:35:22.648Z ironloop/common-reviewer (reviewer) Started Reviewer worker started attempt 1.
2026-07-06T16:35:25.657Z ironloop/common-reviewer (reviewer) Workspace ready Prepared isolated checkout (merge_ref) at 2b5317f.
2026-07-06T16:36:31.239Z ironloop/common-reviewer (reviewer) Running Codex is reviewing; process live; elapsed 1m 7s; timeout in 18m 53s; last heartbeat 2026-07-06T16:36:31.239Z. Activity (stderr): ...or_request_count(requests: list, count: int, *, timeout: float = 5.0): tests/e2e/scenarios/test_reborn_webui_v2_lega….
2026-07-06T16:36:45.381Z ironloop/common-reviewer (reviewer) Result captured Approved; 0 blocking findings.
2026-07-06T16:36:45.381Z ironloop/common-reviewer (reviewer) Completed Review completed and terminal status was persisted.
2026-07-06T16:40:07.473Z ironloop/common-reviewer (reviewer) Deduplicated Repeated trigger reused the existing review job.
Available commands
  • @ironloop agents
  • @ironloop review
  • @ironloop review --agent <agent-id-or-alias>
  • @ironloop status
Run metadata

Admission: webhook accepted the request and IronLoop persisted review state before this projection.

@coderabbitai

coderabbitai Bot commented Jul 6, 2026 •

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

An error occurred during the review process. Please try again later.

📝 Walkthrough

Summary by CodeRabbit

  • Bug Fixes
    • Updated legacy extension flows to reflect the new Connect/Reconnect pairing experience.
    • Improved channel setup behavior so pairing modals and action labels match the current UI.
    • Ensured pairing codes preserve special characters during setup.
    • Kept the active thread visible in the sidebar without triggering extra refreshes after sending a message.

Walkthrough

This PR renames and rewrites e2e test functions in two legacy WebUI v2 test files. Slack/Telegram legacy-extension tests are updated to assert pairing-code Connect/Reconnect UI instead of Configure/Reconfigure token flows. A separate sidebar test is renamed to verify cached thread visibility without extra refresh requests.

Changes

Legacy extension pairing/connect tests

Layer / File(s) Summary
Slack setup-required pairing modal
tests/e2e/scenarios/test_reborn_webui_v2_legacy_extensions.py
Test renamed to reflect pairing modal; asserts pairing-code UI, disabled Connect button, and absence of Slack bot token/password fields.
Connect/Reconnect label and menu actions
tests/e2e/scenarios/test_reborn_webui_v2_legacy_extensions.py
Tests renamed and updated to assert Connect/Reconnect menu labels, single-Connect action for setup-required channels, and reconnect opening pairing modal without Bot token field.
Telegram pairing-code Connect flow
tests/e2e/scenarios/test_reborn_webui_v2_legacy_extensions.py
Test renamed and rewritten to fill pairing code, click Connect, verify configure heading disappears, and assert redeem request payload/activation instead of Configure/Save submission.

Legacy sidebar cache behavior test

Layer / File(s) Summary
Sidebar cache assertion rewrite
tests/e2e/scenarios/test_reborn_webui_v2_legacy_pending_messages.py
Test renamed from "refresh" to "cache"; removes wait for extra thread-refresh requests, asserts both active and summary thread buttons remain visible, and confirms thread_requests count unchanged.

Estimated code review effort: 2 (Simple) | ~12 minutes

Possibly related PRs

  • nearai/ironclaw#5362: Both PRs update Slack pairing-modal/Connect action flow assertions in e2e tests.
  • nearai/ironclaw#5373: Aligns with the underlying pairing/redeem component changes these e2e tests now validate.
  • nearai/ironclaw#5632: Both PRs update Slack pairing-code assertions replacing legacy message-based Slack flow checks.

Suggested reviewers: think-in-universe

No sandbox, trust, secrets, egress, or migration invariants are touched — this diff is test-assertion-only across two Python e2e files. No panics, unwraps, or Rust code affected; CLAUDE.md/AGENTS.md constraints not implicated.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added size: XS < 10 changed lines (excluding docs) risk: low Changes to docs, tests, or low-risk modules contributor: core 20+ merged PRs labels Jul 6, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates end-to-end tests to reflect UI and API changes related to channel pairing and connection. Specifically, it renames several test cases and updates assertions in test_reborn_webui_v2_legacy_extensions.py to use 'Connect', 'Reconnect', and 'pairing code' terminology instead of 'Configure' and 'token'. It also adds a mock route for the new pairing redemption API endpoint in the Telegram test. Additionally, in test_reborn_webui_v2_legacy_pending_messages.py, it renames a sidebar refresh test to focus on caching and adjusts the assertion timing and request count checks. There are no review comments to address, and I have no additional feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@ironloopai ironloopai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ IronLoop Review: reviewer

Verdict: ✅ Approved
Findings: 0 blocking / 0 notes
Next: No reviewer action needed.
Head: 4787bd3fb0f79386da04c6317af3318c59dadff1

Run details

Status: Current
Needs human: no
Needs validation: no

**Inline candidates:** 0

Summary

Reviewed the PR diff. The changes are limited to E2E expectation updates for channel pairing/connect flows and sidebar cache behavior; I did not find a concrete blocking regression.

Findings

None.

Developer follow-up

After fixing this feedback:

  1. Push the fix to this PR branch.
  2. Re-run this reviewer with @ironloop review --agent reviewer if you only changed this reviewer's findings.
  3. Re-run all reviewers with @ironloop review when the fix may affect multiple areas.
  4. Use @ironloop status to check queued/running/completed/stale/stalled state while reviewers run.

@serrrfirat
serrrfirat marked this pull request as ready for review July 6, 2026 16:40
@railway-app
railway-app Bot temporarily deployed to ironclaw-ci-preview / ironclaw-pr-5714 July 6, 2026 16:42 Destroyed
@serrrfirat
serrrfirat merged commit 6ffdab1 into main Jul 6, 2026
66 checks passed
@serrrfirat
serrrfirat deleted the codex/fix-reborn-nightly-tests branch July 6, 2026 16:44
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

⚠️ 9 Reborn crate(s) have 0 int-tier coverage (target: 0) — ironclaw_embeddings, ironclaw_gateway, ironclaw_hooks, ironclaw_oauth, ironclaw_process_sandbox, ironclaw_prompt_envelope, ironclaw_scripts, ironclaw_skill_learning, ironclaw_tui

Reborn integration-tier coverage

Line coverage (Reborn crates): 28.54% — 49268 / 172605 lines

Per-crate breakdown (62 crates, lowest-covered first)
Crate Line % Covered / Total
ironclaw_embeddings 0% 0 / 337
ironclaw_gateway 0% 0 / 283
ironclaw_hooks 0% 0 / 4468
ironclaw_oauth 0% 0 / 155
ironclaw_process_sandbox 0% 0 / 795
ironclaw_prompt_envelope 0% 0 / 88
ironclaw_scripts 0% 0 / 347
ironclaw_skill_learning 0% 0 / 61
ironclaw_tui 0% 0 / 4776
ironclaw_outbound 0.22% 3 / 1339
ironclaw_event_projections 0.4% 6 / 1489
ironclaw_reborn_event_store 0.66% 6 / 906
ironclaw_reborn_config 1.36% 15 / 1101
ironclaw_llm 3.62% 437 / 12075
ironclaw_event_streams 3.87% 40 / 1034
ironclaw_product_adapter_registry 5.38% 25 / 465
ironclaw_extractors 6.18% 26 / 421
ironclaw_wasm_sandbox_core 7.37% 7 / 95
ironclaw_product_workflow 7.97% 768 / 9635
ironclaw_webui_v2 8.5% 228 / 2683
ironclaw_processes 8.61% 98 / 1138
ironclaw_common 10.22% 74 / 724
ironclaw_events 12.45% 143 / 1149
ironclaw_product_adapters 12.53% 280 / 2234
ironclaw_network 13.25% 66 / 498
ironclaw_skills 14.58% 377 / 2585
ironclaw_first_party_extensions 22.46% 1125 / 5010
ironclaw_triggers 23.1% 663 / 2870
ironclaw_reborn_traces 23.24% 1492 / 6420
ironclaw_secrets 26.22% 450 / 1716
ironclaw_reborn 28.98% 2542 / 8771
ironclaw_reborn_composition 30.36% 9256 / 30483
ironclaw_capabilities 32.97% 580 / 1759
ironclaw_auth 33.09% 667 / 2016
ironclaw_runtime_policy 33.2% 80 / 241
ironclaw_memory_native 37.02% 857 / 2315
ironclaw_host_api 39.9% 942 / 2361
ironclaw_filesystem 40.17% 1403 / 3493
ironclaw_host_runtime 41.16% 6170 / 14989
ironclaw_threads 41.98% 1326 / 3159
ironclaw_trust 42.56% 326 / 766
ironclaw_loop_support 42.68% 3142 / 7362
ironclaw_memory 47.47% 357 / 752
ironclaw_first_party_extension_ports 48.74% 637 / 1307
ironclaw_wasm 48.79% 363 / 744
ironclaw_projects 50% 147 / 294
ironclaw_extensions 51.4% 1211 / 2356
ironclaw_agent_loop 51.49% 2400 / 4661
ironclaw_resources 51.63% 1109 / 2148
ironclaw_run_state 52.73% 222 / 421
ironclaw_authorization 53.54% 461 / 861
ironclaw_turns 57.8% 5222 / 9035
ironclaw_safety 59.38% 1035 / 1743
ironclaw_observability 61.54% 16 / 26
ironclaw_conversations 66.13% 937 / 1417
ironclaw_approvals 66.63% 549 / 824
ironclaw_dispatcher 67.15% 92 / 137
ironclaw_mcp 67.42% 569 / 844
ironclaw_reborn_identity 70.91% 156 / 220
ironclaw_wasm_limiter 74.6% 47 / 63
ironclaw_product_context 78.57% 11 / 14
ironclaw_attachments 84.92% 107 / 126

This signal is informational: coverage never gates the PR — not the percentage, not the per-crate holes, not the 0-coverage callout.

Exemptions (0 file(s) excluded from the accounting above)

No exemptions configured.

This branch was successfully deployed

No deployments
ironclaw-ci-preview / ironclaw-pr-5714 — 4787bd3f Deployed Jul 6, 2026 by railway-app[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: core 20+ merged PRs risk: low Changes to docs, tests, or low-risk modules size: XS < 10 changed lines (excluding docs)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant