-
Notifications
You must be signed in to change notification settings - Fork 364
NAS-138855 / 25.10.2 / UI doesn't properly allow users to input directory services group names into audit watch list and ignore list forms if caching is disabled (by AlexKarpov98) #13009
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: stable/goldeye
Are you sure you want to change the base?
Conversation
…s group names (cherry picked from commit c8881ed)
(cherry picked from commit cccc9ae)
(cherry picked from commit 0d8502e)
- Move debounceTime before API calls using switchMap to prevent race conditions - Move validator attachment to ngAfterViewInit for consistency with existing pattern - Prevents unnecessary API calls on every keystroke (cherry picked from commit 3a55c77)
AlexKarpov98
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ported.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## stable/goldeye #13009 +/- ##
=================================================
Coverage ? 86.14%
=================================================
Files ? 1831
Lines ? 67427
Branches ? 8066
=================================================
Hits ? 58088
Misses ? 9339
Partials ? 0 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
william-gr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The ticket was about audit but this needs to be true for any user/group input that works with directory services.
e.g.
Screen.Recording.2025-12-18.at.10.24.28.AM.mov
|
@william-gr ah, thanks for a good catch! |
|
@william-gr please check it out now. |
|
Do we have to do this for every field/form? This repeats often enough that would make sense to have a user/group field that we can re-use everywhere and avoid code duplication and mistakes. Am I wrong? |
|
@william-gr I already included all required forms. |
My point is, you still have to include the service and set up the validators on every form? What if you just forget the validator? It is a special field type, user and group that behave in a certain way, why not make it so. What am I missing? |
|
@william-gr I think it's a simple component duplication with some extra logic. I don't like that approach. |
The whole mess with user/group and DS explains why I think it could be a better solution. Case in point, it seems we are still missing the plethora of others forms to behave the same way as these. For instance I dont see changes to the ACL and permissions forms. |
|
@william-gr another issue - we have combobox and chips in some places. do you want to create: in this case? 🤔 |
|
@william-gr could you check it closely/carefully please? 🙌 |
| * ></ix-group-chips> | ||
| * ``` | ||
| */ | ||
| @UntilDestroy() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If think we are moving away from UntilDestroy
william-gr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Found some issues:
https://github.com/user-attachments/assets/ef927fc1-492a-40c8-a15d-8b122186649b
No validation is done when you click out of the input with your mouse when there is a popup with some entries.
https://github.com/user-attachments/assets/0fbe6712-b2ee-45e0-ab05-71aaca8b335e
Cant input a custom user/group. This was in ACL edit but seems to happen everywhere
Testing: see ticket.
As a solution - we allow custom values to be set but checking if it actually exists before saving to avoid API call errors.
Preview:
Screen.Recording.2025-12-16.at.10.57.53.mov
Original PR: #12991
UPD:
Components Created (4 total)
Forms Updated (10 forms) ✅
ACL & Permissions (4 forms):
Other Forms (6 forms):
5. ✅ nfs-form.component - maproot/mapall user/group (4 fields)
6. ✅ cron-form.component - Run as user
7. ✅ rsync-task-form.component - User field
8. ✅ service-smb.component - Guest account & admin group
9. ✅ dataset-quota-add-form.component - User/group chips
10. ✅ privilege-form.component - DS groups (uses ix-group-chips)
Forms Correctly NOT Updated (3 forms) ✅
These require custom provider configurations:
- Custom: valueField: 'uid'/'gid', queryType: ComboboxQueryType.Smb
- Reason: SMB-specific ID mapping
- Custom: valueField: 'id'
- Reason: Maps to numeric IDs, not names
- Custom: valueField: 'id'
- Reason: Group selection uses numeric IDs