{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":27940263,"defaultBranch":"master","name":"WikiEduDashboard","ownerLogin":"WikiEducationFoundation","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-12-12T22:13:19.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/9489865?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1719876109.0","currentOid":""},"activityList":{"items":[{"before":"a09b4113f05b1c48beaccbef5365fcca686069b7","after":"2a172b32e4b77103aec3c6874a277d993c3e3700","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-08-12T18:18:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"[WIP] [Data rearchitecture] Try to fix ingestion process (#5924)\n\n* Create timeslices from 3 days before the course start date. This is because I suspect that there is a timezone bug when copying a course that makes us try to update timeslices that weren't created yet. Add a sentry log if this happens. Update the specs. We likely want to rollback this commit when implementing updates of timeslices when course dates change.\r\n\r\n* Comment line to copy timeline data in CopyCourse class because it breaks the course copy process in some cases.","shortMessageHtmlLink":"[WIP] [Data rearchitecture] Try to fix ingestion process (#5924)"}},{"before":"3cd087e306687450f25a0d2391b81a63abd84013","after":"19d2f495edcfce0fa75262642a4f788b7de5cd6a","ref":"refs/heads/Om-Training","pushedAt":"2024-08-12T17:38:59.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"ragesoss","name":"Sage Ross","path":"/ragesoss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/848483?s=80&v=4"},"commit":{"message":"Merge pull request #5889 from omChauhanDev/feature/transfer-module-between-categories\n\n4. feature/transferring training modules between categories","shortMessageHtmlLink":"Merge pull request #5889 from omChauhanDev/feature/transfer-module-be…"}},{"before":"0b89dc5c41484af48e5bcb1a49a8ffeedda54b7d","after":"ab57e2027a3d824a27e2da111212a2e6cf8ed3c0","ref":"refs/heads/master","pushedAt":"2024-08-12T17:38:31.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"ragesoss","name":"Sage Ross","path":"/ragesoss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/848483?s=80&v=4"},"commit":{"message":"Merge pull request #5919 from PR4NJ41/course_type\n\nChanged the course type for some courses while copying it from one server to another","shortMessageHtmlLink":"Merge pull request #5919 from PR4NJ41/course_type"}},{"before":"6cb669e50da69ae6ef7f34fc266c4cb1b5ab3a58","after":"0b89dc5c41484af48e5bcb1a49a8ffeedda54b7d","ref":"refs/heads/master","pushedAt":"2024-08-12T12:20:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"translatewiki","name":"translatewiki.net","path":"/translatewiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24829418?s=80&v=4"},"commit":{"message":"Localisation updates from https://translatewiki.net.","shortMessageHtmlLink":"Localisation updates from https://translatewiki.net."}},{"before":"6b0e291105ae46ea59789adbd7eb1d3c6df6a443","after":"a09b4113f05b1c48beaccbef5365fcca686069b7","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-08-09T22:13:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"[Data rearchitecture] Fix `update_last_mw_rev_datetime` logic. (#5923)\n\n* Update the logic behind update_last_mw_rev_datetime. Now last_mw_rev_datetime has the datetime for the latest revision fetched for that timeslice period. The last_mw_rev_datetime field is nil if no revision was fetched for that period, either because the period hasn't been processed yet or because there were no revisions during that time.","shortMessageHtmlLink":"[Data rearchitecture] Fix update_last_mw_rev_datetime logic. (#5923)"}},{"before":"ec9c47e3e40905052c4d7c4aabfa5674739921f3","after":"6b0e291105ae46ea59789adbd7eb1d3c6df6a443","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-08-08T16:13:44.000Z","pushType":"pr_merge","commitsCount":34,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"Merge pull request #5922 from gabina/data-rearchitecture-sync-with-master\n\n[Data rearchitecture] sync with master","shortMessageHtmlLink":"Merge pull request #5922 from gabina/data-rearchitecture-sync-with-ma…"}},{"before":"f85a9366df8a15b2eac42d578b8ada61e4da2f54","after":"ec9c47e3e40905052c4d7c4aabfa5674739921f3","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-08-08T13:35:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"[Data rearchitecture] Allow deleting tracked course wikis (#5920)\n\n* Add methods to remove existing timeslices when a course wiki is deleted\r\n\r\n* Add ArticlesCoursesCleanerTimeslice to delete articles courses when untracking a course wiki for a course\r\n\r\n* Add worker to schedule deletion for timeslices and articles courses\r\n\r\n* Use the new worker to schedule deletion tasks when deleting course wikis","shortMessageHtmlLink":"[Data rearchitecture] Allow deleting tracked course wikis (#5920)"}},{"before":"2dc0415ee03b2ef917d932fe97791484dd9e34e2","after":"6cb669e50da69ae6ef7f34fc266c4cb1b5ab3a58","ref":"refs/heads/master","pushedAt":"2024-08-08T12:19:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"translatewiki","name":"translatewiki.net","path":"/translatewiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24829418?s=80&v=4"},"commit":{"message":"Localisation updates from https://translatewiki.net.","shortMessageHtmlLink":"Localisation updates from https://translatewiki.net."}},{"before":"fc1509dc80a56d3b04d0ec916cceab566341dfde","after":"2dc0415ee03b2ef917d932fe97791484dd9e34e2","ref":"refs/heads/master","pushedAt":"2024-08-05T12:19:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"translatewiki","name":"translatewiki.net","path":"/translatewiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24829418?s=80&v=4"},"commit":{"message":"Localisation updates from https://translatewiki.net.","shortMessageHtmlLink":"Localisation updates from https://translatewiki.net."}},{"before":"70ba3a8bcc6cd656fd7aa9758b2ed4561ee3611f","after":"fc1509dc80a56d3b04d0ec916cceab566341dfde","ref":"refs/heads/master","pushedAt":"2024-08-02T19:59:10.000Z","pushType":"pr_merge","commitsCount":14,"pusher":{"login":"ragesoss","name":"Sage Ross","path":"/ragesoss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/848483?s=80&v=4"},"commit":{"message":"Merge pull request #5917 from PR4NJ41/master\n\nEnhanced Mobile Responsiveness and UI Refinements in Course Pages","shortMessageHtmlLink":"Merge pull request #5917 from PR4NJ41/master"}},{"before":"f8bb137d3e9b0e9626e4462683a44c63eea80d1f","after":"f85a9366df8a15b2eac42d578b8ada61e4da2f54","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-08-01T16:36:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"Comment out the rebuild_articles_courses call in CleanArticlesCoursesWorker (#5918)\n\nThis PR comments out the rebuild_articles_courses call in CleanArticlesCoursesWorker.\r\nAs part of the daily update, we clean articles courses based on the persisted revisions. Since\r\nwe don't have revisions at all in our data base now, this causes all the existing articles courses to be deleted.","shortMessageHtmlLink":"Comment out the rebuild_articles_courses call in CleanArticlesCourses…"}},{"before":"3604b5be06ec4459ea9a572da39ad2a953b151c7","after":"f8bb137d3e9b0e9626e4462683a44c63eea80d1f","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-07-31T01:37:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"[Data rearchitecture] Start using the new UpdateCourseStatsTimeslice class (#5915)\n\n* Make CourseDataUpdateWorker use new UpdateCourseStatsTimeslice class\r\n\r\n* Update CopyCourse class to create timeslices\r\n\r\n* Create manual_update_timeslice route to trigger a manual update using new timeslice class","shortMessageHtmlLink":"[Data rearchitecture] Start using the new UpdateCourseStatsTimeslice …"}},{"before":"dd40ba40f38acfc49d713d44dc816550ca78cd59","after":"3604b5be06ec4459ea9a572da39ad2a953b151c7","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-07-29T21:26:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"[Data rearchitecture] Improve UpdateCourseStatsTimeslice after local test (#5912)\n\n* Update CourseRevisionUpdater to fetch revisions up to today or up to course end. Add new specs for that\r\n\r\n* Modify CourseRevisionUpdater to retrieve update start and update end datetimes for every wiki (along with all new revisions)\r\n\r\n* Update last_mw_rev_datetime after fetching new revisions and updating caches\r\n\r\n* Fix duplicate user ids in ArticlesCourses\r\n\r\n* Add comments about issue when calculating view_sum cache for courses.","shortMessageHtmlLink":"[Data rearchitecture] Improve UpdateCourseStatsTimeslice after local …"}},{"before":"5b643987c7896b5ee0f23ddcd9a2f22c3c5a6ba3","after":"70ba3a8bcc6cd656fd7aa9758b2ed4561ee3611f","ref":"refs/heads/master","pushedAt":"2024-07-29T12:23:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"translatewiki","name":"translatewiki.net","path":"/translatewiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24829418?s=80&v=4"},"commit":{"message":"Localisation updates from https://translatewiki.net.","shortMessageHtmlLink":"Localisation updates from https://translatewiki.net."}},{"before":"56135b53da9cd6d3120dc6026f97c2f7598a88ef","after":"5b643987c7896b5ee0f23ddcd9a2f22c3c5a6ba3","ref":"refs/heads/master","pushedAt":"2024-07-25T12:21:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"translatewiki","name":"translatewiki.net","path":"/translatewiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24829418?s=80&v=4"},"commit":{"message":"Localisation updates from https://translatewiki.net.","shortMessageHtmlLink":"Localisation updates from https://translatewiki.net."}},{"before":"69b452d856c27f40435d1f54a1cd3b866609ef37","after":"dd40ba40f38acfc49d713d44dc816550ca78cd59","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-07-24T00:20:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"Data rearchitecture move logic to course revision updater (#5908)\n\n* Move revision importing and articles courses creation to the existing CourseRevisionUpdater\r\n\r\n* Remove timeslice_start and timeslice_end arguments from UpdateCourseStatsTimeslice constructor","shortMessageHtmlLink":"Data rearchitecture move logic to course revision updater (#5908)"}},{"before":"509930fc928a42d71d576b56db2931297b34cb6e","after":"56135b53da9cd6d3120dc6026f97c2f7598a88ef","ref":"refs/heads/master","pushedAt":"2024-07-23T22:40:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ragesoss","name":"Sage Ross","path":"/ragesoss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/848483?s=80&v=4"},"commit":{"message":"Be more explicit about how to enable systemd service\n\nAlthough `service start` works to start a process, it won't automatically restart unless enabled with systemctl. Whoops.","shortMessageHtmlLink":"Be more explicit about how to enable systemd service"}},{"before":"c6d4cf2f1e8aceb3e117d2d825d0a19cfb4fdff5","after":"509930fc928a42d71d576b56db2931297b34cb6e","ref":"refs/heads/wmflabs","pushedAt":"2024-07-23T22:25:59.000Z","pushType":"push","commitsCount":43,"pusher":{"login":"ragesoss","name":"Sage Ross","path":"/ragesoss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/848483?s=80&v=4"},"commit":{"message":"Migrated code from Class based component to Function based component of WikiSelect component (#5850)\n\n* Convert Wikiselect component from class-based to functional\r\n\r\n* Converted wikiselect component fom class based to functional\r\n\r\n* Update Gemfile.lock\r\n\r\n* Update wiki_select.jsx\r\n\r\n* Added overlooked comments\r\n\r\n---------\r\n\r\nCo-authored-by: Shiven Ahuja ","shortMessageHtmlLink":"Migrated code from Class based component to Function based component …"}},{"before":"defc825976caa35767eac9e270821a30f5d9ad6e","after":"509930fc928a42d71d576b56db2931297b34cb6e","ref":"refs/heads/master","pushedAt":"2024-07-23T22:24:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ragesoss","name":"Sage Ross","path":"/ragesoss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/848483?s=80&v=4"},"commit":{"message":"Migrated code from Class based component to Function based component of WikiSelect component (#5850)\n\n* Convert Wikiselect component from class-based to functional\r\n\r\n* Converted wikiselect component fom class based to functional\r\n\r\n* Update Gemfile.lock\r\n\r\n* Update wiki_select.jsx\r\n\r\n* Added overlooked comments\r\n\r\n---------\r\n\r\nCo-authored-by: Shiven Ahuja ","shortMessageHtmlLink":"Migrated code from Class based component to Function based component …"}},{"before":"91c3ddfbd8e92cf64c2da45b6e979c15fb2cf63e","after":"69b452d856c27f40435d1f54a1cd3b866609ef37","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-07-23T22:00:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"[Data rearchitecture] Use timeslice manager to create empty timeslices (#5903)\n\n* Create article course timeslices as part of update_from_course_revisions using the timeslice manager\r\n\r\n* Create course user wiki timeslices when new user joins a course\r\n\r\n* Create course wiki timeslices and course user wiki timeslices when new course wikis are added to a course\r\n\r\n* Make UpdateCourseStatsTimeslice class to find and update the right timeslices (given the revision date). Only works for daily timeslices.\r\n\r\n* Make UpdateCourseStatsTimeslice fetch revisions based on last_mw_rev_datetime and course end date.\r\n\r\n* Add last_mw_rev_datetime field to course_wiki_timeslices\r\n\r\n* Add unique index for course wiki timeslices\r\n\r\n* Create timeslices when populating dashboard\r\n\r\n* Update erd file","shortMessageHtmlLink":"[Data rearchitecture] Use timeslice manager to create empty timeslices ("}},{"before":"011a7f5601d4fa254c05f02840073a2bf7614d92","after":"defc825976caa35767eac9e270821a30f5d9ad6e","ref":"refs/heads/master","pushedAt":"2024-07-22T15:41:42.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"ragesoss","name":"Sage Ross","path":"/ragesoss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/848483?s=80&v=4"},"commit":{"message":"Merge pull request #5872 from shiven16/admin_form\n\nConverted add_admin_formComponent from class based to function based","shortMessageHtmlLink":"Merge pull request #5872 from shiven16/admin_form"}},{"before":"4623bfd5634de67be097ac17040b182d0bd7c76a","after":"011a7f5601d4fa254c05f02840073a2bf7614d92","ref":"refs/heads/master","pushedAt":"2024-07-19T16:02:25.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"ragesoss","name":"Sage Ross","path":"/ragesoss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/848483?s=80&v=4"},"commit":{"message":"Merge pull request #5898 from PR4NJ41/master\n\nAdded functionality to copy training modules when copying a course","shortMessageHtmlLink":"Merge pull request #5898 from PR4NJ41/master"}},{"before":"db7509d818b58eb5aabadb95699e18d1a5128af7","after":"4623bfd5634de67be097ac17040b182d0bd7c76a","ref":"refs/heads/master","pushedAt":"2024-07-18T12:20:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"translatewiki","name":"translatewiki.net","path":"/translatewiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24829418?s=80&v=4"},"commit":{"message":"Localisation updates from https://translatewiki.net.","shortMessageHtmlLink":"Localisation updates from https://translatewiki.net."}},{"before":"2631934e990989ce3d9edf287cce7976a14a1a41","after":"91c3ddfbd8e92cf64c2da45b6e979c15fb2cf63e","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-07-16T17:02:06.000Z","pushType":"pr_merge","commitsCount":50,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"Merge pull request #5895 from gabina/data-rearchitecture-implement-timeslice-manager\n\n[Data rearchitecture project] Implement timeslice manager #5895\r\n\r\nThis PR implements (a first version of) the TimesliceManager class and specs for it.\r\nThe TimesliceManager class takes care of creating the timeslices records (article_course_timeslices, course_user_wiki_timeslices and course_wiki_timeslices) for a given course","shortMessageHtmlLink":"Merge pull request #5895 from gabina/data-rearchitecture-implement-ti…"}},{"before":"ffa55385d960f68e5bf650631b2baa1a004d9437","after":"2631934e990989ce3d9edf287cce7976a14a1a41","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-07-16T15:17:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"[Data rearchitecture project] Refactor timeslices models so that they don't use join fields (#5899)\n\n* Refactor ArticleCourseTimeslices model. Instead of having an article_course_id field, now it has two separate fields: article_id and course_id. Update specs.\r\n\r\n* Refactor CourseUserWikiTimeslices model. Instead of having a single course_user_id field, now it has two separate fields: course_id and user_id. Update specs.\r\n\r\n* Refactor CourseWikiTimeslices model. Instead of having a single course_wiki_id field, now it has two separate fields: course_id and wiki_id. Update specs.","shortMessageHtmlLink":"[Data rearchitecture project] Refactor timeslices models so that they…"}},{"before":"b795ae87e7e92f2fb47bf0299f48c499f1ec6bfe","after":"db7509d818b58eb5aabadb95699e18d1a5128af7","ref":"refs/heads/master","pushedAt":"2024-07-15T17:04:32.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ragesoss","name":"Sage Ross","path":"/ragesoss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/848483?s=80&v=4"},"commit":{"message":"Merge pull request #5896 from Abishekcs/add-settings-link-from-admin\n\nAdd link to settings page from admin page","shortMessageHtmlLink":"Merge pull request #5896 from Abishekcs/add-settings-link-from-admin"}},{"before":"e1bcac3a8623c5820828ad78edee919de8f9dd78","after":"b795ae87e7e92f2fb47bf0299f48c499f1ec6bfe","ref":"refs/heads/master","pushedAt":"2024-07-15T16:59:58.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"ragesoss","name":"Sage Ross","path":"/ragesoss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/848483?s=80&v=4"},"commit":{"message":"Merge pull request #5897 from Abishekcs/fix/disable-field-editing-after-sync\n\nDisable editing of title, school and term/when fields after event sync","shortMessageHtmlLink":"Merge pull request #5897 from Abishekcs/fix/disable-field-editing-aft…"}},{"before":"fd7b49bd6230fd062d051d59fe43a0ab9732bfd5","after":"e1bcac3a8623c5820828ad78edee919de8f9dd78","ref":"refs/heads/master","pushedAt":"2024-07-11T12:24:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"translatewiki","name":"translatewiki.net","path":"/translatewiki","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/24829418?s=80&v=4"},"commit":{"message":"Localisation updates from https://translatewiki.net.","shortMessageHtmlLink":"Localisation updates from https://translatewiki.net."}},{"before":"89d096e4b2838a976717f7addec43d348b562a7d","after":"ffa55385d960f68e5bf650631b2baa1a004d9437","ref":"refs/heads/data-rearchitecture-for-dashboard","pushedAt":"2024-07-11T01:28:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"gabina","name":"Gabina Luz Bianchi","path":"/gabina","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8717242?s=80&v=4"},"commit":{"message":"[Data rearchitecture project] Add logic to create articles courses records from revisions in RAM (#5893)\n\n* Implement update_from_course_revisions class method to create new ArticlesCourses records from course revisions in RAM. TODO in the future: the method should also remove existing ArticlesCourses that do not corresponde to course anymore.\r\n\r\n* Call the new update_from_course_revisions method to create new ArticlesCourses records when running UpdateCourseStatsTimeslice. Fix UpdateCourseStatsTimeslice specs now that view counts are updated.","shortMessageHtmlLink":"[Data rearchitecture project] Add logic to create articles courses re…"}},{"before":"1bbb319d56468c3e5354ebc3975f1d9b8ca23bdb","after":"fd7b49bd6230fd062d051d59fe43a0ab9732bfd5","ref":"refs/heads/master","pushedAt":"2024-07-10T16:41:06.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"ragesoss","name":"Sage Ross","path":"/ragesoss","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/848483?s=80&v=4"},"commit":{"message":"Merge pull request #5892 from Abishekcs/fix-onboarding-ui\n\nFix onboarding UI","shortMessageHtmlLink":"Merge pull request #5892 from Abishekcs/fix-onboarding-ui"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEmGqPnQA","startCursor":null,"endCursor":null}},"title":"Activity · WikiEducationFoundation/WikiEduDashboard"}