replace pre-hydration external card navigation with an accessible read-first in-app sheet
safely render snapshot identity and preserve an explicit validated Gitea escape hatch
restore focus on Close/Escape and hand the open identity to the canonical hydrated workspace exactly once
fit the detail at 320x568 with safe-area padding, 44px controls, and no horizontal overflow
Verification
RED: test_progressive_card_opens_safe_in_app_detail_and_hands_it_off_once failed because no in-app click handler existed
RED: test_progressive_detail_is_mobile_safe_and_adopted_by_hydrated_workspace failed because the rendered sheet was absent
focused: 10 passed
full: 2680 passed, 24 skipped
rendered Chromium at 320x568: panel width 320px, Close 44px, no horizontal overflow, no page errors
Closes #1413
## Product slice
- replace pre-hydration external card navigation with an accessible read-first in-app sheet
- safely render snapshot identity and preserve an explicit validated Gitea escape hatch
- restore focus on Close/Escape and hand the open identity to the canonical hydrated workspace exactly once
- fit the detail at 320x568 with safe-area padding, 44px controls, and no horizontal overflow
## Verification
- RED: `test_progressive_card_opens_safe_in_app_detail_and_hands_it_off_once` failed because no in-app click handler existed
- RED: `test_progressive_detail_is_mobile_safe_and_adopted_by_hydrated_workspace` failed because the rendered sheet was absent
- focused: `10 passed`
- full: `2680 passed, 24 skipped`
- rendered Chromium at 320x568: panel width 320px, Close 44px, no horizontal overflow, no page errors
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #1413
Product slice
Verification
test_progressive_card_opens_safe_in_app_detail_and_hands_it_off_oncefailed because no in-app click handler existedtest_progressive_detail_is_mobile_safe_and_adopted_by_hydrated_workspacefailed because the rendered sheet was absent10 passed2680 passed, 24 skipped