Repository navigation
v2.4.0 — Workspace Memory - #8
Conversation
Codex Review SummaryThis 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: b846b42c3d
ℹ️ 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".
| element.value=options?options[0]:''; | ||
| element.dispatchEvent(new Event(element.tagName==='SELECT'?'change':'input')); | ||
| } | ||
| closeModal();navigate('dashboard'); |
There was a problem hiding this comment.
Avoid recording Dashboard during workspace reset
When Reset Workspace is confirmed, this call routes through navigate(), which invokes recordNavigation('center:dashboard'). Consequently, resetting also reorders the recent-tools list and, when its eight-entry limit is full, evicts an existing recent item despite the dialog promising that recents stay in place. Switch views without recording navigation during reset, or preserve and restore the navigation state.
Useful? React with 👍 / 👎.
| const key='pt.workspace.v1'; | ||
| const views=['dashboard','models','performance','system','featurelab','data','apps','network','privacy','automation','journal','experiments','integrations','security','settings']; | ||
| const fields={ | ||
| modelSearch:null,processSearch:null,appSearch:null,featureLabSearch:null,journalSearch:null,privacyAppSearch:null,githubRepoSearch:null, |
There was a problem hiding this comment.
Clear the persisted privacy app search with the session
Persisting privacyAppSearch makes the Privacy center's Clear Session action incomplete: clearPrivacySession() assigns an empty DOM value without dispatching an input event or updating workspaceState, so the previous search remains in pt.workspace.v1 and reappears after restart (and can be written again when another workspace field changes). Update the saved workspace state when this programmatic clear occurs.
Useful? React with 👍 / 👎.
| - name: Require explicit Stable confirmation | ||
| shell: pwsh | ||
| run: | | ||
| if ('${{ inputs.confirmation }}' -ne 'PUBLISH-v2.4.0') { |
There was a problem hiding this comment.
Pass the confirmation input through the environment
A collaborator who can dispatch this workflow can place PowerShell syntax in inputs.confirmation because the expression is interpolated directly into a single-quoted script literal. For example, an input shaped like PUBLISH-v2.4.0') { }; <command>; if ('PUBLISH-v2.4.0 executes <command> while leaving the final comparison false; that command can modify the Windows artifacts before upload, after which the publish job will generate and sign a manifest for them. Bind the input through env and compare the environment variable instead of embedding untrusted text in the script.
Useful? React with 👍 / 👎.
Workspace choices previously reset when the app restarted, and window recovery only checked for a small visible intersection. This release restores the last center, allowlisted search/category/state filters, process sorting (default/name/CPU/memory), and app sorting (default/name/publisher). Saved bounds now fit the available display work area, with recovery on monitor removal and display metric changes. Minimum dimensions adapt to smaller work areas.
Settings includes a confirmed Reset Workspace action for window layout, route, filters and sorting. Pins, recents, provider credentials and other settings are retained. The new IPC action takes no path/bounds parameters and rejects senders other than the app window. The additive pt.workspace.v1 preference record validates route IDs, select options and bounded search text; no AI prompts or credential fields are stored. Existing window-state.json is validated on read without migration.
Validation passed: syntax; workspace preference/geometry/sort tests; navigation; dialog focus; update verification; transaction/rollback; publisher policy tests for all prepared versions; whitespace checks. Actual-page DOM restart/reset checks passed for last center, search/sort restoration, Dashboard reset and retention of pins/provider preferences. Geometry tests cover removed/negative-coordinate monitors, oversized bounds, corrupt preferences and small work areas. These checks do not substitute for native Windows monitor/high-DPI or pixel-layout acceptance.
Version: 2.4.0. README retains v2.2.0 as the published Stable version. Release notes/changelog mark v2.4.0 unreleased. Guarded manual signed publication is prepared; no release is published. Draft pending native Windows monitor removal, 125%/150% scaling, maximized restoration, desktop reset, and Setup/Portable installation/upgrade verification.