forked from oppia/oppia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
9786 lines (8737 loc) · 561 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
This file contains a summary of changes to the Oppia codebase up
to release 3.2.9. All the changes after that can be found in the commit
log of the develop branch: https://github.com/oppia/oppia/commits/develop
v3.2.9 (31 Dec 2022)
------------------------
Release team
* Fix package build (#16773)
* Fix constants to access files in correct folder (#16733)
* Edit .gcloudignore (#16655)
* Add new dispatch workflow (#16194)
* Use Cloud Secret (#16142)
Learner/Creator Pages
* Fix #16590: trigger 'change' event when manually removing a widget from ckeditor (#16746)
* Fixed iframe exploration player (#16711)
* Fix donate issues (#16650)
* GA analytics updates (#16644)
* Introduce new Donate page (#16605)
* Fixed mailchimp web tag (#16524)
* Learner group view: Mobile view Improvements (#16496)
* Fixes an e2e flake in AdditionalEditorFeatures (#16495)
* Learner Group learners' progress in stories view review update (#16491)
* Allowing Uploading Images Larger than 1KB for blog (#16479)
* Learner Group UI improvements (#16468)
* Fix part of #15753: Fix curated exploration frontend validation checks (#16428)
* Fix part of #15753: End exploration interaction warning bug (#16389)
* Fix part of #15753: Fix frontend validation for numeric input interaction (#16388)
* Fix part of #15753: RTE link frontend validations (#16371)
* Fixes #16313 and Adds back M1.3 And M1.4 (Blog Integration) (#16323)
* FIX: #16119 Added a copy tooltip + corrected the save progress card indentation and padding (#16321)
* Fixes general issues in Blog Dashboard and #16272 -- Copy Of PR 16123 (#16299)
* Fix issue #16180 : Alignment of the header (#16293)
* Fix part of #15968 : Replace material icons with FA icons. (#16269)
* Fix: #15968 Replaced Material Icons with Font Awesome (#16267)
* Fix part of #15968: Material icons to Font Awesome icons in 3 files (#16249)
* Milestone 2.3: Implements Blog Author Page and feature flag to enable Blog Homepage feature. (#16243)
* Fix issue #15537 : Allow search execution by pressing the Enter key on the classroom page search bar (#16242)
* Milestone 2.1, 2.2, 2.3 (Learner group MVP): Learner Related Views of learner group (#16240)
* Fix part of #15968: Replaced material icons to font awesome in 3 files. (#16239)
* Fix part of #15968: Migrate files from Material Icon to Awesome Font Icon (#16233)
* Fix part of #15968: Migrate 3 files from Material Icons to Font Awesome Icons (#16230)
* Fix button copy in teach/about/splash pages (#16229)
* Removed solution dependence on hints (Helping learners when they get stuck). (#16228)
* Fix part of #15968: Replaces Material icons with Font Awesome icons in "add answer group", "add audio translation", "exploration save and publish buttons" pages. (#16223)
* Add mailchimp android list support (#16217)
* material-icons change to font-awesome icons. (#16206)
* Fix #14085: Added validation to restrict usage of unsupported math functions. (#16189)
* Fix part of #15968: Material-icons change to Font-awesome-icons (#16182)
* Add pt-br translations and few more CTAs for android beta launch page (#16161)
* Introduce GA4 events (#16158)
* Fix: #15157 Fixed window resizing events that hides the buttons and content of different modals in Skill Editor (#16147)
* Fixes general issues in Blog Dashboard (#16123)
* Fix #16078: Aligned play button (#16113)
* Introduce initial android landing page (#16071)
* Topic dependency graph input in the classroom (#16063)
* Fix #16015: Corrects the placeholder text (#16050)
* Fixed delete topic button is partially clickable (#16043)
* Milestone 1.3 and 1.4: Adds blog homepage and post page frontend (#16040)
* Fixed the end of the exploration dialog box not seems to be clickable (#16036)
* Fix part of #15968: Replaces Material icons with Font Awesome icons in some "skill editor" and "story editor" pages. (#16023)
* Fix part of #15753: Hide default feedback for multiple choice input when all choices addressed (#16014)
* Fix: #15994 added bootstrap class for close button (#16007)
* Fix part of #15753: Fix frontend validation for editing hint (#16000)
* Fix part of #15753: Fix frontend validation for image caption length (#15999)
* Fix #15985 and #16116: Save progress button behaviour (#15991)
* Class name change in profile-page.component.js file to avoid class name collision (#15990)
* FIX: #16119 Added a copy tooltip + corrected the save progress card indentation and padding (#15989)
* Fix part of #15753: Fix validation for outcome labelled as correct (#15984)
* Fix part of #15753: Fix frontend validation for numeric input (#15983)
* Fix #15892: Handle CD bugs (#15977)
* Fix #15875: Fixes a bug that was preventing displaying / tagging of misconceptions (#15966)
* UI for the Classroom Admin Page (#15953)
* Fix #15756 : adjusted the carousel arrow position (#15939)
* M1.4 & M1.5 (Helping learners when they get stuck): Add support for preventing learners from being directed back more than 3 cards in the lesson) (#15938)
* Replace material icons (#15926)
* Fix #15880 and #15924 (#15925)
* (Celebrating learners' accomplishments) Milestones 2.2 & 2.3: Add a congratulatory checkpoint message modal which is linked to the lesson info modal (#15916)
* Milestone 1.2: Adding Storage, Domain and Service layer for Blog Post Search functionality (#15914)
* Fix #15749 Display the topic name on top of the subtopic name on smaller screens (#15900)
* [Backend]: Adds the domain class for the classroom model (#15865)
* Fix #13397: Milestone 1.1 - Change 'published_on' to None if Blog Post is Draft (#15862)
* (Celebrating learners' accomplishments) Milestone 2.1: Add a utility service for checkpoint celebration (#15849)
* Milestone 1.5 (Learner group MVP): Add facilitator views of the learner group (#15840)
* Check for Validation Errors Before Reverting an Exploration (#15824)
* Functionality to add diagnostic test skills (#15742)
* Milestone 1.2 & Milestone 1.3 (Helping learners when they get stuck): Add the frontend changes for the new dest_if_really_stuck component and create new dotted links. (#15698)
* Fix #15528: Allow long options in item selection interaction to wrap (#15671)
* Fix remaining RTL issues (#15653)
* Fix part of N/A: Frontend validation for curated explorations (#15584)
Dev Workflow
* Update Python to 3.8.15 (#16730)
* Fix #16028 and #12647: Cache pip dependencies and make E2E tests use shared webpack build (#16629)
* Fix #16542: Changes required for improved deploy process (#16616)
* FIx #16446: Avoid installing pylint-quotes from GitHub fork (#16474)
* Modify issue forms to make it easier to use (#16452)
* Replace yuicompressor with rcssmin (#16403)
* Change prereq library to new version and remove `typing_extensions` from some remaining places. (#16367)
* Fix part of #14219: Add tests for topic domain (#16304)
* Fix Issue forms (#16253)
* Modify frontend test job name (#16244)
* Introduce Issue forms for non-technical users (#16221)
* Drop obsolete todos for issue 14419 from the codebase. (#16074)
* Fix #15413: ViewDestroyedError Frontend flake and other flakes also present. (#16030)
* Fix #16010: Remove index.yaml order deduplication (#16011)
* Print overall backend coverage report (#15949)
Miscellaneous
* Updates to GA methods (#16719)
* Add Amharic (አማርኛ) to supported languages (#16624)
* Upload profile picture error message 15793 (#16191)
* Fix part of #15942: Beam job generate missing stats models (#16090)
* Update authors and changelog for v3.2.8 (#15981)
* Fix part of #14419, changing the Enum class from screaming SNAKECASE to PascalCase. (#15931)
* Milestone 1.3 (Improving the lesson creation experience): Create the beam job. (#15681)
* Introduce GA4 alongside UA analytics (#16038)
Angular Migration
* Fix #14368: Fix for rte output display showing residual text nodes. (#16700)
* Fix Part of #9749: Removal of deadcode i.e. ngjoyride && ui.sortable (#16412)
* Fix part of #15753 && #14119: validation bug fix in exploration tags editor in setting tab. (#16391)
* Fix part of #9749: Migration of ParamChangesEditorComponent from angularJs to Angular. (#16335)
* Fix part of #9749: migration of translation-tab from AngularJs to Angular. (#16295)
* Fix Part of #9749: Migration of Audio translation tab components, state-translation-editor. (#16284)
* Fix Part of #9749: Migration of Exploration-editor-tab, exploration-save-and-publish-buttons, exploration-save-prompt-modal (#16252)
* Fix of #16195: Highlight is not working properly in "Exploration Overview" when on "Translations" fixed, State-graph not showing warning fixed (#16209)
* Fix part Of #9749: Migrates Subtopic-Editor-Page to Angular (#16203)
* Fix part of #9749: Migrates Topic-Questions tab to Angular (#16138)
* Fix Part Of #9749: Migrates Topic Editor Navbar to Angular (#16107)
* Fix Part Of #9749: Migrates Entity-Creation Service to Angular (#16081)
* Fix #16058: Fraction rule input is not connected properly in the answer group input form (#16072)
* Fix part of #9749: Migration of improvements-tab, statistics-tab, feedback-tab in Angular (#16060)
* Fix Part of #9749: Migrates Skill-Editor to Angular (#16059)
* Migrate exploration player page to angular router. (#15965)
* Fix part of #9749: Migration of setting-tab (#15933)
* Fix Part of #10700: Refactor Object Factories (#15854)
* Remove instances of `$.ajax` (#15833)
Bug fixes
* Fix #16588 Warning shown to User on Merging Skills of same topic (#16671)
* Fix part of #15753: Better frontend emptiness check for HTML content (#16429)
* Fix ckeditor RTE to HTML conversion (#16271)
* Fix #16079: World map preview not visible (#16248)
* Fix #16591: fixed the console error caused by a unhandled function (#16660)
* Small update to conversion function 52 to 53 regarding math RTE tag (#16614)
* Edited suggestion batch job to fix the translation of type list. (#16483)
* Remove unnecessary parts (#16400)
* Adds diagnostic test current topic status model (#16399)
* Fix #16330: added warnings for errors while adding the voice artists (#16396)
* Updated UI for the diagnostic player page (#16392)
* Fix of #16356: Context service flake (#16377)
* Adds diagnostic test topic tracker model (#16350)
* Fix issue #16283: Buttons overlap (#16345)
* Fix of Frontend Flake: cannot read properties of undefined (reading 'split'). (#16337)
* Revert "FIX: #16119 Added a copy tooltip + corrected the save progress card indentation and padding" (#16315)
* Revert "Milestone 1.3 and 1.4: Adds blog homepage and post page frontend" (#16314)
* Adds Diagnostic player page directory structure (#16291)
* Fix part of N/A: Added the button to fix the commit commands (#16290)
* Revert "Fixes general issues in Blog Dashboard" (#16273)
* E2E Flake: Error: Add Interaction button is not visible (#16237)
* Fix #15368: Broken UI for Volunteer Page (#16235)
* Fix export policy docstring for BaseCommitLogEntryModel to use the correct rationale. (#16196)
* Align search bar (#16190)
* Put android page behind a feature flag; Make more text translatable (#16108)
* topic and story viewer flake (#15941)
* Backend apis for the classroom admin (#15932)
* Controller and service changes for classroom (#15909)
* Add a test to detect breakages in the error reporting flow (#15902)
* Adds init file in storage/classroom directory. (#15894)
* FixPart of 9749: `?` removed + unknown removed + added some comments (#15859)
* Fix topicAndStoryEditor flake: create chapter button is not clickable. (#15853)
* Fix #15772: set correct image context in question player; fix decoding of foreign chars in SVGs (#15835)
Uncategorized
Contributor Pages
* Fix #16536: Filter out obsolete translation suggestions in review contributor dashboard (#16578)
* Removed `voiceover application` from codebase. (#16343)
* Fix #13919: Include review errors in review message (#16306)
* Fix 16088 - [Contributor dashboard] Nit Change in Help Text for Hindi… (#16268)
* (Contributor Recognition Infrastructure) Milestone 2.1: Add new frontend endpoints to call the ContributorStatsSummariesHandler (#16153)
* Fix part of #16020: Fixed issue with lazy loading on CD (#16103)
* Fix part of #13055: Handle translation cards that only consist of digits. (#16067)
* (Contributor Recognition Infrastructure) Milestone 1.6: Implement controller layer for the project (#16044)
* Fix part of #16020: Fix UI issues on the Contributor Dashboard (#16025)
* (Contributor Recognition Infrastructure) Milestone 1.5: Write asynchronous tasks to send new rank notifying emails (#15960)
* (Making Contributor Dashboard UI Responsive) Milestone 2.2: Implement the new UI for translation submission modal (#15956)
* (Contributor Recognition Infrastructure) Milestone 1.4: Add required email services to notify contributors about levels they achieved (#15940)
* (Contributor Recognition Infrastructure) Milestone 1.3: Add required suggestion services to handle contributor stats (#15917)
* Fixed UI issues on the Contributor Dashboard raised by the translation team (#15868)
* Fix #15514: Add "contributor dashboard debug" flag to Oppia local dev server start script (#15857)
* Fix #11905, #15892: Navigate to initial page after closing suggestion review modal (#15851)
* (Contributor Recognition Infrastructure) Milestone 1.1: Introduce storage models for contribution stats (#15821)
* Fix #11686: Add filtering to the language selector drop-down in the Contributor Dashboard (#15809)
* (Making Contributor Dashboard UI Responsive) Milestone 2.1: Implement the new UI for question submission modal (#15784)
* Fix #15386: Improve experience for untranslatable cards (#15717)
Data handling
* Remaining changes for the #15861 (#16525)
* Adds validation for rte tags in translation html for translation suggestion (#16481)
* Move some backend validations to execute in strict mode only. (#16457)
* Fix #11471: Flush cache before any job is run (#16439)
* Do not log unavailable Beam job as exception (#16425)
* Fixes part of #15942: Trigger stats model update during exp migration (#16352)
* Fix #13162: Added schemas to StateCompleteEventHandler, LeaveForRefresherExpEventHandler, and SuggestionEmailHandler. (#16148)
* Fix part of #13162: Added schemas to SubTopicViewerPage of subtopic_viewer.py (#16124)
* Fix #16031: Flush cache after job run (#16109)
* Fix part of #13820: Adds backend validation for RTE content and translations of exploration state (#16065)
* Fix part of #13162: Added schemas to TopicViewerPage of topic_viewer.py (#16054)
* Introduce audit migration jobs (#15928)
* Added schema to QuestionsListHandler of questions_list.py (#15872)
* Conversion function for exploration validation checks (#15861)
* Add exploration migration job (#15837)
* Fix part of #13821: Backend validation for general state interaction. (#15797)
* Fix part of #13822: Backend validation for general state (#15796)
Automated QA Team
* Fix #16411: Upgrade Actions in GitHub Workflows (#16485)
* E2E Flake: Fixes Conversation not visible and English in exploration language is not visible (#16451)
* Increase max space for karma to fix "Browser Disconnected" issue (#16434)
* E2E Flake: All Exploration summary tile is taking too long to appear (#16426)
* Fix coverage flake in save-version-mismatch-modal.component.ts (#16414)
* E2E Flake: Error First RTE Element not visible (#16320)
* Fix exploration-editor-page coverage flake (#16280)
* Milestone 2.2 (Improve line and branch coverage for the frontend and the backend): Increased coverage in some backend files (#16231)
* E2E Flake: Mat Tab Toggle options take too long to appear. (#16225)
* Fix part of #14219: Adds test coverage for value generators (#16198)
* Milestone 2.1 (Improve line and branch coverage for the frontend and the backend): Increased coverage in some backend files (#16193)
* Fixes #16152: Updates the test to make sure temporary files are deleted (#16188)
* Fix #16168: Fix Context service flake in stats-reporting.service.spec.ts (#16177)
* Flake check frontend tests on merge into develop (#16174)
* Add tags to incoming issues (#16144)
* E2E Flake: Expected ' ' to equal {{some string}}. (#16139)
* Milestone 2.5, 2.6, 2.7 (Migrate away from protractor): Migrated few test suite from protractor to webdriverIO. (#16106)
* Fixing ffmpeg video reporter for webdriverio test suites. (#16080)
* Bug fix in `run_backend_test.py` (#16056)
* Fix a case of `First RTE element is not visible` (#16034)
* Fix a flake in the question editor player. (#16032)
* Milestone 2.3 and 2.4 (Migrate away from protractor): Migrated few test suite from protractor to webdriverIO. (#15969)
* Milestone 1.6 (Improve line and branch coverage for the frontend and the backend): Added associated test file for some scripts (#15964)
* (Celebrating learners' accomplishments) Milestone 2.4: Add E2E tests (#15946)
* Milestone 1.5 (Improve line and branch coverage for the frontend and the backend): Added associated test file for some scripts (#15919)
* Fix #13824: Clarify backend test shard error messages (#15908)
* Alert when E2E or Lighthouse tests fail on develop (#15903)
* Fixes fade in flake for statecontent editor. (#15893)
* Milestone 2.1 and 2.2 (Migrate away from protractor): Migrated few test suite from protractor to webdriverIO. (#15882)
* Moving from Ubuntu 18.04 to 22.04 in Github actions (#15879)
* Fix "Failed: undefined" Flake (#15867)
* Milestone 1.4 (Improve line and branch coverage for the frontend and the backend): Added associated test file for some scripts (#15700)
* (Making the Contributor Dashboard UI Responsive) Milestone 2.3: Adding mobile e2e tests for the Contributor Dashboard and changing the default 'collapsed' status of the cards in the state-editor (#15536)
Server Errors
* Fix #16008: Add custom elements polyfill (#16404)
* Fix #16005: Add polyfill for Object.entries (#16185)
* Fixes several server errors (#15967)
Typing
* Added Mypy type annotations to the `core/controller` directory's files. (#16342)
* Fix part of #13341: Added Mypy type annotations to the `script directory`'s pending files. (#16226)
* Fix part of #13341: Added Mypy type annotations to the `script directory`'s root level files. (#16169)
* Added Mypy type annotations to the `extensions` directory. (#16083)
* Fixes some assert issues. (#15980)
* Fixing ChangeDomain typing issue in the backend type annotations. (#15958)
* Fix part of #10474: Make typescript checks strict left in PR #15799 & #15620 (#15912)
* Added linters for exceptional types in backend type annotations (#15905)
* Added Mypy type annotations ~ miscellaneous (#15870)
* FixPart of #9749:?. removed from html files (#15869)
* Added Mypy type annotations to `core/test` (#15864)
* Fix part of #14033: Added Mypy type annotations to some files of domain folder. -- M1.10 (#15827)
* Fix part of #14033: Added Mypy type annotations to some files of domain folder. -- M1.9 (#15801)
* Fix part of #14033: Added Mypy type annotations to some files of domain folder. -- M1.7 (#15693)
Speed improvement
* Fix part of #15968: Replace material icons with FA icons (#16227)
Translations
* Routine update of translations (#16082)
Python Migration
* Fix part of #14419: PARAM_NAMES, VALID_MODEL_NAMES, and FILTER_FIELD_NAMES refactored to ParamNames, ValidModelNames, and FilterFieldNames. Values changed to UPPERCASE (#15951)
* Fix #15567: Python Interpreter Migration from 3.7.10 to 3.8.12 (#15508)
v3.2.8 (03 Sep 2022)
------------------------
Learner/Creator Pages
* Milestone 1.4 (Learner group MVP): Add facilitator dashboard and learner group creation journey (#15709)
* Merge the Lesson information modal on the top-navbar with the one on the footer (#15781)
* Fix #15892: Handle CD bugs (#15977)
* Fix #15883: fix html select component logic (#15974)
* Fix #15875: Fixes a bug that was preventing displaying / tagging of misconceptions (#15966)
* Fix #15885: fix image region interaction drag offset to account for scroll location (#15934)
* Fix release issues (#15907)
* Fix skill delete issue (#15881)
* Fix #13397: Milestone 1.1 - Change 'published_on' to None if Blog Post is Draft (#15862)
* Fix #15730: the category language button was incorrectly placed. I needed to adjust the CSS (#15843)
* Fix issue #14815: change padding in oppia-classroom-view-container, the search container (#15842)
* Fix part of #15757: Fix graph and image click interaction (#15808)
* (Celebrating learners' accomplishments) Make changes based on Web PMs' feedback (#15780)
* Adding Comment To Explain- Why Blog Post Models are not Versioned (#15775)
* Fix #15745 and #15744: Fix UI issues on learner-facing pages. (#15773)
* Fix #14974: Text no longer floats outside the answering box (#15766)
* Fix #15684: Resolve topic and skill editor dashboard UI issue on smaller screen sizes (#15741)
* Fixes backend flake introduced by #15626 (#15731)
* Fix #15480: Orientation of donate page not correct (#15727)
* Milestone 1.8 (Improving the lesson creation experience): Make changes in the controller layer and also create the backend api service. (#15689)
* Milestone 1.1 (Helping learners when they get Stuck): State migration for the field `dest_if_really_stuck` (#15644)
* (Celebrating learners' accomplishments) Milestone 1.3: Add milestone message and post chapter recommendations (#15634)
* Fix issue with 'Cancel Button' on customization modal when using the 'Copy Tool' (#15629)
* Milestone 1.2 (Learner group MVP): Add learner group related handlers and services (#15626)
* Milestones 1.4, 1.5, 1.6 and 1.7 (Improving the lesson creation experience): Allow users to see changes in the exploration metadata. (#15615)
* [Backend]: Adds classroom model (#15810)
* Update topic model and its related domain methods for accommodating diagnostic test skills. (#15694)
* Fix #15739: Link author list items to profile page in the lesson info modal (#15798)
Angular Migration
* Fix #15874: Console error on trying to tag misconception to a question on skill editor page (#15906)
* Fix part of #9749: contributorDashboard ui fix (#15823)
* Fix part of #9749: Migrate contributor dashboard page, state graph visualization, version diff visualization and question directives (#15768)
* Fix Part of #9749: rule-editor, router.service, skill-editor-routing.service, answer-group-editor and other services/componets (Question-creation service removed dead code) (#15674)
* Fix part of #9749: Migrates angular html bind (#15568)
* Implement application wide error handler (#15783)
* Fix major breakage on develop caused by #15674 (#15723)
Contributor Pages
* Fix #11905, #15892: Navigate to initial page after closing suggestion review modal (#15851)
* Fix #15746: Don't set active topic to 'ALL' in contributor dashboard page. (#15841)
* Changed color of pagination buttons on the modals on the contributor dashboard. (#15839)
* (Making Contributor Dashboard UI Responsive) Milestone 1.4: Implement the new UI for question review modal (#15703)
* (Making Contributor Dashboard UI Responsive) Milestone 1.3: Implement the new UI for translation review modal (#15670)
* (Making Contributor Dashboard UI Responsive) Milestone 1.2: Implement the mobile UI for list item components (#15627)
Automated QA Team
* Avoid Collisions of Backend Coverage Filenames (#15847)
* Milestone 1.5 (Migrate away from protractor): Migrated few test suite from protractor to webdriverIO. (#15836)
* Revert "Milestone 1.5 (Migrate away from protractor): Migrated few test suite from protractor to webdriverIO." (#15830)
* Fix E2E flake: Trying to fix "Cannot read property 'getDirection' of undefined" flake in state content editor (#15819)
* Fix #14280: Try to fix blog page flake: "Cannot read property 'getDirection' of undefined" (#15818)
* Replace JS `fetch` with Angular `http` (#15816)
* Fix E2E Metrics Reporting and Reruns (#15815)
* Remove unnecessary state-editor-content code in e2e test. (#15806)
* Upload frontend coverage reports and webpack bundles as artifacts for debugging (#15791)
* Milestone 1.6 and 1.7 (Migrate away from protractor): Migrated few test suite from protractor to webdriverIO. (#15790)
* Add a waitFor to try and address "successful report" flake. (#15789)
* Fix 'ExplorationTitleInput is not visible' flake in the exploration editor. (#15788)
* Make pre_push_hook_test.py assertRaisesRegex stricter (#15786)
* Fix #13357: Rerun Downloads in scripts/ (#15782)
* Fix bug in check_backend_associated_test_file script (#15774)
* Fix #15728, #15729, #15720, #15721 frontend flakes introduced by #15674 (#15734)
* Milestone 1.5 (Migrate away from protractor): Migrated few test suite from protractor to webdriverIO. (#15726)
* (Celebrating learners' accomplishments) Milestone 1.4: Add E2E tests (#15725)
* Milestone 1.4 (Migrate away from protractor): Migrated few test suite from protractor to webdriverIO. (#15701)
* Milestone 1.3 (Improve line and branch coverage for the frontend and the backend): Updated run_backend_test script to calculate per-file branch coverage (#15697)
* Milestone 1.3 (Migrate away from protractor): Migrated few test suite from protractor to webdriverIO. (#15655)
* Milestone 1.1 (Improve line and branch coverage for the frontend and the backend): Checks to ensure that every backend file has an associated test file (#15625)
* Install Python Dev Dependencies to Virtual Environment (#15602)
Typing
* Fixed customization arg rename migration issue. (#15844)
* Fix part of #10474: Make typescript checks strict for few more files (#15799)
* Fix #15716: MyPy's failing tests on develop. (#15771)
* Fix part of #14033: Added Mypy type annotations to some files of domain folder. -- M1.8 (#15762)
* Address pending review comments of #15475 (#15716)
* Added Mypy type annotations to the files of `core/jobs/batch_jobs` directory. (#15711)
* Added Mypy type annotations to the files of `core/jobs/transforms/validation` directory. (#15687)
* Fix part of #14033: Added Mypy type annotations to some files of domain folder. -- M1.6 (#15663)
* Fix part of #10474: Make typescript checks strict for few more files (#15620)
* #14033: Adding mypy type annotations to stats_domain.py (#15479)
Data handling
* Add exploration migration job (#15837)
Translations
* Update a string for item selection input (#15829)
* Routine update of translations. (#15777)
Dev Workflow
* Fix part of #12912: Enable pylint 'super-with-arguments' (#15812)
* Fix #15654: Remove e2e classname used for styling in core/templates/css/oppia.css (#15811)
* Update CODEOWNERS to use teams (#15787)
* Attempt to suppress ev_epollex_linux error (#15776)
* Fix #15152, #15153, #15224, #14625: Move generation of RTL CSS into webpack (#15576)
* Increase memory limit for the webpack build process (#15943)
* Add hash in filenames of CSS files generated by webpack (#15863)
Python Migration
* Fix part of #12912: Reenable `consider-using-dict-items` pylint rule (#15769)
Bug fixes
* Fix CSS scoping (#15724)
v3.2.7 (05 Aug 2022)
------------------------
Learner/Creator Pages
* Fix #15743 and #15685: UI issues with the search bar on the Math classroom page (#15778)
* Fix #15745 and #15744: Fix UI issues on learner-facing pages. (#15773)
* Fix #15147: filter box toggle issue on /topics-and-skill-dashboard (#15673)
* Milestone 1.3 (Learner group MVP): Add frontend models and backend service api for Learner groups (#15656)
* Fix #15650 and #15591: Update progress nav when state content changes; Update z-index for modals that need to be stacked (#15651)
* Fix #15150: Learner Dashboard fix for no scroll bar present to check the progress of community lessons if more than 3 lessons are present. (#15616)
* (Celebrating learners' accomplishments) Milestone 1.2: Modify the ratings-and-recommendations component and make sign up section dismissable (#15611)
* Fix part of #13764: Frontend validation for at least one explanation for Medium Rubric (#15609)
* (Celebrating learners' accomplishments) Milestone 1.1: Add end chapter check-mark and confetti (#15589)
* Fix #14199: Fixed math OSK UI for iOS devices. (#15585)
* Milestone 1.1 (Learner group MVP): Add learner group related models and domains (#15583)
* Milestone 1.1 (Improving the lesson creation experience): Create the new domain objects (#15582)
* Fix #15511: Add a Uploading animation when user clicks 'Use This Image' (#15564)
* Fix #15540: Misplaced icon in EndExploration interaction (#15558)
* Fix #15507: The mobile UI for the answer selection modal is offset to the left (#15520)
* Backend changes for Logged-out experience (User Checkpoints Project) (#15422)
* Fix part of #14702: Add the stale tab detection functionality for topic editor page (#15278)
* Fix #15739: Link author list items to profile page in the lesson info modal (#15798)
* Fix editor issues: schema-based-list-editor not populating the choices; editing images not working (#15704)
* Learner checkpointing: Follow up changes (#15547)
* Improved validation and minor fixes to clear the erroring deferred job queue (#15491)
* Frontend changes for logged-out experience (User checkpoints project) (#15482)
Bug fixes
* Fix CSS scoping (#15724)
Miscellaneous
* Rearrange import order to fix typing_extensions error when deploying (#15691)
* Add gtag.js to the app (#15683)
* Milestone 1.2 (Improving the lesson creation experience): Create the new storage model and implement its lifecycle (#15607)
Automated QA Team
* Fix e2e CI error (Failed to load resource: the server responded with a status of 405 ()) (#15688)
* Fix #15676: Fixes the flake in ImageWithRegionsEditorComponent (#15678)
* Fix part of #14219: Increase Per-File Backend Test Coverage for tasks.py (#15566)
* Fix part of #14219: Increase Per-File Backend Test Coverage (#15356)
* Milestone 1.2 (Migrate away from protractor): Setup webdriverio and migrate few tests suite from protractor to webdriverIO (#15614)
Dev Workflow
* Changes in logged-out User Checkpoints backend (Follow-up to #15422) (#15667)
* Fix Part of #10700: Refactor Object Factories (#15652)
* Add new flag "download_combined_frontend_file" to frontend test execution file (#15635)
* Fix part of #8668: Document url-interpolation.service.ts with jsdoc (#15628)
* Codeowner changes for LaCE team (#15619)
* Fix #15152, #15153, #15224, #14625: Move generation of RTL CSS into webpack (#15576)
* Remove import from utils (#15557)
* Fix codemirror (#15555)
* Purge python utils (#15441)
* Revert "Fix part of #14702: Add the stale tab detection functionality for topic editor page" (#15593)
Release team
* Fix #15381: Update CODEOWNERS to add Nithesh (#15661)
Data handling
* Allow bigger JobRunResult (#15658)
* Fix Part of #13162: Add schema for UsernameCheckHandler and ReaderFeedbackHandler (#15605)
* Fix Part of #13162: Add schema for RecommendationsHandler (#15597)
* Fix part of #13822: Added backend validation for sub-topic url fragment (#15500)
* Fix part of #13822: Added backend validation for story_is_published to be boolean (#15417)
Contributor Pages
* Fix #15648: Remove limit from in-review translation suggestion query (#15649)
* (Making Contributor Dashboard UI Responsive) Milestone 1.1: Implement the mobile UI for dashboard tabs and navigation (#15594)
* Fix #15570: Fix change detection issue in question editor modal. (#15573)
* Fix #12425: Change Drag and Drop sort input so it displays the answer HTML instead of the contentID (#15496)
* Fix #15385: Added functionality to persist translator language on [CD - Translate Text]. (#15460)
Typing
* Fix part of #14033: Added Mypy type annotations to some files of domain folder. -- M1.5 (#15640)
* Fix part of #14033: Added Mypy type annotations to some files of `domain` folder. -- M1.4 (#15618)
* Fix #13500: Data passed to platform storage service is always in bytes (#15598)
* Fix part of #14033: Added Mypy type annotations to some files of `domain` folder. -- M1.3 (#15596)
* Fix part of #14033: Added Mypy type annotations to some files of `domain` folder. -- M1.2 (#15580)
* Fix part of #10474: Enable typescript strict mode for all the newly added files and number of errors along with errors log. (#15578)
* Improve splash page loading speed : Remove material icons (#15549)
* Added Mypy type annotations to `validation_decorators.py` and `job_result_transforms.py` (#15501)
* Fix part of #10474: Cover ExtractImageFilenamesFromModelService with strict checks (#15495)
* Fix part of #14033: Added Mypy type annotations to `param_domain` and `story_domain` (#15483)
* Fix part of #14033: Type annotate html_cleaner.py (#15435)
Angular Migration
* Fix part of 9749: Migration of training-data.service.ts, training-panel, exploration-warnings.service.ts, parameter-metadata.service.ts and more. (#15604)
* Fix Part of #9749: Migrate Outcome editor (#15438)
Speed improvement
* Improve loading speed of splash and math page (#15477)
v3.2.6 (03 Jul 2022)
------------------------
Contributor Pages
* Fix #15552 and part of #15639: Fix contributor dashboard (#15666)
* Fix #15648: Remove limit from in-review translation suggestion query (#15649)
* Fix #15431: Update skill opportunity progress percentage denominator to 10 (#15450)
* Fix #15321: Show review message for accepted suggestions (#15405)
* Fix part of #15182: Organize translations in translation review page by lesson (#15295)
Speed improvement
* Improve loading speed of splash and math page (#15477)
* Fix images on splash (#15459)
Bug fixes
* Fix #15638: Fix broken page and broken FA icons (#15641)
* Fix pre-commit linter and release scripts (#15608)
Learner/Creator Pages
* Fix #15369: Users can now use the keyboard to navigate the Learner Dashboard (#15556)
* Fix #15538, #15541, #15534, #15527: Fix console error when previewing a skill; fix invalid profile URL in the history tab; fix controller schema validation error (#15553)
* Fix edits allowed banner showing when the page hasn't loaded (#15510)
* Fix svg sanitization logic to handle mixed camelCase attrs correctly (#15492)
* Fix #15370: Can report an exploration from the keyboard (#15488)
* Enable translations for the topic name in the "Master Skills for..." text on the practice tab (#15481)
* Fix part of #15444: Add delay to fix issue with dropdowns on the exploration-settings-page (#15474)
* Prevent page from reloading when attempting to navigate to the learner dashboard while currently on the learner dashboard (#15448)
* Fix part of #14702: Add the stale tab and unsaved changes detection functionality for story editor page (#15443)
* Fix #15246: Prerequisite skills from other topics now load properly in the chapter editor (#15442)
* Fix part of #14702: Add the stale tab and unsaved changes detection functionality for skill editor page (#15440)
* Fix #15376: Make classroom page responsive (#15418)
* Add admin utility to rollback explorations (#15397)
* Fix #15375: Make splash page's benefits subsection responsive on wider screens (#15391)
* Fix part of #13822: Add validation for Curated Lesson Category (#15342)
* Fix part of #14219: Increase interaction_registry test coverage to 100% (#15339)
* Fix #14261: Voiceover of multiple choice components (#15315)
* Fix part of #15134: Add a border to the language selector button (#15305)
* Fix #15263: Make titles on exploration cards readable (#15297)
* Fix #14085: Deprecate math interactions' unsupported rules and update cust arg name. (#15271)
* Introduce backend changes for Logged in user checkpoints (#15213)
* Fix #15526 and #15523: Console errors when ENTER key is used in a numeric input field and Unable to enter numbers in formats using a comma as a decimal separator (#15575)
Dev Workflow
* Remove import from utils (#15557)
* Fix codemirror (#15555)
* Fix how we revert wiki changes from web interface (#15494)
* Fix #15489: Upgrade pip-tools to v6.6.2 for pip 22.1.1 support (#15490)
* Upgrade pip-tools to v6.6.1 for pip 22.1 support (#15465)
* Revert updates to the wiki made through the web interface (#15446)
* Purge python utils (#15441)
* Fix #15425: Increase max_old_space_size for webpack (#15437)
* Upgrade Beam to 2.38.0 (#15400)
* Run clean up before build and ensure webpack_bundles is non-empty (#15317)
* Fix bug in hanging indent checker (#15226)
* Fix secret names for revert-web-wiki-updates workflow (#15467)
* Make instructions for getting help clearer in the PR template. (#15355)
Typing
* Fix part of #14033: Added Mypy type annotations to `fs_services` and `rating_services` (#15424)
* Fix part of #14033: Type annotate user_query_services.py (#15395)
* Add Mypy type annotations to pending files of storage models. (#15390)
* Add schema for params dict in reader controller (#15388)
* Add Mypy type annotations to pending files of jobs/types directory. (#15373)
* Fix part of #10474: Strict checks for skill-selector.component.ts (#15310)
* Fix part of #13341: Type annotate typescript_checks (#15289)
* Fix part of #14033: Added MyPy type annotation to the file role_services.py (#15286)
* Fix part of #13341: Type annotate common.py (#15258)
* Fix part of #10474: Make typescript checks strict for few more files (#15257)
* Type annotate classroom_services (#15241)
* Fix part of #13341: Type annotate regenerate_requirements.py, run_frontend_tests.py and run_custom_eslint_tests.py (#15208)
* Fix part of #10474: Make typescript checks strict for few more files (#15089)
Release team
* Fix deployment issue on MacOS (#15454)
Translations
* Routine update of translations (#15449)
* Fix part of #14960: Page title translations - 2 (#15445)
* Fix part of #14960: Page title translations - 1 (#15304)
Automated QA Team
* Relax Lighthouse uses-responsive-images assertion (#15434)
* Extend failure notifications to backend, lint, and type checks (#15416)
* Fix Context Service Flake in Translation Tab Component (#15398)
* Fix part of #14219 :Increased coverage to 100% for user.gae_models_test (#15393)
* Fix frontend time flake and other miscellaneous fixes (#15389)
* Fix part of #14219: Increase role_services test coverage to 100% (#15384)
* Extend lighthouse timeout for retrieving sourcemaps (#15379)
* Fix part of #14219: Raise backend test coverage to 100% for core.constants.py (#15292)
* Fix part of #14219: install_third_party_libs.py (#15290)
* Fix part of #14219: Increase core.jobs.job_test_utils_test to 100% test coverage (#15272)
* Fix part of #14219: Increasing backend test coverage of core.utils_test to 100% (#15161)
Data handling
* Fix part of #14419: Changed the format of REPORT_TYPE class (#15296)
* Fix part of #14419: Changed the format of PARAM_NAMES class (#15291)
* Fix part of #13822: Backend validation of skill medium rubrics explanations. (#15235)
* Fix part of #14537: Refactor fs_domain (#15221)
* Fix part of #13822: Validation for rubric explanations (#15173)
* Add job to populate mailchimp database (#15120)
* Fix part of #13341: Type annotate build.py, check_e2e_tests_are_captured_in_ci.py, check_frontend_test_coverage.py (#15104)
* Refactor param domain file (#15048)
* Fix part of #13162: Add Schema for AnswerSubmittedEventHandler (#14494)
* Improve validation and minor fixes to clear the erroring deferred job queue (#15491)
Angular Migration
* Fix part of #9749: Migrate Schema Based Editors (#14776)
v3.2.5 (04 May 2022)
------------------------
Contributor Pages
* Fix #15321: Show review message for accepted suggestions (#15405)
* Fix #14715 Stop update requests when no changes are detected (#15053)
* Support legacy translation command in the translation suggestion review edit flow (#15333)
Learner/Creator Pages
* fix few learner exp quality issues and add 'more' button for feedback updates in the learner dashboard (#15273)
* Fix #15253: update skill editor when state changes; Add discard button in SVG editor (#15254)
* fix change detection issue in skill review editor (#15247)
* Update index.yaml and fix change detection issues in skill / topic editor (#15242)
* Fix #15234: Fixed issue with slider (#15237)
* Fix #15023, #15037: Hide learner suggestions in the feedback tab and show correct open feedback count; Fix errors in skill questions tab (#15220)
* Fixed some UI issues in sidenav and topnav (#15218)
* Removed unnecessary calls to analytics service (#15154)
* Fix part of #14702: Add favicon and staleness detection services and add some functions in local storage service. (#15100)
* Fix #11560: Add "Lesson Info" Modal. (#15065)
* Goals tab based on learner dashboard doc (#14987)
* Fix part of #14085: Added MatchesUpToTrivialManipulations rule for math interactions. (#14977)
* Add logs to debug server error in rte parser (#14897)
* Fix stacking issue with "tag misconceotion modal" (#15267)
Dev Workflow
* Upgrade Beam to 2.38.0 (#15400)
* Use group in codeowners and remove Hardik (#15276)
* Fail noisily if a process crashes. (#15250)
* Upgrade frontend and backend libs (#15243)
* Update comments of non-null assertion. (#15236)
* Fix #15225: Skip pylint cyclic import check (#15229)
* Transfer code ownership from @DubeySandeep (#15219)
* Use our fork of pylint-quotes (#15216)
* Fix #13991: Fix flaky build tests (#15187)
* Update PR template (#15054)
* Fix part of #7450: Replaced private methods in SuggestionServicesUnitTests (#15001)
* Revert "Fix part of #10474: Make typescript checks strict for some files." (#15252)
* fix race condition causing fe test to be flaky (#15230)
Release team
* Add step to inform server errors team before deploying release (#15383)
* Update branch protection rule prompt (#15281)
* Update maintenance mode to return status code as 200 instead of 503 (#15210)
Data handling
* Fix part of #15311: Fix takeout in app feedback and add more granular debugging (#15359)
* Fix part of #13822: Add backend validation check for question state schema version. (#15264)
* Fix part of #13341: Type annotate create_expression_parser.py, create_topological_sort_of_all_services.py, install_chrome_for_ci.py (#15186)
* Fix part of #13341: Type annotate clean.py, run_tests.py, scripts_test_utils.py (#15181)
* Fix part of #14351: Enforce normalized data (#15044)
* Fix part of #13822: Added beam jobs for skill misconception ID validation (#15039)
* Fix part of #14085: Added audit job for math interactions. (#14952)
* Fix part of #14537: Refactor improvements domain (#14866)
Speed improvement
* Improve speed of splash and learn/math (#15275)
* Improve speed of splash and learn/math (#15142)
* Revert "Improve speed of splash and learn/math" (#15223)
Typing
* Removing all annotated files from core/jobs. (#15228)
* Fix part of #14033: Added Mypy type annotations to some files. (#15119)
* Fix part of #14033: Type annotate translatable_object_registry (#15118)
* Fix part of #10474: Make typescript checks strict for few more files (#15085)
* Fix part of of #14033: Type annotate email_services file (#15062)
* Fix part of #14033: Added Mypy type annotations to `user_domain.py` (#15057)
* Fix part of #10474: Make typescript checks strict for some files. (#15049)
* Fix part of #14033: Added Mypy type annotations to `collection_domain.py` (#14958)
Angular Migration
* Fix part of #11329: oppia-interactive-music-notes-input.directive (remove addClass) (#15151)
* Fix Part of #9749: Migrates Music-Notes Input Interaction to Angular (#14841)
* Fix Part of #9749: Migrate End exploration interaction with separate backend-api-service. (#14766)
v3.2.4 (29 Mar 2022)
------------------------
Learner/Creator Pages
* Fix #15023, #15037: Hide learner suggestions in the feedback tab and show correct open feedback count; Fix errors in skill questions tab (#15220)
* Fix #15188: Fix Drag and Drop interaction short response html so it displays _html instead of _contentId (#15211)
* Fixes 15159, 15156, 15163, 15180, 14752 (#15192)
* Fix #15166: Add hacky translation support for breadcrumbs on classroom related pages (#15167)
* Removed unnecessary calls to analytics service (#15154)
* Fix #15101: Question submission image issue (#15131)
* Fix #15123: Show classroom promo in navbar regardless of user state (#15125)
* Fixes scroll issues (#15114)
* Fix base64 parsing issue in svg editor upload functionality (#15109)
* fixes broken UI on lessons tab. (#15068)
* Fix #15024: fixes feedback's reload behaviour. (#15067)
* Fix #14944: Copy text in translation mode (#15061)
* Fix #14855: Edits navbar to ensure learning view does not break (#15045)
* Fix part of #14219: Make test coverage in question_fetchers 100% (#15040)
* Fixes #15005: Topic prerequisite skill checking is broken and prevents topic being published. (#15025)
* Fix part of #14702: Add entity editor browser tabs info domain object (#15019)
* Fix #14982, Fix part of #14960: Fixing search bar's language and categories drop-down and repetition of search results. (#14991)
* Fix part of #14960: UI improvements on exploration and classroom pages (#14979)
* Fix part of #14960: Updated UI of preferred languages chip (#14978)
* Fix part of #14960: Open chapter from the topic page in the same tab instead of opening in a new tab. (#14976)
* Fix part of #14960: Remove extra margin from beneath the lesson completion card (#14964)
* Fix part of #13822: Backend validation for non-duplicate exploration rights user IDs (#14962)
* Added new menu item `about oppia foundation` (#14961)
* Fix part of #14829: Added RTL formatting for remaining files. (#14934)
* Fix #14845: Problems related to skill editor component in the exploration editor (#14933)
* Fix #14921: Made Image-editor component and edit-profile-picture component responsive (#14932)
* Check uniqueness of topic name without considering leading and trailing spaces (#14925)
* Fixes UI Inconsistencies in the Review Player (#14919)
* Add some debug info to track #14708 if it occurs again (#14915)
* Learner dahsboard fixes based on learner dashboard doc (#14898)
* Fix #14793: Strip invalid tags and attribute from SVGs instead of showing a warning. (#14876)
* Fixes The order of In-progress lessons. (#14868)
* Minor UI enhancements in Goals Tab on Learner Dashboard. (#14863)
* Fix #14712: Added warning checks for author recommended exploration ids (#14853)
* Change hover behaviour of cards on the learner's dashboard (#14852)
* Minor UI improvements in Navbar (#14837)
* Minor UI changes in side-navbar. (#14836)
* Fix part of #13764: set minimum number of questions for Topic until practice tab can be displayed (#14799)
* Added new empty lessons tab and fixes feedback tab's title position. (#14768)
* Fix #14788: Results page now doesn't show skills with no questions (#14762)
* Fix #14634: Add checks to validate explorations before adding them as chapters (#14747)
* Switch default values of autogenerated text-to-speech and correctness feedback for explorations (#14746)
* Fix #13010: Allow learners to enter decimals in formats other than English (#14744)
* Fix #14646: Make display of concept card link inline. (#14731)
* Fixes creator dashboard button's screen position, added hover effect on main menu and removed extra unit spaces. (#14721)
* Fix #14667: Adds I18N keys for preference page (#14685)
* Fix #14621: Change concept-card modal's z-index so it stacks correctly over other modals (#14670)
* Fix #14432: Shows previous subtopic card when at last subtopic of the topic. (#14660)
* Fixes Leaner Dashboard Issues (#14654)
* Fixes #14636: Bug on collection player page on mobile devices (#14637)
* Fix part of #14219: Increasing backend test coverage of core.domain.story_fetchers_test to 100% (#14632)
* Changing the login overlay to have the new UI (#14607)
* Align lesson titles on collection page so they don't overlap with the path line (#14591)
* Fixes practice tab's start button behaviour (#14583)
* Fix #14431: Resolves all navbar related fixes for rtl languages (#14559)
* Change layout of exploration and collection cards on community-library for mobile UI (#14527)
* Fix #13566: Updates languages names in voiceover dropdown and other fixes. (#14523)
* Implemented new UI changes in lessons page (mobile view). (#14512)
* Redesign Search bar and Fix #14447: Change dropdown buttons' z-index so they don't appear over the sidebar (#14486)
* Add RTL support to the major viewer pages (#14375)
* Fix #13737: Voiceover does not repeat when user submits answer before voiceover has finished (#14367)
* Fix part of #14085: Making math interactions consistent with the android definitions. (#14197)
* Fix part of #13764: Story notes and skill rubric explanation validation. (#14159)
* Registers translatable fields in Exploration, Question & State based on new translation architecture. (#14534)
* Fix base64 to unicode decoding issue (#15002)
* Fix part of #13764: For curated lessons outcome refresher_exploration_id should be None (#14908)
* Fix 14787: Fixes topic editor tab when wrong URL fragment is entered in `Topic URL Fragment` (#14903)
* Fix #15011: Replace choppy animation and introduce fade in out as a short term fix (#15081)
* Fix part of #11329: conversation-skin.directive (remove: addclass and removeclass) (#15066)
* Fixed different behavior of navbar items. (#14862)
* Skip regenerating summary with new contributor if exp is not found (#14846)
* Fixes #14704: Uploading of exploration in yaml format. (#14800)
Speed improvement
* Improve speed (#15116)
Release team
* Fix path for app yaml file (#15107)
* Allow option to choose default browser (#15076)
* Add CORS header to app.yaml (#15043)
* Remove usage of credits form for changelog generation (#14911)
* Re-add rtl css to develop (#14907)
* Update authors and changelog for v3.2.3 (#14904)
* Allow multiple remote urls to be used for release (#14894)
* Fix cloud sdk version and add a check to avoid this issue in future (#14616)
* Fix #14354, #14328 and #57 (on release-scripts): Multiple Release script fixes (#14380)
Translations
* Routine update of translations. (#15092)
* Fix #14998: Extended hacky translations for next recommended chapter name translation (#14999)
* Fix #14947: Mcq options translations not showing up (#14948)
* Fix #14881: Extended hacky translations for navbar topic titles (#14882)
* Routine update of translations. (#14789)
* Imlementation of Hacky translations for the all classroom related pages (#14631)
* Adds Base structure for the new translation architecture (#14515)
Contributor Pages
* Fix part of #14355 Allow filtering reviewable translation suggestions by topic [Frontend] (#15074)
* Fix #14826: Implement pagination in Contributor Dashboard Contributions tab. (#15072)
* Fix part of #14355 Allow filtering reviewable translation suggestions by topic [Backend] (#15070)
* Fix #14358: Slow load times for translation opportunities (#14784)
* Fix #14206: Unable to remove question contribution rights in admin dashboard (#14577)
* Fixed length of filter by topics container (#14561)
* Fix #11761: Add a dropdown to replace the sidebar in contributor's dashboard when the screen becomes too narrow (#14342)
Data handling
* Fix part of #13341: Type annotate third_party_size_check.py, start.py, setup_gae.py (#15069)
* Fix part of #13822: Add backend validation check for story description. (#15038)
* Fix part of #14419: ANDROID_TEXT_SIZE and ANDROID_NETWORK_TYPE enums refactored (#15015)
* Fix #10383: fix nerdamer typing (#14963)
* Fix Part of #13162: Adds schema for handler UserInfoHandler class (#14922)
* Upgrade lighthouse (#14917)
* Replace validation method with object class (#14901)
* Fix part of #13162: Added SiteLanguageHandler schema (#14886)
* Fix part of #13162: Added Schema for ExportAccountHandler (#14880)
* Fix part of #13162: Added Urlhandler schema with required changes (#14879)
* Topic domain refactor (#14844)
* Fix part of #14537: Refactor feedback domain file. (#14802)
* Fix part of #14537: Refactor wipeout domain (#14764)
* Fix #14751: Allow int in float ininstance checks (#14758)
* Fix Part of #13162: Adds schema for handler FetchSkillsHandler class (#14749)
* Fix part of #13822: Exploration title should have max length of 36 (#14748)
* Refactor beam_job_domain file (#14742)
* Fix #14705: Allow any param dict, add more files to GCoud ignore file, fix MyPy bug by adding stubs (#14724)
* Fix #14022: Tidy-up admin related pages and remove remainders of MapReduce jobs (#14663)
* Fix part of #13162: Added Schema for EditableSkillDataHandler (#14623)
* Fix Part of #13162: Added Schema for SignUpPage (#14614)
* Fix part of #14555: Implement a schema type to validate variable no of keys in dict (#14571)
* Fix part of #14383: Refactor comma_separated_*_ids (#14563)
* Fix part of #14537: Introduce lint checks for importing services inside domain files (#14553)
* Fix part of #13162: Added schema for ExplorationEmbedPage (#14481)
* Job to extract email, collection id of users who created collection (#14461)
* Fix part of #13162: Setup schemas on topic editor (#14356)
* Skill opportunity job (#14324)
Miscellaneous
* Fix tests/methods that refer to private functions in Python inside core.domain.exp_services_test.py (#15060)
* Fix #14827: Clarifies the error messages for NumericInputInteraction (#14918)
* Upgrade libs (#15127)
* Revert "Improve speed" (#15121)
* Transfer codeowner files from Eric to Kevin (#14753)
* Update README file to add social media (#14745)
* Update year to 2022 (#14700)
* Fix frontend test flake caused by #14342 (#14638)
* Fix #14524: Frontend testing (#14619)
* Revert #14470 (#14613)
Angular Migration
* exploration-improvements.service.ts from AngularJS to Angular (#15051)
* dead code (#15028)
* Fixed part of #9749: Migrated concept-card-editor and skill-preview modal (#14939)
* Fix Part of #10700: Refactor Object Factories (#14888)
* Fix Part of #9749: state-interaction-editor from AngularJS to Angular (#14873)
* Fix part of #9749: Migrated outcome-destination-editor (#14865)
* Fix Part of #9749: Migrate State content editor (#14838)
* Fix part of 9749: customize-interaction-modal.component migrated from AngularJS to Angular (#14798)
* Fix part of #9749: Migrated state-solution-editor component (#14790)
* Fix Part of #9749: Migrate and Redesign DragAndDrop interaction (#14774)
* Fix part of #9749: Migrated add-or-update-solution modal component (#14771)
* Migrate ExplorationStatesService and GraphDataService to Angular 2+ (#14701)
* Fix part of #9749: Migrate whole NumberWithUnits interaction directive. (#14681)
* Fix part of #9749: Migrated ques-misconception-editor (#14672)
* Fixes Part of #9749: Migrate Whole RatioExpressionInput directive interaction (#14661)
* Fix part of #9749: Migrate Solution-editor & solution-explanation-editor to angular (#14656)
* Fix Part of #9749: Migrates Interaction Pencil Code Editor to Angular (#14624)
* Fix Part of #9749: Migrate whole ItemSelectionInput directive inside interaction. (#14593)
* Fix part of #9749: Migrated reviews-materials-editor component (#14590)
* Fix part of #9749: Migrated skill-misconception-editor directive (#14588)
* Fix part of issue #9749: State-hints-editor, hint-editor, response-header component from angularJS to angular (#14576)
* Fix part of #9749: Migrated select-skill-difficulty-modal, question-editor-save modal, confirm-question-exit-modal etc. (#14565)
* Fix part of #9749: Migrate translation-suggestion-review-modal (#14546)
* Fix Part of #9749: Migrate change subtopic assignment modal (#14493)
* Fix part of #14187: Migrate contribution-and-review-service to angular and fully cover it with frontend tests (#14471)
* Fix part of 9749: Migrate help-modal.controller (#14406)
* Fix part of #9749: Migrate conversation skin, conversation skin embed and exploration player page directives (#14087)
Typing
* Fix part of #10474: Make typescript checks strict for few more files. (#15046)
* Fix part of #14033: Added MyPy type annotation to the file image_services.py (#15032)
* Fix part of #10474: Make typescript checks strict for few more files (#15027)
* Fix part of #14033: Added Mypy type annotations to some files. (#15008)
* Fix part of #10474: Make typescript checks strict for few more files (#14990)
* Fix part of #10474: Make typescript checks strict for subtopic_viewer/*.ts folder (#14989)
* Fix part of #10474: Make typescript checks strict for few files (#14988)
* Fix part of #14033: Added Mypy type annotations to `activity_services.py` (#14986)
* Fix part of #10474: Make typescript checks strict for few files. (#14983)
* Fix part of #14033: Type annotate user_query_domain (#14931)
* Fix part of #10474: Make typescript checks strict for skills-list.component ans spec (#14871)
* Fix Part of #13015: Removing use of `unknown` as a type in Interactions (#14775)
* Added strict tests for more files (#14664)
* Fix part of #10474 : Make typescript checks strict for `core/templates/components/skill-selector/merge-skill-modal.component.ts` (#14644)
* Fix part of #10474 : Make typescript checks strict for `core/templates/domain/editor/undo_redo/base-undo-redo.service.ts` (#14633)
* Fix part of #10474: Make typescript checks strict for ExplorationObjectFactory (#14600)
* Fix part of #14033: Type annotate Topic domain (#14595)
* Fix part of #14033: Added Mypy type annotations to some files. (#14469)
Developer UX
* Upgrade elasticsearch and limit its memory usage (#15033)
* Fix part of #7450: Replace testing of private methods in BuildTests (#15020)
* Add error message to debug flaky test (#14970)
* Fix Part of #11496: Add lint check for browser.switchTo().activeElement() method (#14959)
* Upgrade frontend and backend libs (#14902)
* Upgrade to fixed version of pip-tools (#14860)
* Catch errors at the time of javascript compilation (#14849)
* Remove codeowner for the pylint files (#14824)
* Fix pip compile (#14813)
* Fix part of #12912: Enables 'missing-raises-doc' and 'cyclic-import' pylint checks (#14772)
* Upgrade frontend libs (#14737)
* Fix part of #12912: Enables raise-missing-from pylint check (#14719)
* Upgrade libraries (#14642)
* Update PULL_REQUEST_TEMPLATE.md (#14629)
* Move import under third party exec code (#14606)
* Fix part of 14219: Increasing backend test coverage of core.storage.classifier.gae_models_test to 100% (#14573)
* Fix part of #14419: SERVER_MODES refactored to ServerModes and values changed to UPPERCASE (#14556)
* Fix part of #12912: Enables `consider-using-in` pylint check (#14520)
* Fix part of #12912: Changes deprecated python methods (#14506)
* Fix parts of #12912: Enables `no-else-continue` and `no-else-raise` pylint checks (#14504)
* Fix part of #10616: Added eslint check "lines-between-class-members" (#14496)
Automated QA Team
* Fix part of #14219: Increasing backend test coverage of core.domain.playthrough_issue_registry_test to 100% (#15026)
* Fix part of #14219: Add backend tests to achieve 100% per-file backend coverage with classifier_domain_test (#14996)
* Fix part of #14219: Increasing backend test coverage of core.domain.topic_fetchers_test to 100% (#14981)
* Fix part of #14187: Added frontend coverage for `oppia-footer.component.ts` (#14973)
* Fix part of #14219: Increasing backend test coverage of core.domain.story_services_test to 100% (#14942)
* Fix part of #14187: Add frontend test for audio-preloader.service.ts (#14927)
* Fix part of #14187: Add frontend test for story-node.model.ts (#14923)
* Fixes part of #14219: 100% test coverage for skill_domain and suggestion_services (#14920)
* Fixed part of #14219: 100% per-file backend test coverage for acl_decorators.py (#14892)
* Fix part of #14219: Increasing backend test coverage of core.domain.topic_services_test to 100% (#14891)
* Fix part of #14219: Increasing backend test coverage of core.domain.summary_services_test to 100% (#14890)
* Add more tests to SVG editor (#14884)
* Fix part of #14219: Increasing backend test coverage of core.domain.exp_fetchers_test to 100% (#14883)
* Fix part of #14219: Increasing backend test coverage of core.domain.blog_services_test to 100% (#14854)
* Fix part of #14219: Increasing backend test coverage of core.domain.skill_fetchers_test to 100% (#14835)
* Fix part of #14219: Increasing backend test coverage of core.controllers.blog_homepage_test to 100% (#14834)
* Resolving Add to 'play later' list icon taking too long to load flake in learner dashboard (#14822)
* Fix "Wait timed out after 10001ms" flake in wipeout suite. (#14818)
* Fix part of #14219: Increasing backend test coverage of core.domain.exp_services_test to 100% (#14816)
* Fix part of #14219: Increase backend coverage for `classifer_services.py` to 100% (#14812)
* Fix part of #14219: Increasing backend test coverage of `core.domain.skill_services_test` to 100% (#14801)
* Fix part of #14187: Add remaining frontend tests for some files for 100% coverage (#14796)
* Fix part of #14187: Add fronted tests for `normalize-whitespace-punctuation-and-case.pipe.ts` (#14773)
* fixed part of #14219: 100% per-file backend test coverage for question_domain.py (#14759)
* Fix part of #14219: Increasing backend test coverage of core.domain.feedback_services_test to 100% (#14756)
* Fix part of #14187: Cover some files with frontend tests (#14729)
* Fix part of #14187: Add remaining frontend tests for `truncate-and-capitalize.pipe.ts` (#14699)
* Fix part of #14187: Adds frontend tests for `subtopic.model.ts` (#14696)
* fixed part of #14219: 100% per-file backend test coverage for event_services.py (#14682)
* Fix part of #14219: Increasing backend test coverage of `core.storage.auth.gae_models_test` to 100% (#14665)
* Fix part of #14219: Increasing backend test coverage of `core.storage.question.gae_models_test` and `core.jobs.job_utils_test` to 100% (#14662)
* Fix part of #14187: Add remaining frontend tests for three files (#14650)
* Fixed part of #14219: Increased backend test coverage of `core.storage.opportunity.gae_models_test`, `core.controllers.story_editor_test`, `core.controllers.skill_editor_test` and `core.storage.statistics.gae_models_test` to 100% (#14641)
* Fix parts of #14219: Increasing backend test coverage of `core.storage.recommendations.gae_models_test` and `core.storage.subtopic.gae_models_test` to 100% (#14610)
* Fix part of #14219: Increasing backend test coverage of `core.domain.email_manager_test`, `core.domain.action_registry_test` and `core.domain.config_domain_test` to 100% (#14601)
* Fix part of #14219: 100% per-file backend test coverage for editor.py (#14594)
* Fix part of #14219: Increasing backend test coverage of `core.storage.config.gae_models_test`, `core.domain.html_validation_service_test` and `core.domain.stats_domain_test` to 100% (#14589)
* Fix part of #14219: Increasing backend test coverage of `core.storage.story.gae_models_test` to 100% (#14586)
* Fix part of #14219: Increasing backend test coverage of `core.storage.blog.gae_models_test` to 100% (#14585)
* Fix part of #14219: Increasing backend test coverage of `core.storage.audit.gae_models_test` to 100% (#14584)
* Fix part of #14219: Increasing backend test coverage of `core.domain.learner_goals_services_test` and `core.domain.recommendations_services_test` to 100% (#14582)
* Fix part of #14219: Increasing backend test coverage of `core.domain.param_domain_test` to 100% (#14581)
* Fix part of #14219: Increasing backend test coverage of core.storage.improvements.gae_models_test to 100% (#14580)
* Fix part of 14219: Increasing backend test coverage of `core.domain.rights_domain_test` to 100% (#14578)
* Fixes part of 14219: Increasing backend test coverage of `core.domain.taskqueue_services_test` to 100% (#14564)
* Fix part of 14219: Increasing backend test coverage of `core.domain.activity_domain_test` to 100% (#14558)
* Fix part of #14219: Increasing backend test coverage of `core.platform.storage.cloud_storage_emulator_test` to 100% (#14548)
* Fix part of #14219: Increasing backend test coverage of core.controllers.resources_test to 100% (#14541)
* Fix part of #14219: Increase backend test coverage of core.controllers.profile_test to 100% (#14529)
* Add support for E2E rerun overrides (#14508)
* Enable screenshots on the develop branch of oppia/oppia (#14473)
* Fix #12219: Migrate typescript tests to Github actions and filter circle ci tests to run only on develop branch (#14439)
Bug fixes
* Fixed #15009: Scroll to the top while navigating to the static pages. (#15010)
* Fix part of #14960: Center aligning this text with their images. (#14993)
* Fix failing mypy checks of `core.domain.rights_domain_test` (#14649)
* Fix shared component error for: Migrate delete-hint-modal.template, delete-interaction-modal.template, delete-last-hint-modal.template, delete-solution-modal.template, follow #14454 PR: (#14522)
Server Errors
* Fix #13624: Limit number of characters that can be entered in the skill description text field (#14940)
* Include additional data when error is thrown to better understand issue #14709 should it arise again (#14938)
* Fix #14711: Unsubscribe from observables to prevent detectChanges calls after component destruction (#14926)
* Fix #14710: Fixes `newWidgetSelector` being assigned null. (#14905)
* Investigating server error described in issue #14707 (#14887)
* Fix #14714: Modified conditional checks for adding content ids (#14867)
* Fixes #14713: ngModel:numfmt error in the editor page (#14850)
Python Migration
* Fix part of #13956: Migrate function python_utils.open_file (#14728)
* Fix part of #13956: Replaced python_utils.divide with "//" python3 operator (#14657)
* Fix part of #13956: Replaced python_utils.parse_query_string with urllib.parse.parse_qs (#14640)
* Fix part of #13956: python_utils.url_unsplit->urllib.unsplit (#14338)
* Fix part of #13956: Replaced python_utils.ZIP() with zip() (#14279)
* Fix part of #13956: Remove `yaml_from_dict` from python_utils.py (#13970)
v3.2.3 (10 Feb 2022)
------------------------
Learner/Creator Pages
* Fix #14693: Allows changing thumbnail background color. (#14783)
* Fix #14426: Resolved Multiple Choice Options Shuffling Between Attempts (#14777)
* Fix #14694: Stack skill name label and radio button container properly and add text explaining score calculation on the practice session results page (#14716)
* Fix #14683: Learner dashboard minor UI fixes for mobile view (#14688)
* Fix #14667: Adds I18N keys for preference page (#14685)
* Fixes unnecessary underlining on hover and focus on the top navigation bar (#14608)
* Changing the login overlay to have the new UI (#14607)
* Fix #14431: Resolves all navbar related fixes for rtl languages (#14559)
* Fix #14084: Allow resize image to 200%; Surface exp role editor error (#14557)
* Fix #14397 : Contributors page not found (#14540)
* Fix #14530: Change question-editor-container's position so it moves up when screen is scrolled (#14535)
* Change layout of exploration and collection cards on community-library for mobile UI (#14527)
* Fix #13680 Remove voice artists' role in the description text (#14463)
* Fix #14188: Fix the Score Circle on the results page so it animates properly (#14452)
* Implemented new navbar : Home navbar menu item (#14438)
* Fix #11898: Align social-media icons (#14436)
* Fix #14389: Increase HTML length validation check limits (#14391)
* Fix #14255 Added extra space at bottom of the story editor page (#14381)
* Implemented new UI for the 'Get Involved' Tab of the top navbar and fixes issue with keyboard navigation (#14345)
* Fix part of #14085: Making math interactions consistent with the android definitions. (#14197)
Data handling
* Fix #14751: Allow int in float ininstance checks (#14758)
* Fix translation stats job (#14554)
* Fix part of #13162: Add backend test and schema to validate StoryUrlFragmentHandler class arguments (#14489)
* Fix part of #14351: Extended Schema validator (#14465)
* Fix part of #13162: Add schema for ReviewableSuggestionsHandler (#14407)
* Add skill and story migration jobs (#14361)
* Fix Part of #13162: Add argument schema for ProfileHandler, SignupHandler classes (#14257)