on it
[Bug]: Artifacts and logs retention controls flicker and shift while changing days#26327
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/desktop
T3 Code Nightly desktop app on macOS. The affected controls are shared with apps/web.
Steps to reproduce
Based on the reporter's screen recording:
- Open Settings → Maintenance → Artifacts and logs.
- Enable Delete old browser artifacts or Delete old rotated logs if the corresponding rule is off.
- Click the day field's + and − buttons repeatedly, including crossing 9 ↔ 10 days.
- Observe the field/button positions and the status text beneath the row while changes are applied.
The recording also shows “Mixed across selected machines” appearing during edits. To investigate that part of the behavior, use a settings scope covering multiple machines. The crop does not show which machines were selected or their connection states. A single-machine reproduction has not been established.
Expected behavior
Changing retention days keeps the controls visually stable and their buttons in a predictable position. Applying an edit should not make the row repeatedly grow and shrink as its status updates.
Actual behavior
Both retention controls visibly flicker/jump during repeated edits:
- The number field changes width when the value crosses between one and two digits, moving the decrement button horizontally.
- “Mixed across selected machines” appears and disappears below the description during edits, changing the row height and shifting the controls/content vertically.
The supplied 16.7-second recording shows edits to browser-artifact retention first, followed by rotated-log retention, then more edits to both. The later portion clearly shows the extra status line coming and going. This report concerns the visible layout instability; it does not establish incorrect persistence, deletion, or a failed save.
Impact
Cosmetic issue
The moving controls make repeated adjustments distracting and harder to target.
Version or commit
0.1.4-nightly.20261027.3796 (T3 Code Nightly desktop app). Identified from the local installed app and running server metadata after the report was filed. The recording was captured on 2026-10-28 at approximately 02:25 America/Caracas (06:25 UTC).
For source investigation only, current upstream main was inspected at c0f9e36184956994d6d26c6f3e526676380161d3. This is not a claim that the recording used that commit.
Environment
- T3 Code Nightly desktop app, 0.1.4-nightly.20261027.3796
- macOS 26.6.2 (25G83), Apple Silicon / arm64
- Electron 44.9.3
- The recording shows a mixed-machine settings status; selected-machine identities and connection states were not collected.
Environment details were obtained read-only from the installed app, macOS version information, and runtime logs. No additional live reproduction was performed.
Logs or stack traces
Read-only local checks established the runtime context:
- Installed app metadata identifies
0.1.4-nightly.20261027.3796; server runtime metadata reports the same version, started at2026-10-28T03:30:46.385Z. - Desktop updater logs record that version downloading at
03:30:23Z, followed by the desktop session starting at approximately03:30:40Z, before the recording. - Desktop renderer samples show the main app session running around
06:25Z; server traces recordserver.updateSettingscalls during the recording interval.
These checks identify the local runtime and correlate settings activity with the clip. They do not establish a root cause for the layout shifts.
Screenshots, recordings, or supporting files
Original reporter recording, 16.7 seconds, 1940 × 368, captured on 2026-10-28 at approximately 02:25 America/Caracas. The original MOV is uploaded below; it shows both the horizontal control shifts and the mixed-machine status line appearing/disappearing.
https://github.com/user-attachments/assets/dab824ed-613d-4c2a-89a0-0e0dc799ae56
Relevant source, as investigation pointers rather than a confirmed complete cause:
RetentionControlsizes the input from the current digit count and uses content-based sizing.StorageCleanupSectionsderives the mixed-machine status by comparing each target's saved value.SettingsRowconditionally renders the status line.
Related reports checked: #23788 and #25552 describe dialog flicker while scrolling, rather than retention controls shifting during value edits. #14743 concerns activating an intermediate retention period when enabling a rule. None describes this recorded layout behavior. Open and closed issues and related discussions were searched before filing.
Workaround
None verified.