Add resizable saved-view columns - #2421
Conversation
9d9adb1 to
9eb09f6
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9eb09f6ab6
ℹ️ 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: 16bbb8a14a
ℹ️ 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: 028da3feea
ℹ️ 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".
|
/preview |
|
Preview deploy running - view progress Building images and deploying the shared dev environment. This comment will update with the dev URL when the deploy finishes.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5e177baeaf
ℹ️ 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".
|
/preview |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8158f17104
ℹ️ 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".
|
/preview |
|
/preview |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 16362ae1f5
ℹ️ 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".
| public int? Position { get; set; } | ||
|
|
||
| /// <summary>Column width in pixels. Null means use the table default width.</summary> | ||
| public int? Width { get; set; } |
There was a problem hiding this comment.
Publish the saved-column numeric bounds
OpenAPI and the generated Zod schema expose position and width as unconstrained integers, but NewSavedView.ValidateColumns rejects positions outside 0–49 and widths outside 48–1200. Consequently, API clients can successfully validate values such as position: -1 or width: 1 against the published contract and then receive a 422 response; add schema-visible range annotations and regenerate the contract and client schemas.
AGENTS.md reference: AGENTS.md:L68-L68
Useful? React with 👍 / 👎.
Summary
columnsproperty, keyed by column ID with{ visible, position, width }settings.column_orderand avoid introducing a parallelcolumn_settingsproperty.columnsvalues, fold incolumn_order, and remove the legacy field.Why
Project names are commonly truncated, and column width customizations should follow the saved view. Keeping one extensible
columnsmap also gives future column settings a stable place without adding more top-level fields.Migration and rollout
This intentionally changes the persisted and API shape of
columnsfrom boolean values to settings objects and removescolumn_order. There are no older clients to support, but existing saved-view documents must be migrated.The Migration job runs version 4 before predefined saved views are seeded. The migration is resumable, uses optimistic concurrency to protect edits made while it runs, and can be retried safely after a conflict. The updated web application may return brief saved-view errors until the migration completes.
Validation
dotnet build tests/Exceptionless.Tests/Exceptionless.Tests.csproj --no-restore -m:1— 0 warnings, 0 errorsnpm run validate— formatting, Svelte diagnostics, and lint passedgit diff --check— clean