-
Notifications
You must be signed in to change notification settings - Fork 9.7k
refactor(web): decompose MemorySection into a features/memory vertical slice #5228
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
leonaburime-ucla
wants to merge
37
commits into
nexu-io:main
from
leonaburime-ucla:refactor/web-memory-slice
Closed
Changes from 30 commits
Commits
Show all changes
37 commits
Select commit
Hold shift + click to select a range
58678d9
docs(adr): 0002 frontend vertical-slice decomposition for apps/web go…
e09dc49
refactor(web): decompose MemorySection into a features/memory vertica…
0d8e4ed
fix(web): satisfy noUncheckedIndexedAccess in slice-boundary guard
1a881a1
fix(web): roll back master memory toggle on failed PATCH and enforce …
f2bdd1a
fix(web): roll back per-hook memory flag on thrown PATCH and enforce …
711f483
chore: re-trigger CI (flaky UI P0 entry-chrome-flows timeout, unrelat…
06aef19
fix(web): restore memory extractions after transport failures
10c0f13
fix(web): surface memory read failures
dc0da4a
fix(web): restore memory history when rollback reload fails
f99ea0a
fix(web): preserve memory state on auxiliary read failures
6bca511
test(web): cover connector load error fixture
7f15665
fix(web): reconcile overlapping memory deletes
d2e62d7
chore: drop stale apps/telemetry-worker lockfile importer after rebas…
06eadee
fix(web): resolve three async race conditions in the memory hooks
9c7ed8c
fix(web): harden memory hook staleness tracking against same-id and d…
9c84473
fix(web): close SSE handler-error masking and slice-boundary guard by…
ca8e269
test(web): close memory-slice coverage gaps to 100% branches/function…
e05c1cd
fix(web): fix the general invariant behind the last four review findings
8cbe142
fix(web): route memory connector discovery through the one existing t…
323ca9f
chore: re-trigger CI (flaky Playwright visual settings-workspace avat…
e8a5f83
fix(web): route reload()/reloadExtractions() through the same stalene…
554d8d9
fix(web): close five more guard bypasses codex found on an exhaustive…
28d38c1
fix(web): restore dropped extraction-hook fixes; land the config hydr…
e9f19fd
docs(adr): scope the slice-boundary guard as best-effort, not adversa…
81320e7
fix(web): extract a shared async-commit-guard, fix config/connector r…
4af2df6
fix(web): return preserved state (not []) from a rejected reloadExtra…
6e0e447
fix(web): invalidate the config hydration guard at write-settle too
88f9219
fix(web): reconcile extraction rows by content progression, not recep…
429ac90
refactor(web): rewrite useMemoryExtractions around one explicit order…
245a465
chore: re-trigger CI (flaky HomeView community-filter-decouple test, …
38d38e7
refactor(web): split the extraction-history store out of its hook
075b757
fix(web): fail fast on malformed 2xx entry reads; recognize JS-backed…
0381410
fix(web): split connector catalogue/status guards; fail fast on malfo…
1f62b41
refactor(web): rebuild slice-boundary guard's resolution on ts.resolv…
72f93f7
fix(web): route memory providers through shared required-field readers
f65eea0
fix(web): fix 3 nettee bugs, 2 self-found races, push memory-slice co…
d695f1e
fix(web): harden memory async state and response handling
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🔁 Powered by Looper · runner=reviewer · agent=codex · An autonomous AI dev team for your GitHub repos.patchMemoryExtractionConfig()now throws when a 2xx/api/memory/configresponse is missing the requiredextractionfield, butpersist()still treats this call as if it only returnedundefinedon failure. That leaves both save paths here broken on the new contract: the click handlers (await persist(...)) reject out of the React event with no user-visible failure state, and the debounced BYOK re-sync below (void persist(...)) becomes an unhandled promise rejection. The provider test added in this PR already locks in the thrown malformed-success case, so this caller needs to absorb it explicitly. Please wrap the await intry/catch, keep the prior config on rejection, surface a local failure state instead of throwing out of the component, and add a component test that drives a malformed-success response through both a user-triggered save and the debounced re-sync path.