Move profile notifications and timelogs pages to Vue 3 rollout
What does this MR do and why?
Moves the pages.profiles.notifications.show and pages.time_tracking.timelogs entry points onto the Vue 3 migration rollout, behind a new beta flag vue3_migrate_profile_time_tracking. Adds vue3_migration.yml files with status: rollout for both, so Rails serves the .vue3 bundle in compat mode when the flag's on, and the Vue 2 bundle otherwise.
No JS changes were needed, since both apps already work under Vue 3 compat. The flag is off by default, so there's no behaviour change for users.
Closing the custom notifications modal logs a Vue 3 only browser warning ("Blocked aria-hidden on an element because its descendant retained focus"). It comes from GlModal under compat rather than from this page's code, so it's out of scope here, but worth watching during rollout.
References
- Feature work item: #630033 (closed)
- Rollout issue: #631028
- Epic: gitlab-org#23066
- Pattern copied from: !251238 (merged)
Screenshots or screen recordings
| Page | Vue 2 (flag off) | Vue 3 (flag on) |
|---|---|---|
| Notifications | ![]() |
![]() |
| Time tracking report | ![]() |
![]() |
How to set up and validate locally
- In the Rails console, enable
global_time_tracking_reportfor your user (the report page needs it) and the migration flag:Feature.enable(:global_time_tracking_report, User.find_by(username: 'root')) Feature.enable(:vue3_migrate_profile_time_tracking) - Restart the frontend dev server so it picks up the new entry map (
gdk restart rspack, orgdk restart vitefor Vite users). - Visit
/-/profile/notificationsand exercise the notification level dropdowns, the Custom modal and its event toggles, and the email listbox. - Visit
/-/timelogsand run a report using the username and date range filters. - Confirm the browser console shows
Using Vue.js 3logs and no Vue warnings. - Disable
vue3_migrate_profile_time_tracking, wait up to a minute for the flag cache to clear, and confirm the Vue 2 bundle is served again.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Related to #630033 (closed)



