{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":25639174,"defaultBranch":"master","name":"edunext-platform","ownerLogin":"eduNEXT","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-10-23T13:46:40.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5911140?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1723033008.0","currentOid":""},"activityList":{"items":[{"before":"aa70fea890ecd622d392270cd21453b9ae9fe578","after":"3d50dd8302517274052a8acf8a4902fe6fe5eb97","ref":"refs/heads/ednx-release/redwood.master","pushedAt":"2024-09-02T15:52:37.000Z","pushType":"push","commitsCount":17,"pusher":{"login":"MaferMazu","name":"María Fernanda Magallanes","path":"/MaferMazu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/35668326?s=80&v=4"},"commit":{"message":"Merge pull request #35259 from raccoongang/max/backport-error-page-render-recurse\n\n[Backport] fix: Prevent error page recursion (#35209)","shortMessageHtmlLink":"Merge pull request #35259 from raccoongang/max/backport-error-page-re…"}},{"before":null,"after":"ea60c09a9a0d002c8c0642e3c2226e4db226608a","ref":"refs/heads/dcoa/disscuss-flag-redwood","pushedAt":"2024-08-07T12:16:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dcoa","name":"Diana Olarte","path":"/dcoa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/66016493?s=80&v=4"},"commit":{"message":"feat: create a new setting USE_DISCUSSIONS_MFE (#809)\n\n* feat: create a new setting USE_DISCUSSIONS_MFE\n\n* feat: add new setting USE_DISCUSSIONS_MFE\n\n* fix: quality checks\n\n* fix: add setting override\n\n* fix: add setting override\n\n* fix: add setting override\n\n* fix: pep 8 violations\n\n* fix: update setting name\n\nCo-authored-by: Brayan Cerón <86393372+bra-i-am@users.noreply.github.com>\n\n* fix: change variable name\n\n---------\n\nCo-authored-by: Brayan Cerón <86393372+bra-i-am@users.noreply.github.com>","shortMessageHtmlLink":"feat: create a new setting USE_DISCUSSIONS_MFE (#809)"}},{"before":null,"after":"a790730eb8174576d7efc29d647ab4bf68cba359","ref":"refs/heads/JF/palma_email_fix","pushedAt":"2024-08-06T01:48:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"BetoFandino","name":"Jorge Alberto Fandiño","path":"/BetoFandino","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39286595?s=80&v=4"},"commit":{"message":"feat: test funtion of schedule emails","shortMessageHtmlLink":"feat: test funtion of schedule emails"}},{"before":"cc5a3276073d270d1aee2a2d2d319f9311711cce","after":"517bc3586b677cc93b33550bdb4641c07dd084b4","ref":"refs/heads/ednx-release/nuez.saas","pushedAt":"2024-07-23T22:00:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"DeimerM","name":"Deimer Morales","path":"/DeimerM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105317492?s=80&v=4"},"commit":{"message":"fix: adding a temporal fix to allow mport course from olive+ into nutmeg (#827)","shortMessageHtmlLink":"fix: adding a temporal fix to allow mport course from olive+ into nut…"}},{"before":null,"after":"f4708a6f4152c0d54847edbb5558ab6de7cee00f","ref":"refs/heads/dob/hot-fix-import-olive","pushedAt":"2024-07-23T19:40:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"DonatoBD","name":"Donato Bracuto","path":"/DonatoBD","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/77167078?s=80&v=4"},"commit":{"message":"fix: adding a temporal fix to allow mport course from olive+ into nutmeg","shortMessageHtmlLink":"fix: adding a temporal fix to allow mport course from olive+ into nutmeg"}},{"before":null,"after":"3dd3c3798b7da6dbc92fcee6c375da89f57876f1","ref":"refs/heads/jipm/quince-ds-1003","pushedAt":"2024-07-19T20:04:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jignaciopm","name":"José Ignacio Palma","path":"/jignaciopm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25374977?s=80&v=4"},"commit":{"message":"feat: adds LmsUrlCreationStarted filter","shortMessageHtmlLink":"feat: adds LmsUrlCreationStarted filter"}},{"before":null,"after":"3dd3c3798b7da6dbc92fcee6c375da89f57876f1","ref":"refs/heads/jipm/ds-1003","pushedAt":"2024-07-19T20:03:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jignaciopm","name":"José Ignacio Palma","path":"/jignaciopm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/25374977?s=80&v=4"},"commit":{"message":"feat: adds LmsUrlCreationStarted filter","shortMessageHtmlLink":"feat: adds LmsUrlCreationStarted filter"}},{"before":null,"after":"a801f2584e81ead021c946d83398b031908c1fbb","ref":"refs/heads/ednx-release/quince.ucm","pushedAt":"2024-07-17T14:27:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"DeimerM","name":"Deimer Morales","path":"/DeimerM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105317492?s=80&v=4"},"commit":{"message":"feat: create a new setting USE_DISCUSSIONS_MFE (#809)\n\n* feat: create a new setting USE_DISCUSSIONS_MFE\n\n* feat: add new setting USE_DISCUSSIONS_MFE\n\n* fix: quality checks\n\n* fix: add setting override\n\n* fix: add setting override\n\n* fix: add setting override\n\n* fix: pep 8 violations\n\n* fix: update setting name\n\nCo-authored-by: Brayan Cerón <86393372+bra-i-am@users.noreply.github.com>\n\n* fix: change variable name\n\n---------\n\nCo-authored-by: Brayan Cerón <86393372+bra-i-am@users.noreply.github.com>","shortMessageHtmlLink":"feat: create a new setting USE_DISCUSSIONS_MFE (#809)"}},{"before":"1ad941449efb313b1f09218fc3c21997ad08ff4d","after":"cc5a3276073d270d1aee2a2d2d319f9311711cce","ref":"refs/heads/ednx-release/nuez.saas","pushedAt":"2024-07-12T13:42:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Gi-ron","name":"Steven Giron","path":"/Gi-ron","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/57727342?s=80&v=4"},"commit":{"message":"fix: added _youtubeApiDeferred.resolve();","shortMessageHtmlLink":"fix: added _youtubeApiDeferred.resolve();"}},{"before":null,"after":"aa70fea890ecd622d392270cd21453b9ae9fe578","ref":"refs/heads/ednx-release/redwood.master","pushedAt":"2024-07-11T18:11:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bra-i-am","name":"Brayan Cerón","path":"/bra-i-am","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86393372?s=80&v=4"},"commit":{"message":"feat: hide the survey report banner for a month after clicking the dismiss button (#34914)\n\nThis hides the survey report banner from the Django Admin for a\r\nparticular user for one month after they click on the \"dismiss\" button.\r\nThis is done completely on the client side using localStorage, so the\r\nsame user could see the banner again if they're logging in with a\r\ndifferent browser.","shortMessageHtmlLink":"feat: hide the survey report banner for a month after clicking the di…"}},{"before":"6ab0b7a1190168b5ebfc73bfe9af191089b2e067","after":null,"ref":"refs/heads/ednx-release/redwood.master","pushedAt":"2024-07-11T18:11:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bra-i-am","name":"Brayan Cerón","path":"/bra-i-am","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86393372?s=80&v=4"}},{"before":null,"after":"6ab0b7a1190168b5ebfc73bfe9af191089b2e067","ref":"refs/heads/ednx-release/redwood.master","pushedAt":"2024-07-10T22:53:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bra-i-am","name":"Brayan Cerón","path":"/bra-i-am","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86393372?s=80&v=4"},"commit":{"message":"build: git-ignore static asset artifacts whether they are links or dirs\n\nRemove the trailing slashes from the .gitignore entries for static asset\nbuild artifacts. With these slashes, only directory contents are\nignored. Without these slashes, the artifact is ignored whether it is a\ndirectory *or* an actual file (particularly, in our case: a symlink).\n\nThis allows us to build edx-platform static assets into a separate\ndirectory, and then symlink to them from edx-platform.\n\nAlso: We remove the duplicate cms/static/css/ gitignore entry.\n\nBackport of: 1f41529a763ca16f7670f65a700901443845f340","shortMessageHtmlLink":"build: git-ignore static asset artifacts whether they are links or dirs"}},{"before":"aa70fea890ecd622d392270cd21453b9ae9fe578","after":null,"ref":"refs/heads/ednx-release/redwood.master","pushedAt":"2024-07-10T22:51:29.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"bra-i-am","name":"Brayan Cerón","path":"/bra-i-am","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86393372?s=80&v=4"}},{"before":null,"after":"aa70fea890ecd622d392270cd21453b9ae9fe578","ref":"refs/heads/ednx-release/redwood.master","pushedAt":"2024-07-10T21:58:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"bra-i-am","name":"Brayan Cerón","path":"/bra-i-am","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/86393372?s=80&v=4"},"commit":{"message":"feat: hide the survey report banner for a month after clicking the dismiss button (#34914)\n\nThis hides the survey report banner from the Django Admin for a\r\nparticular user for one month after they click on the \"dismiss\" button.\r\nThis is done completely on the client side using localStorage, so the\r\nsame user could see the banner again if they're logging in with a\r\ndifferent browser.","shortMessageHtmlLink":"feat: hide the survey report banner for a month after clicking the di…"}},{"before":"2132c4ce36ed8e00f06f0e1f9e0496609670e03f","after":"d316fd2f5dd90db37dd4caa05a9e463dc7bd045b","ref":"refs/heads/ednx-release/palma.axim","pushedAt":"2024-06-27T22:21:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DeimerM","name":"Deimer Morales","path":"/DeimerM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105317492?s=80&v=4"},"commit":{"message":"feat: add instructor dashboard filter integration (#32448)\n\nThis PR adds a new filter to modify the instructor dashboard rendering process. For example: modify the section tabs of the instructor context --that specifies which tabs to render, adding a brand new one defined in a different plugin. The use case we're currently testing is to add a new tab to the instructor dashboard, which renders management information about an Xblock.\n\n(cherry picked from commit 750ee003537099d0514b1135053b8c0649be5229)","shortMessageHtmlLink":"feat: add instructor dashboard filter integration (#32448)"}},{"before":"4676cd0c408cf0f128d17b557aef165217b87e5c","after":"4a0158419431953f7445a1ea51ba67aa136b7200","ref":"refs/heads/ednx-release/nuez.tecnicolisboa","pushedAt":"2024-06-26T19:22:39.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"BetoFandino","name":"Jorge Alberto Fandiño","path":"/BetoFandino","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39286595?s=80&v=4"},"commit":{"message":"Merge pull request #826 from eduNEXT/JF/tecnicolisboa_custom_automatic_email\n\nJf/tecnicolisboa custom automatic email","shortMessageHtmlLink":"Merge pull request #826 from eduNEXT/JF/tecnicolisboa_custom_automati…"}},{"before":"ed4e19efb8e14100466e75553a3aa3f9240c0e89","after":"8635bc6cbd0ec942eabad7050f4fa33445de894c","ref":"refs/heads/JF/tecnicolisboa_custom_automatic_email","pushedAt":"2024-06-26T18:22:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"BetoFandino","name":"Jorge Alberto Fandiño","path":"/BetoFandino","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39286595?s=80&v=4"},"commit":{"message":"feat: final test in all automatic emails to add course images","shortMessageHtmlLink":"feat: final test in all automatic emails to add course images"}},{"before":"cf9fa664fd1c5c973cc80bc4cb4cc208a1b9e9b0","after":"ed4e19efb8e14100466e75553a3aa3f9240c0e89","ref":"refs/heads/JF/tecnicolisboa_custom_automatic_email","pushedAt":"2024-06-26T17:27:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"BetoFandino","name":"Jorge Alberto Fandiño","path":"/BetoFandino","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39286595?s=80&v=4"},"commit":{"message":"feat: take images and add url for automatic emails (enroll)","shortMessageHtmlLink":"feat: take images and add url for automatic emails (enroll)"}},{"before":"f8438bedb598f7544810b9e765ee5cd9567e27c1","after":"cf9fa664fd1c5c973cc80bc4cb4cc208a1b9e9b0","ref":"refs/heads/JF/tecnicolisboa_custom_automatic_email","pushedAt":"2024-06-26T04:45:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"BetoFandino","name":"Jorge Alberto Fandiño","path":"/BetoFandino","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39286595?s=80&v=4"},"commit":{"message":"feat: test to email automatic custom","shortMessageHtmlLink":"feat: test to email automatic custom"}},{"before":null,"after":"f8438bedb598f7544810b9e765ee5cd9567e27c1","ref":"refs/heads/JF/tecnicolisboa_custom_automatic_email","pushedAt":"2024-06-21T19:42:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"BetoFandino","name":"Jorge Alberto Fandiño","path":"/BetoFandino","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39286595?s=80&v=4"},"commit":{"message":"feat: added paramenter on automatic email enroll","shortMessageHtmlLink":"feat: added paramenter on automatic email enroll"}},{"before":"a57129967469e7e732ae245ecfa1a5ae2cfa686b","after":"c3762eea8e36a22dd5512f6a0f265b40557e6405","ref":"refs/heads/ednx-release/palma.upm","pushedAt":"2024-06-21T13:11:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DeimerM","name":"Deimer Morales","path":"/DeimerM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105317492?s=80&v=4"},"commit":{"message":"feat: emit signal for thread, response, and comment created event","shortMessageHtmlLink":"feat: emit signal for thread, response, and comment created event"}},{"before":"759dd0bcffe0a7e604f0709770ec7177161ea84d","after":"a57129967469e7e732ae245ecfa1a5ae2cfa686b","ref":"refs/heads/ednx-release/palma.upm","pushedAt":"2024-06-21T00:29:30.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"DeimerM","name":"Deimer Morales","path":"/DeimerM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105317492?s=80&v=4"},"commit":{"message":"feat: add instructor dashboard filter integration (#32448)\n\nThis PR adds a new filter to modify the instructor dashboard rendering process. For example: modify the section tabs of the instructor context --that specifies which tabs to render, adding a brand new one defined in a different plugin. The use case we're currently testing is to add a new tab to the instructor dashboard, which renders management information about an Xblock.\n\n(cherry picked from commit 750ee003537099d0514b1135053b8c0649be5229)","shortMessageHtmlLink":"feat: add instructor dashboard filter integration (#32448)"}},{"before":"c32e1b48e07416c5b77fee64cd29d65aeec0eab0","after":"759dd0bcffe0a7e604f0709770ec7177161ea84d","ref":"refs/heads/ednx-release/palma.upm","pushedAt":"2024-06-21T00:27:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"DeimerM","name":"Deimer Morales","path":"/DeimerM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105317492?s=80&v=4"},"commit":{"message":"LD-9: Remove preview and get urls for org","shortMessageHtmlLink":"LD-9: Remove preview and get urls for org"}},{"before":"b92fe1f256bd30d742bb039c1b2a6343248bbe61","after":"c32e1b48e07416c5b77fee64cd29d65aeec0eab0","ref":"refs/heads/ednx-release/palma.upm","pushedAt":"2024-06-19T22:48:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"DeimerM","name":"Deimer Morales","path":"/DeimerM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105317492?s=80&v=4"},"commit":{"message":"refactor: costume changes according MFE implementation","shortMessageHtmlLink":"refactor: costume changes according MFE implementation"}},{"before":"05f4e4f9f4b897598f6d2fe66914a8919930cefc","after":null,"ref":"refs/heads/mgs/remove-modulestore-init","pushedAt":"2024-06-17T22:14:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"MoisesGSalas","name":"Moisés González","path":"/MoisesGSalas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/69784365?s=80&v=4"}},{"before":"574c761256228d38f944cad1932cf4c88fcccc75","after":"1ad941449efb313b1f09218fc3c21997ad08ff4d","ref":"refs/heads/ednx-release/nuez.saas","pushedAt":"2024-06-17T22:14:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"MoisesGSalas","name":"Moisés González","path":"/MoisesGSalas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/69784365?s=80&v=4"},"commit":{"message":"fix: remove modulestore init to avoid pymongo deadlocks (#825)\n\nPrior to this commit, the LMS would log the following error in tutor\r\nproduction:\r\n\r\n pymongo/topology.py:175: UserWarning: MongoClient opened before fork.\r\n Create MongoClient only after forking. See PyMongo's documentation for\r\n details:\r\n https://pymongo.readthedocs.io/en/stable/faq.html#is-pymongo-fork-safe\r\n\r\nQuoting from that page:\r\n\r\n> PyMongo is not fork-safe. Care must be taken when using instances of\r\n> MongoClient with fork(). Specifically, instances of MongoClient must\r\n> not be copied from a parent process to a child process. Instead, the\r\n> parent process and each child process must create their own instances\r\n> of MongoClient. Instances of MongoClient copied from the parent\r\n> process have a high probability of deadlock in the child process due\r\n> to the inherent incompatibilities between fork(), threads, and locks\r\n> described below. PyMongo will attempt to issue a warning if there is a\r\n> chance of this deadlock occurring.\r\n\r\nFor edx-platform, the MongoClient connection is initalized with the\r\nmodulestore() invocation. That call creates and caches a global variable\r\nthat Studio or the LMS will reuse across the life of the worker process.\r\n\r\nThat initialization was put into lms/wsgi.py in 7c758ec9, but originated\r\nin lms/startup.py with 51d0dd1. The original reason for it is because at\r\nthat time (2013), we still supported the XML Modulestore, which stored\r\ncourses on disk as directories of OLX files and static assets. The XML\r\nModulestore would then read the entirety of those courses into memory at\r\nstartup. This meant that the startup process was *extremely* expensive,\r\nso we needed to have it happen before the workers started serving\r\nrequests to users, instead of having the system lazily read them in when\r\nthe first user request arrived.\r\n\r\nLoading course content in this form hasn't been supported since 2016,\r\nmeaning that modulestore initialization is no longer the performance\r\ntime bomb that it once was. The fact that this code remained here is\r\nlikely an oversight, which was considered harmless until @ztraboo\r\nreported these pymongo log messages during the course of investigating\r\nperformance issues:\r\n\r\nhttps://discuss.openedx.org/t/atlas-mongodb-performance-issues-un-indexed-queries/12803/16\r\n\r\nTwo potential followups that should be explored after this:\r\n\r\n1. Tutor should probably be forking earlier than this, before we load\r\n Django settings and initialize database and cache connections.\r\n2. It's possible that the caching mechanism for modulestore should be\r\n revisited to operate at the request cache level. The performance\r\n benefit of keeping it around may not be worth the potential memory\r\n leaks. Anything we do here would have to be very carefully monitored\r\n though, since connection costs may add up.\r\n\r\n(cherry picked from commit d8aab3f72c9a269ae90567dc91574f7d7671fdfc)\r\n\r\nCo-authored-by: David Ormsbee ","shortMessageHtmlLink":"fix: remove modulestore init to avoid pymongo deadlocks (#825)"}},{"before":null,"after":"05f4e4f9f4b897598f6d2fe66914a8919930cefc","ref":"refs/heads/mgs/remove-modulestore-init","pushedAt":"2024-06-17T21:49:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"MoisesGSalas","name":"Moisés González","path":"/MoisesGSalas","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/69784365?s=80&v=4"},"commit":{"message":"fix: remove modulestore init to avoid pymongo deadlocks\n\nPrior to this commit, the LMS would log the following error in tutor\nproduction:\n\n pymongo/topology.py:175: UserWarning: MongoClient opened before fork.\n Create MongoClient only after forking. See PyMongo's documentation for\n details:\n https://pymongo.readthedocs.io/en/stable/faq.html#is-pymongo-fork-safe\n\nQuoting from that page:\n\n> PyMongo is not fork-safe. Care must be taken when using instances of\n> MongoClient with fork(). Specifically, instances of MongoClient must\n> not be copied from a parent process to a child process. Instead, the\n> parent process and each child process must create their own instances\n> of MongoClient. Instances of MongoClient copied from the parent\n> process have a high probability of deadlock in the child process due\n> to the inherent incompatibilities between fork(), threads, and locks\n> described below. PyMongo will attempt to issue a warning if there is a\n> chance of this deadlock occurring.\n\nFor edx-platform, the MongoClient connection is initalized with the\nmodulestore() invocation. That call creates and caches a global variable\nthat Studio or the LMS will reuse across the life of the worker process.\n\nThat initialization was put into lms/wsgi.py in 7c758ec9, but originated\nin lms/startup.py with 51d0dd1. The original reason for it is because at\nthat time (2013), we still supported the XML Modulestore, which stored\ncourses on disk as directories of OLX files and static assets. The XML\nModulestore would then read the entirety of those courses into memory at\nstartup. This meant that the startup process was *extremely* expensive,\nso we needed to have it happen before the workers started serving\nrequests to users, instead of having the system lazily read them in when\nthe first user request arrived.\n\nLoading course content in this form hasn't been supported since 2016,\nmeaning that modulestore initialization is no longer the performance\ntime bomb that it once was. The fact that this code remained here is\nlikely an oversight, which was considered harmless until @ztraboo\nreported these pymongo log messages during the course of investigating\nperformance issues:\n\nhttps://discuss.openedx.org/t/atlas-mongodb-performance-issues-un-indexed-queries/12803/16\n\nTwo potential followups that should be explored after this:\n\n1. Tutor should probably be forking earlier than this, before we load\n Django settings and initialize database and cache connections.\n2. It's possible that the caching mechanism for modulestore should be\n revisited to operate at the request cache level. The performance\n benefit of keeping it around may not be worth the potential memory\n leaks. Anything we do here would have to be very carefully monitored\n though, since connection costs may add up.\n\n(cherry picked from commit d8aab3f72c9a269ae90567dc91574f7d7671fdfc)","shortMessageHtmlLink":"fix: remove modulestore init to avoid pymongo deadlocks"}},{"before":null,"after":"e0f307cc095c3526c464ad10912e669222987fc3","ref":"refs/heads/open-release/quince.3/edues/santander","pushedAt":"2024-06-12T23:48:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"BryanttV","name":"Bryann Valderrama","path":"/BryanttV","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/64033729?s=80&v=4"},"commit":{"message":"feat: add grading method support for problems with multiple attempts (#33911)\n\nA new field in the Problem settings for choosing a Grading Method. Currently, the only Grading Method is the Last Score. From now on, when turning the feature flag on, the new grading methods available for configuration in Studio are:\n- Last Score (Default): The last score made is taken for grading.\n- First Score: The first score made is taken for grading.\n- Highest Score: The highest score made is taken for grading.\n- Average Score: The average of all scores made is taken for grading.","shortMessageHtmlLink":"feat: add grading method support for problems with multiple attempts …"}},{"before":"aa5a0c227e23e4fd13c06b1f64e94457b6b0f3f0","after":"b92fe1f256bd30d742bb039c1b2a6343248bbe61","ref":"refs/heads/ednx-release/palma.upm","pushedAt":"2024-06-10T20:45:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DeimerM","name":"Deimer Morales","path":"/DeimerM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105317492?s=80&v=4"},"commit":{"message":"chore: update openedx filters to work with instructor filter","shortMessageHtmlLink":"chore: update openedx filters to work with instructor filter"}},{"before":"759dd0bcffe0a7e604f0709770ec7177161ea84d","after":"aa5a0c227e23e4fd13c06b1f64e94457b6b0f3f0","ref":"refs/heads/ednx-release/palma.upm","pushedAt":"2024-06-10T16:30:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"DeimerM","name":"Deimer Morales","path":"/DeimerM","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105317492?s=80&v=4"},"commit":{"message":"feat: add instructor dashboard filter integration (#32448)\n\nThis PR adds a new filter to modify the instructor dashboard rendering process. For example: modify the section tabs of the instructor context --that specifies which tabs to render, adding a brand new one defined in a different plugin. The use case we're currently testing is to add a new tab to the instructor dashboard, which renders management information about an Xblock.\n\n(cherry picked from commit 750ee003537099d0514b1135053b8c0649be5229)","shortMessageHtmlLink":"feat: add instructor dashboard filter integration (#32448)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0wMlQxNTo1MjozNy4wMDAwMDBazwAAAASqxItg","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xMFQxNjozMDo1NS4wMDAwMDBazwAAAARhVoFZ"}},"title":"Activity · eduNEXT/edunext-platform"}