Skip to content

Conversation

@mattdawkins
Copy link
Member

@mattdawkins mattdawkins commented Jan 24, 2026

Body:

Summary

  • Add configurable auto-save option that automatically saves annotations after any change
  • Uses 2-second debounce to batch rapid edits and reduce server requests
  • Add auto-save toggle to Settings views (both desktop and web-girder)
  • Save icon shows a gear (mdi-content-save-cog) when auto-save is enabled to visually indicate automated saving is active
  • Disabled by default for backward compatibility

Test plan

  • Enable auto-save in Settings > Annotation Settings
  • Make annotation changes (draw, edit, delete tracks)
  • Verify save occurs ~2 seconds after last change (save icon badge clears)
  • Verify multiple rapid edits are batched into single save
  • Verify save icon shows gear when auto-save is enabled
  • Disable auto-save and verify manual save required again
  • Verify readonly mode prevents auto-save
  • Verify navigation warning still appears if auto-save hasn't completed

The branch contains 2 commits:

  • 2189938 - add auto-save annotations feature with configurable toggle
  • 23b9c63 - add auto-save settings to Settings views and update save icon

mattdawkins and others added 2 commits January 24, 2026 14:29
Adds a new setting to automatically save annotation changes after a 2-second
debounce delay. The feature batches rapid edits to reduce server requests and
respects readonly mode. Disabled by default for backward compatibility.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add auto-save toggle to desktop Settings view under Annotation Settings
- Add Annotation Settings section to web-girder Settings view with
  multi-camera toolbar and auto-save toggles
- Change save icon to show gear (mdi-content-save-cog) when auto-save
  is enabled to visually indicate automated saving is active

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The save() function was unconditionally exiting editing mode before
saving, which caused issues when auto-save was enabled: users would
be kicked out of polygon/segmentation editing mode after 2 seconds
when auto-save triggered.

Added an optional exitEditingMode parameter (defaults to false) so
auto-save no longer disrupts the user's editing session.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Copy link
Collaborator

@naglepuff naglepuff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple of small bits of feedback, but mostly looks good

Comment on lines +22 to +33
<v-row>
<v-col>
<v-switch
v-model="clientSettings.multiCamSettings.showToolbar"
color="primary"
label="Show multi-camera toolbar"
hint="Show multi-camera editing tools in the top toolbar when a track is selected"
persistent-hint
class="my-0"
/>
</v-col>
</v-row>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this isn't related to auto-save, and we don't yet support stereo/multi camera in web, should we remove this for now?

async () => {
if (readonlyState.value) return;
if (pendingSaveCount.value === 0) return;
if (saveInProgress.value) return;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens if a user makes a change while a save is happening? I assume that this debounced function will be scheduled, but may end up returning early if a previous save is still in progress.

Should we also be watching saveInProgress, and check to see if we need to retry the save after the value changes from true to false?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants