Skip to content

Fix UI glitches, backend security issues, and bump to 7.3.x - #138

Merged
houssemexo26 merged 3 commits into
developfrom
fix/ui-glitches-enhancements
Aug 4, 2026
Merged

Fix UI glitches, backend security issues, and bump to 7.3.x#138
houssemexo26 merged 3 commits into
developfrom
fix/ui-glitches-enhancements

Conversation

@houssemexo26

@houssemexo26 houssemexo26 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Frontend

  • 7 admin CRUD pages (Clients, Projects, Features, Teams, Codes, TypesCodes, Settings) had their table width/spacing CSS scoped to ids that don't exist in the DOM, so it never applied outside the Activities tab.
  • Added delete confirmation to every admin list and team members - none of them had one.
  • Fixed transaprent typo on the Time Tracking/Time Sheet/Activity Management app roots.
  • Fixed Filter drawer's Project field showing "Sub Activity Code" as its label.
  • Fixed TimeTrackingDrawer's outside-click handler (was calling native click() instead of addEventListener, firing a spurious click on mount).
  • Fixed floating-point noise in the daily total display.
  • Removed a global unscoped style rule that added a 30px gap to every table in the app; scoped it to the time sheet table only.
  • Localized hardcoded English table headers and confirm dialogs.
  • Fixed repeating DELETE requests after deleting a timesheet entry: the pending-delete state was never cleared after firing, so any later unrelated toast dismissing anywhere in the app re-fired the same delete against an already-deleted record.
  • Fixed a race condition where starting a second deletion before the first one's undo window elapsed could silently drop the first deletion or delete the wrong row.
  • Fixed Undo not actually cancelling a pending deletion: closeAlert() could synchronously re-trigger the dismiss handler before the pending state was cleared.
  • Fixed a long team list wrapping to 3 lines on the Activities tab, blowing up that row's height; now truncated with a tooltip for the full list.
  • Misc cleanup: dead CSS, 22 no-op confirmDialog assignments, sub-pixel border, forced scrollbar.

Backend

  • Fixed IDOR: any user could update/delete another user's activity records, and delete another user's saved filter.
  • Fixed JPQL injection via unvalidated sortBy query param.
  • Restricted an endpoint that dumped every user's activity records to managers only.
  • Fixed userName spoofing on activity record creation.
  • Fixed the root cause of DELETE activityrecord/{id} returning 500 instead of 404: 8 storage classes threw org.gatein.api.EntityNotFoundException while every layer above caught jakarta.persistence's, so the exception was never actually caught. Fixed the same mismatch everywhere and mapped it to 404 across all REST classes.
  • Stopped TeamStorage from swallowing every exception on team/team-member create/update/delete, which was masking real failures as success.
  • Removed a race condition (unsynchronized static field) and an unbounded, never-invalidated static cache in TeamService/TeamStorage.

Build

  • Bumped parent pom to 21-M01, io.meeds.social to 7.3.x-SNAPSHOT, project version to 1.3.x-SNAPSHOT.
  • Dropped the explicit commons-component-common dependency and its version property: social-component-core already brings it in transitively at the same scope.

@houssemexo26
houssemexo26 requested a review from ahamdi August 4, 2026 12:32
@houssemexo26
houssemexo26 force-pushed the fix/ui-glitches-enhancements branch 3 times, most recently from fb43a03 to 03a53e2 Compare August 4, 2026 13:25
Houssem eXo added 3 commits August 4, 2026 16:43
…d admin pages

- Fix CSS id-scoping bug: 7 admin list components (Clients, Projects,
  Features, Teams, Codes, TypesCodes, Settings) scoped their table
  width/spacing fixes to ids that never existed in the DOM, so they
  silently never applied outside the Activities tab.
- Add missing delete confirmation dialogs across all admin CRUD lists
  and team members to prevent accidental data loss.
- Fix "transaprent" typo on the Time Tracking/Time Sheet/Activity
  Management app roots.
- Fix wrong i18n key showing "Sub Activity Code" instead of "Project"
  in the time sheet filter drawer.
- Fix broken outside-click handler in the Time Tracking drawer that
  used native click() instead of addEventListener.
- Fix floating-point rounding on the daily total display.
- Add missing Sales Order guard to EditTTEntryDrawer to match AddTTEntryDrawer.
- Remove a global unscoped style rule leaking a 30px gap onto every
  data table in the app; scope it to the time sheet table only.
- Localize hardcoded English table headers and confirm-dialog text.
- Clean up dead CSS rules and 22 no-op confirmDialog assignments.
…age layers

- Fix IDOR: any authenticated user could update/delete another user's
  activity records, and delete another user's saved filter. Both now
  require ownership (or the time-tracking-managers role for records).
- Fix JPQL injection via unvalidated sortBy query param in ActivityRecordDAO.
- Restrict the unfiltered "list every user's activity records" endpoint
  to time-tracking managers.
- Prevent userName spoofing on activity record creation for non-managers.
- Fix EntityNotFoundException being invisible to every catch block: 8
  storage classes threw org.gatein.api.EntityNotFoundException while
  every service/REST layer above them caught jakarta.persistence's,
  so not-found conditions silently fell through to generic 500s
  (root cause of the reported 500 on DELETE activityrecord/{id}).
- Map EntityNotFoundException to 404 instead of 500 across all REST
  classes, now that the exception actually reaches them.
- Stop TeamStorage from swallowing every exception in create/update/delete
  team and team-member operations, which masked real failures as success.
- Remove an unsynchronized static field (race condition) and an
  unbounded, never-invalidated static team cache in TeamService/TeamStorage.
Bump parent pom to 21-M01, io.meeds.commons/social to 7.3.x-SNAPSHOT,
and the project version to 1.3.x-SNAPSHOT.
@houssemexo26
houssemexo26 force-pushed the fix/ui-glitches-enhancements branch from a7463e7 to 45026f4 Compare August 4, 2026 14:44
@houssemexo26 houssemexo26 changed the title Fix UI glitches and backend security issues Fix UI glitches, backend security issues, and bump to 7.3.x Aug 4, 2026
@houssemexo26
houssemexo26 merged commit 45026f4 into develop Aug 4, 2026
1 check passed
@houssemexo26
houssemexo26 deleted the fix/ui-glitches-enhancements branch August 4, 2026 15:24
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