fix(portal): delete redirects to parent (no reload/error); chat status bar single-row#288
Merged
Merged
Conversation
…gle-row Delete: on a distributed portal the ancestor-existence walk (a Query per ancestor) can hang cross-partition, stalling the redirect behind the 10s timeout while the just-deleted node's area re-renders and errors (the 'reload then error'). When the immediate parent is a SATELLITE grouping (_Thread, _Activity, …) — the common case, e.g. deleting a thread — resolve the target by PURE PATH (skip satellite segments), immediately, no query. Only a non-satellite virtual parent (…/Script) still needs the existence walk; its fallback is the pure-path ancestor, never the maybe-virtual parent. Status bar: .thread-chat-status-row was flex-wrap:wrap → stays one row (nowrap + overflow:hidden); chips shrink (min-width:0) so long values ellipsis inline; model chip title carries the full path for hover. Tests: DeleteRedirectToExistingParentTest +NearestNonSatelliteAncestor (4/4). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Test Results (shard 5)803 tests +70 623 ✅ +69 3m 27s ⏱️ +50s Results for commit dde6d2c. ± Comparison against base commit f057e77. This pull request removes 34 and adds 104 tests. Note that renamed tests count towards both. |
Test Results (shard 4) 10 files ± 0 10 suites ±0 4m 7s ⏱️ +41s Results for commit dde6d2c. ± Comparison against base commit f057e77. This pull request removes 52 tests. |
Test Results 56 files ± 0 56 suites ±0 21m 51s ⏱️ + 1m 45s Results for commit dde6d2c. ± Comparison against base commit f057e77. This pull request removes 86 and adds 104 tests. Note that renamed tests count towards both. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Delete → redirect to parent
On a distributed portal, the post-delete redirect ran an ancestor-existence Query per ancestor (
ResolveNearestExistingAncestor). Those cross-partition queries can hang, so the redirect stalled behind the 10s timeout while the just-deleted node's area kept re-rendering against a gone node → reload then error, then it fell back to the immediate parent which for a thread is the virtual_Threadsatellite → "No node found".Fix: when the immediate parent is a satellite grouping (
_Thread,_Activity, …) — the common case (deleting a thread) — resolve the redirect target by pure path (walk up past satellite segments), immediately, no query. A non-satellite virtual parent (…/Script) still uses the bounded existence walk, but its fallback is now the pure-path ancestor, never the maybe-virtual immediate parent. Fast, can't hang, lands on a real page.Chat status bar → single row
.thread-chat-status-rowwasflex-wrap: wrap→ nownowrap+overflow: hidden; chips getmin-width: 0so long values ellipsis inline; the model chip'stitlecarries the full path for hover.Tests
DeleteRedirectToExistingParentTest— addedNearestNonSatelliteAncestor_skips_satellite_grouping(thread → user home, comment → thread, real parent kept, top-level → home). 4/4 green, Portal builds-warnaserror.🤖 Generated with Claude Code