🚀 Yimaru CI/CD Dashboard

Deployment #435

← Back to List
Repository:

Yimaru/Yimaru-Admin

Branch:

production

Commit:

4acde7ffc93ca74e414b8a7a0cf3a896da1d0b14

Status:

success

Created At:

7/3/2026, 4:27:19 PM

Commands (10)

git stash save "local changes 2026-07-03T16:27:19.837Z"
Success Exit: 0
Output:
No local changes to save
git reset --hard HEAD
Success Exit: 0
Output:
HEAD is now at 2e59a44 Improve bulk email compose with full template list and free-form HTML modes.
git fetch https://***:***@gitea.yaltopia.com/Yimaru/Yimaru-Admin.git production
Success Exit: 0
Error:
From https://gitea.yaltopia.com/Yimaru/Yimaru-Admin
 * branch            production -> FETCH_HEAD
git checkout production
Success Exit: 0
Error:
Already on 'production'
git pull https://***:***@gitea.yaltopia.com/Yimaru/Yimaru-Admin.git production
Success Exit: 0
Output:
Updating 2e59a44..4acde7f
Fast-forward
 src/api/http.ts                                    |  24 +--
 src/api/rbac.api.ts                                |  19 ++
 src/api/team.api.ts                                |   4 +-
 src/assets/personas/amanuel.png                    | Bin 0 -> 50705 bytes
 src/assets/personas/aseffa.png                     | Bin 0 -> 56016 bytes
 src/assets/personas/bethel.png                     | Bin 0 -> 52678 bytes
 src/assets/personas/dawit.png                      | Bin 0 -> 55077 bytes
 src/assets/personas/hana.png                       | Bin 0 -> 54502 bytes
 src/assets/personas/liya.png                       | Bin 0 -> 54812 bytes
 src/assets/personas/mahlet.png                     | Bin 0 -> 60571 bytes
 src/assets/personas/nahom.png                      | Bin 0 -> 57346 bytes
 .../content-management/DynamicSchemaSlotField.tsx  |  11 +-
 .../PracticeQuestionEditorFields.tsx               |  11 +-
 src/components/export/ExportCsvButton.tsx          |   3 +-
 src/components/navigation/PageBackLink.tsx         |  39 ++++
 .../notifications/EmailComposeFields.tsx           |   6 +-
 .../notifications/NotificationDeleteDialog.tsx     |   8 +-
 src/components/personas/PersonaAvatar.tsx          |  43 +++++
 src/components/profile/ProfileAvatarUpload.tsx     |   6 +-
 src/components/topbar/NotificationDropdown.tsx     |   5 +-
 src/components/ui/avatar.tsx                       |   6 +-
 .../video-upload/VideoUploadProgressBar.tsx        |  52 +++++
 src/hooks/useActivePersonas.ts                     |  26 ++-
 src/hooks/useVideoUpload.ts                        |  77 ++++++++
 src/lib/apiErrors.ts                               |  45 +++++
 src/lib/navigateBack.ts                            |  14 ++
 src/lib/personaDisplay.ts                          |  68 ++++++-
 src/lib/practiceEditDirty.ts                       |  66 +++++++
 src/lib/practiceFullMapper.ts                      |  25 ++-
 src/lib/practiceParentTitles.ts                    |  31 ++-
 src/lib/teamRoles.ts                               |  23 +++
 src/lib/video-upload/api.ts                        | 102 ++++++++++
 src/lib/video-upload/tus-upload.ts                 |  61 ++++++
 src/lib/video-upload/types.ts                      |  74 +++++++
 src/lib/video-upload/upload-video.ts               | 213 +++++++++++++++++++++
 src/pages/ProfilePage.tsx                          |   6 +-
 src/pages/SettingsPage.tsx                         |   6 +-
 src/pages/auth/AcceptInvitePage.tsx                |   6 +-
 src/pages/content-management/AddNewLessonPage.tsx  |  45 +++--
 .../content-management/AddNewPracticePage.tsx      |  41 ++--
 src/pages/content-management/AddPracticeFlow.tsx   |  34 ++--
 src/pages/content-management/AddQuestionPage.tsx   |   8 +-
 src/pages/content-management/AddVideoFlow.tsx      |  24 +--
 src/pages/content-management/AllCoursesPage.tsx    |  13 +-
 .../content-management/CourseCategoryPage.tsx      |  15 +-
 src/pages/content-management/CourseDetailPage.tsx  |  34 +---
 .../content-management/CourseFlowBuilderPage.tsx   |  21 +-
 .../content-management/CourseManagementPage.tsx    |  53 ++---
 .../content-management/CourseModuleDetailPage.tsx  | 136 ++++++-------
 src/pages/content-management/CoursesPage.tsx       |   5 +-
 .../content-management/CreateQuestionTypeFlow.tsx  |  30 ++-
 src/pages/content-management/EditPracticeFlow.tsx  | 159 ++++++++-------
 .../HumanLanguageHierarchyPage.tsx                 |  16 +-
 .../HumanLanguageSubModulePage.tsx                 |  15 +-
 src/pages/content-management/LearnEnglishPage.tsx  |  42 ++--
 .../content-management/LessonPracticesPage.tsx     |  11 +-
 .../LinkExistingPracticeFlow.tsx                   |  30 ++-
 src/pages/content-management/ModuleDetailPage.tsx  |  35 ++--
 .../content-management/PracticeDetailsPage.tsx     |   9 +-
 .../content-management/PracticeMembersPage.tsx     |   2 +
 .../content-management/ProgramCoursesPage.tsx      |  51 ++---
 src/pages/content-management/ProgramDetailPage.tsx |  43 +----
 .../ProgramTypeSelectionPage.tsx                   |   2 +
 .../QuestionTypeGroupDetailPage.tsx                |   8 +-
 .../content-management/QuestionTypeLibraryPage.tsx |  25 ++-
 src/pages/content-management/QuestionsPage.tsx     |   2 +
 .../content-management/ReorderContentPage.tsx      |  11 +-
 src/pages/content-management/SpeakingPage.tsx      |  73 +++----
 .../content-management/SubCourseContentPage.tsx    |  49 +++--
 .../content-management/UnitManagementPage.tsx      |  53 ++---
 .../components/AddModuleModal.tsx                  |   6 +-
 .../components/CatalogCoursePracticesPanel.tsx     |  11 +-
 .../components/ContentHierarchyList.tsx            |  15 +-
 .../components/CreatePracticeWizard.tsx            |   9 +-
 .../components/LessonMediaUploadField.tsx          |  99 ++++++----
 .../components/ModuleIconUploadField.tsx           |   6 +-
 .../components/PublishPracticeButton.tsx           |  11 +-
 .../QuestionTypeDefinitionPracticesDialog.tsx      |  12 +-
 .../components/QuestionTypeGroupFormDialog.tsx     |   4 +-
 .../components/UnitPracticesPanel.tsx              |  11 +-
 .../components/practice-steps/ContextStep.tsx      |   3 +-
 .../components/practice-steps/PersonaStep.tsx      |  25 +--
 .../practice-steps/PracticeParentsField.tsx        |  85 ++++----
 .../practice-steps/PracticeSequentialReview.tsx    |  15 +-
 .../components/practice-steps/ScenarioStep.tsx     |   3 +-
 .../practice-steps/SelectPracticeToAttachStep.tsx  |   6 +-
 .../QuestionTypeReviewPublishStep.tsx              |   8 +-
 src/pages/faqs/EditFaqPage.tsx                     |   9 +-
 src/pages/faqs/FaqsPage.tsx                        |  10 +-
 src/pages/faqs/components/CreateFaqDialog.tsx      |   4 +-
 src/pages/faqs/components/FaqAccessDenied.tsx      |   6 +-
 src/pages/faqs/components/FaqDeleteDialog.tsx      |   5 +-
 .../faqs/components/FaqPublicPreviewDialog.tsx     |   3 +-
 src/pages/notifications/AllNotificationsPage.tsx   |   5 +-
 .../notifications/CreateEmailTemplatePage.tsx      |   6 +-
 src/pages/notifications/CreateNotificationPage.tsx |   6 +-
 .../notifications/EmailTemplateDetailPage.tsx      |   8 +-
 src/pages/notifications/EmailTemplatesPage.tsx     |   3 +-
 src/pages/notifications/NotificationsPage.tsx      |   3 +-
 .../notifications/ScheduledNotificationsPage.tsx   |   5 +-
 .../components/EmailTemplateDeleteDialog.tsx       |   6 +-
 src/pages/payments/PaymentsPage.tsx                |   5 +-
 src/pages/personas/PersonasPage.tsx                |  19 +-
 .../personas/components/CreatePersonaDialog.tsx    |   4 +-
 .../personas/components/EditPersonaDialog.tsx      |   6 +-
 .../personas/components/PersonaAccessDenied.tsx    |   6 +-
 .../personas/components/PersonaDeleteDialog.tsx    |   4 +-
 src/pages/personas/components/PersonaForm.tsx      |   7 +-
 .../PersonaProfilePictureUploadField.tsx           |   6 +-
 src/pages/ratings/AppReviewsPage.tsx               |  10 +-
 .../ratings/components/RatingsAccessDenied.tsx     |   6 +-
 src/pages/role-management/AddRolePage.tsx          |  10 +-
 src/pages/role-management/RolesListPage.tsx        |  36 ++--
 .../components/InviteTeamMemberDialog.tsx          |  88 +++++++--
 src/pages/settings/AppVersionsTab.tsx              |   3 +-
 src/pages/settings/SubscriptionPlansTab.tsx        |   3 +-
 .../settings/components/CreateAppVersionDialog.tsx |   3 +-
 .../components/CreateSubscriptionPlanDialog.tsx    |   3 +-
 .../settings/components/DeleteAppVersionDialog.tsx |   6 +-
 .../components/DeleteSubscriptionPlanDialog.tsx    |   6 +-
 .../settings/components/EditAppVersionDialog.tsx   |   3 +-
 .../components/EditSubscriptionPlanDialog.tsx      |   3 +-
 src/pages/team/AddTeamMemberPage.tsx               |  10 +-
 src/pages/team/TeamManagementPage.tsx              |   3 +-
 src/pages/team/TeamMemberDetailPage.tsx            |  94 ++++++++-
 .../user-log/components/ActivityLogListPanel.tsx   |   9 +-
 src/pages/user-management/UserDetailPage.tsx       | 109 +++++++++--
 src/pages/user-management/UsersListPage.tsx        |   5 +-
 src/types/axios.d.ts                               |   8 +
 src/types/course.types.ts                          |   1 +
 130 files changed, 2029 insertions(+), 1030 deletions(-)
 create mode 100644 src/assets/personas/amanuel.png
 create mode 100644 src/assets/personas/aseffa.png
 create mode 100644 src/assets/personas/bethel.png
 create mode 100644 src/assets/personas/dawit.png
 create mode 100644 src/assets/personas/hana.png
 create mode 100644 src/assets/personas/liya.png
 create mode 100644 src/assets/personas/mahlet.png
 create mode 100644 src/assets/personas/nahom.png
 create mode 100644 src/components/navigation/PageBackLink.tsx
 create mode 100644 src/components/personas/PersonaAvatar.tsx
 create mode 100644 src/components/video-upload/VideoUploadProgressBar.tsx
 create mode 100644 src/hooks/useVideoUpload.ts
 create mode 100644 src/lib/apiErrors.ts
 create mode 100644 src/lib/navigateBack.ts
 create mode 100644 src/lib/practiceEditDirty.ts
 create mode 100644 src/lib/video-upload/api.ts
 create mode 100644 src/lib/video-upload/tus-upload.ts
 create mode 100644 src/lib/video-upload/types.ts
 create mode 100644 src/lib/video-upload/upload-video.ts
 create mode 100644 src/types/axios.d.ts
Error:
From https://gitea.yaltopia.com/Yimaru/Yimaru-Admin
 * branch            production -> FETCH_HEAD
bun install
Success Exit: 0
Output:
bun install v1.3.8 (b64edcb4)

Checked 410 installs across 431 packages (no changes) [190.00ms]
Error:
[1.24ms] ".env"
bun run build
Success Exit: 0
Output:
vite v7.3.0 building client environment for production...
transforming...
✓ 2853 modules transformed.
rendering chunks...
computing gzip size...
dist/index.html                                        1.19 kB │ gzip:   0.55 kB
dist/assets/logo-Bg-9_lvv.svg                         10.87 kB │ gzip:   4.90 kB
dist/assets/inter-latin-100-normal-Cg8nSI4P.woff2     23.39 kB
dist/assets/inter-latin-400-normal-C38fXH4l.woff2     23.66 kB
dist/assets/inter-latin-900-normal-D4nM5aha.woff2     23.90 kB
dist/assets/inter-latin-300-normal-BVlfKGgI.woff2     23.92 kB
dist/assets/inter-latin-200-normal-CGIQ4gbF.woff2     23.92 kB
dist/assets/inter-latin-500-normal-Cerq10X2.woff2     24.27 kB
dist/assets/inter-latin-700-normal-Yt3aPRUw.woff2     24.36 kB
dist/assets/inter-latin-800-normal-BYj_oED-.woff2     24.40 kB
dist/assets/inter-latin-600-normal-LgqL8muc.woff2     24.45 kB
dist/assets/inter-latin-100-normal-J9XNenR1.woff      30.37 kB
dist/assets/inter-latin-900-normal-EUCDUbiG.woff      30.68 kB
dist/assets/inter-latin-400-normal-CyCys3Eg.woff      30.70 kB
dist/assets/inter-latin-200-normal-fAycq8N-.woff      30.97 kB
dist/assets/inter-latin-300-normal-i8F0SvXL.woff      31.01 kB
dist/assets/inter-latin-600-normal-CiBQ2DWP.woff      31.26 kB
dist/assets/inter-latin-500-normal-BL9OpVg8.woff      31.28 kB
dist/assets/inter-latin-800-normal-D1mf63XC.woff      31.30 kB
dist/assets/inter-latin-700-normal-BLAVimhd.woff      31.32 kB
dist/assets/amanuel-3PkNQsVd.png                      50.71 kB
dist/assets/bethel-CaBDZdXX.png                       52.68 kB
dist/assets/hana-DkOuFQ0V.png                         54.50 kB
dist/assets/liya-DVdvbcn2.png                         54.81 kB
dist/assets/dawit-COAAGGAT.png                        55.08 kB
dist/assets/aseffa-C4oEbevw.png                       56.02 kB
dist/assets/nahom-DxgM5_gd.png                        57.35 kB
dist/assets/mahlet-Do3fcSgJ.png                       60.57 kB
dist/assets/index-CzqJtgFf.css                       120.39 kB │ gzip:  18.33 kB
dist/assets/index-D6Amb2Tt.js                      2,524.24 kB │ gzip: 633.60 kB
✓ built in 19.86s
Error:
$ vite build
Browserslist: browsers data (caniuse-lite) is 7 months old. Please run:
  npx update-browserslist-db@latest
  Why you should do it regularly: https://github.com/browserslist/update-db#readme

A PostCSS plugin did not pass the `from` option to `postcss.parse`. This may cause imported assets to be incorrectly transformed. If you've recently added a PostCSS plugin that raised this warning, please contact the package author to fix the issue.

(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.
sudo rm -rf "/var/www/html/yimaru_admin"
Success Exit: 0
sudo mv "/home/yimaru/yimaru_admin/dist" "/var/www/html/yimaru_admin"
Success Exit: 0
sudo systemctl restart nginx
Success Exit: 0