-
Notifications
You must be signed in to change notification settings - Fork 3.4k
feat: FIT-1304: Allow strict task overlap enforcement #9273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Filter tasks from the main queue when annotation overlap is reached. This prevents new users from being assigned tasks that already have the required number of annotations. - Add overlap filtering to get_not_solved_tasks_qs() - Keep postponed queue unfiltered (handled via UI read-only mode) - Add frontend handling for overlap_reached flag with disabled buttons
…ue filtering - Exclude GT annotations from distinct annotator count in queue filtering - Use effective overlap limit when agreement_threshold is set
✅ Deploy Preview for heartex-docs canceled.
|
✅ Deploy Preview for label-studio-playground ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for label-studio-docs-new-theme canceled.
|
✅ Deploy Preview for label-studio-storybook ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
- Non-annotators (managers, owners, admins) can access all tasks - Queue filtering only applies to users with is_annotator=True
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #9273 +/- ##
============================================
- Coverage 66.86% 39.36% -27.50%
============================================
Files 833 743 -90
Lines 64953 58299 -6654
Branches 11008 9365 -1643
============================================
- Hits 43431 22951 -20480
- Misses 21518 35344 +13826
Partials 4 4
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
When user tries to submit but another annotator completed the task while they were working, the API returns overlap_reached error. Now the frontend: - Detects the overlap_reached error in showOperationToast - Updates local state and disables Submit/Update/Skip buttons - Shows the informational overlap message instead of generic error
DRF wraps ValidationError dict values in arrays, so: - overlap_reached: [true] instead of overlap_reached: true - code: ["overlap_reached"] instead of code: "overlap_reached" - detail: ["message"] instead of detail: "message" Updated checks to handle both array and non-array formats.
- Rename errorHandlerAllowPaused to errorHandlerAllowSpecialErrors - Allow OVERLAP_REACHED (400) errors to bubble up like PAUSED (403) - Update showOperationToast to skip toast for display_context errors - Also disable submission buttons when overlap error is detected This enables LSE's ApiProvider to show a modal for overlap errors.
- Fix display_context path (result.response.display_context) - Add event listeners for overlap error modal actions - Add closeTask method for DataManager context - Clean up event listeners on destroy - Include reviewers in strict overlap filter
AppStore changes: - Add overlapReached and overlapReachedMessage to model - Add these fields to setFlags allowed names Controls.tsx changes: - Add overlapDisabled check to isDisabled condition - Update submit/update button tooltips to show overlap message buttons.tsx changes: - Add overlapReached check to SkipButton disabled condition - Update skip button tooltip to show overlap message lsf-sdk.js changes: - Use setFlags instead of toggleInterface for overlap state - This properly disables buttons and shows tooltips in UI
Handle Exit Stream button from overlap error modal by calling exitStream()
which uses datamanager.invoke("navigate", "projects") for proper navigation
|
Please add a corresponding command to the Command Palette for this new setting. |
|
/fmt |
Summary
overlap + max_additional_annotators_assignable) whenagreement_thresholdis setTest plan