Repository navigation
Conversation
Adds list, create, update and delete saved view tools shared by Exie and the MCP server, gated by new saved-views:read and saved-views:write scopes. The server builds the view's filter definitions so views open unmodified, and an open view that is deleted elsewhere clears instead of showing a 404.
# Conflicts: # docs/docs/api/index.md # src/Exceptionless.Core/Services/OAuthService.cs
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f16a85471a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Fixes from review of the saved view tools: - Require a confirmation in a later user message before Exie deletes a view or creates a shared one, enforced on the server - Stop deleting views to share them, which lost columns and links - Reject criteria changes on filter-only views instead of combining them, and keep the search chip last so an OR cannot widen a view - Render page errors inside the app layout, recheck the list before treating a view as missing, and drop deleted views from history - Make saved view creates and deletes immediately consistent - Tell Exie which saved view is open, and require a project when none is current - Remove the timeZone argument, which was never stored - Clear the filter when the last criteria is removed
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9c047a72ff
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Only a complete, plain yes confirms now, so 'yes, but not yet' can't approve a delete. A shared view's confirmation also covers the project it will use, so switching projects before confirming asks again.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a826f3697d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 39fd494d55
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3ecd8db5d5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Limit protected assistant actions to a single confirmed turn and bind approval to the resolved project scope. Keep structured criteria outside OR searches and replace duplicate filter chips. Preserve browser Back navigation when a saved view is deleted, and align tool defaults with resource routes. Add focused confirmation, query-parser, route-schema, and browser-history regressions.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8d96205a2c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Add the explicit Arrange sections required by the repository test conventions. Test behavior is unchanged.
Lets users ask Exie for a saved view ("show production errors for this project") and get one, and exposes the same tools to MCP clients.
flowchart LR E[Exie] --> C{Delete or shared?} C -- needs confirmation --> U[User's next message] C -- otherwise --> T[Saved view tools] U --> T M[MCP clients] --> T T --> H[SavedViewHandler] H --> W[WebSocket update to open tabs]What's new
list_saved_viewssaved-views:readcreate_saved_viewsaved-views:writeupdate_saved_viewsaved-views:writedelete_saved_viewsaved-views:writefilter-definition-contract.jsonis tested from both C# and TypeScript. Filter-only views reject criteria changes, and onlyquerycan replace them.shared; last 7 days (none for the stream); open and regressed only (except sessions).(app)route, so navigation and Exie's panel stay open. A view missing from the list is rechecked first, and a view deleted elsewhere clears with a toast.:writeamber badges are in the admin and grants tables, not on the consent page.Upgrade behavior
Tokens don't gain scopes, so existing clients get
forbiddenuntil the user re-authorizes while requesting them. For applications with admin-saved scopes, an admin must add them first.Decisions for review
saved-views:writeon one click, as withstacks:write. Unchecking write scopes would be a separate change.Delta.Patchskips nulls, so the app's Save appears unable to clear a filter. The tools work around it; the app needs its own fix.Testing
e925b0d33, including API, client, and all e2e shardsNot run: any real model, including the new
ProjectPage_CreatesASavedViewForTheCurrentProjecteval. Exie has only run against a scripted model.