forked from oppia/oppia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
9503 lines (8471 loc) · 542 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 code base.
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)
Contributor Pages
* Fix #14669: Translation modal and other UI fixes in Contributor Dashboard Page (#14680)
* Fix #14519: Contributor profile page UI fixes (#14562)
* Fix #14230: Strip whitespace when comparing translation content html and exploration content html (#14396)
Developer UX
* Fix parts of #12912: Enables `useless-object-inheritance` (#14551)
* Fix part of #12912: Enables no-else-break pylint check (#14474)
* Upgrade libraries (#14430)
* Updates cron time for pending review notification (#14364)
* Upgrade libraries (#14236)
Python Migration
* Fix part of #14419: Refactor ValidationModes class and values (#14592)
* Fix part of #13956: remove python_utils.create_enum (#14301)
* Script for auto extending index.yaml (#14293)
Bug fixes
* Remove submodule (#14568) (#14569)
* Fixed #14510: Fixed working of delete answer group modal component (#14516)
* FE Flake in Router Service (#14318)
* Fixes few server errors and addresses some follow-up comments from #14352 (#14518)
Translations
* Routine update of translations. (#14789)
* Imlementation of Hacky translations for the all classroom related pages (#14631)
* Routine update of translations. (#14570)
Automated QA Team
* Fix part of #14219: Increasing backend test coverage of `core.controllers.library_test` to 100% (#14545)
* Fix part of #14219: Increasing backend test coverage of `core.controllers.questions_list_test` to 100% (#14538)
* Fix part of #14219: Increasing Backend Test Coverage of `extensions.rich_text_components.components_test` to 100% (#14528)
* Fix #14525: Fix incorrect error of no backend tests (#14526)
* Fix part of #14219: Write tests to fix 100% per file coverage for collection_domain.py (#14499)
* Fix part of #14219: 100% per-file backend test coverage for base.py (#14495)
* Fix part of #14219: Add a test to complete gae_models coverage (#14466)
* Fix part of #14219: Add tests to completely cover scripts/common.py (#14442)
* Fix part of #14187: Cover current-interaction and language-util services fully (#14434)
* Add e2e test to prevent supplemental cards regression (#14320)
* Add frontend test for schema-based-html-viewer.directive.ts (#14205)
Typing
* Added strict checking for more files (#14539)
* Fix part of #10474 : Make typescript checks strict for base-components/base.module.ts (#14513)
* Fix part of #10474 : Make typescript checks strict for editable-topic-backend-api.service.ts (#14459)
* Fix part of #14033: Type annotate improvements and feedback domain files (#14445)
* Fix part of #14033: Type annotate Classifier and Classroom domain (#14369)
* Fix part of #10474: Make typescript checks strict for core/templates/components/graph-services/graph-layout.service.ts file (#14311)
* Fix #14231: Added required strict typescript checks to import question-player-state-service (#14274)
Angular Migration
* Fix #14514: Remove dead code for voiceover tab on contributor dashboard page. (#14517)
* Fix #14502 & Fix part of #9749: use one modal for save-pending-changes-modal. (#14509)
* Fix #14501 & Fix Part of #9749: skill-prerequisite-skills-editor solved data not showing issue and moved it from angularJs to angular (#14505)
* Fixed part of #9749: Migrated skill-rubrics-editor component (#14500)
* Fixed part of #9749: Migrated Add-Worked Editor directive to component (#14490)
* Fix part of issue #9749: migrate forms-templates from AngularJS to Angular (#14488)
* Fixed part of #9749: Migrated misconception editor directive (#14487)
* Fix part of #9749: Migrated Add-worked-example and delete worked example modal (#14477)
* Fix part of #9749: Migrate save-pending-changes-modal.template (#14476)
* Fix part of #8472: Migrates exploration correctness feedback, exploration param changes, exploration param specs services. (#14475)
* Fix part of #9749: Migrate to skill-editor-save-modal.component (#14470)
* Fixed part of #9749: Migrated Add Misconception modal (#14467)
* Fix Part of #9749: Migrate delete-hint-modal.template, delete-interaction-modal.template, delete-last-hint-modal.template, delete-solution-modal.template into component (#14454)
* Fix part of #9749: Migrates topic-editor-send-mail, topic-editor-save, delete story modal (#14451)
* Fixed part of #9749: Migrated preview set parameter modal (#14435)
* Fix part of 9749: Migrate delete-answer-group-modal.template (#14429)
* Fixed part of #9749: Migrated revert-exploration-modal component (#14421)
* Fix part of issue #9749: migrate translation-tab TranslationTabBusyModal, DeleteAudioTranslationModal from angularjs to angular (#14411)
* Fix part of issue #9749: migrate welcome translation modal from angularjs to angular (#14410)
* Fixed part of #9749: Migrated add-hint-modal component (#14401)
* Fix part of issue #9749: migrate preview-summary-tile-modal to angular component and some services (#14388)
* Fix a part of #14278 : Exploration rights Service small important change in code (#14387)
* Fixed part of #8472: Migrated confirm-state-modal component (#14377)
* Fixed part of #8472: Migrated topic-editor-save-modal to Angular component (#14363)
* Migrate and encapsulate logic from conversation skin directive to ratings-and-recommendations component. (#14049)
* Fix Part of #9749: Migrates Creator-Dashboard-Page to Angular (#13906)
Release team
* Add notes to the release coordinator page (#14472)
* Fix problems in pre push hook (#14457)
Miscellaneous
* Fix #13162: Add schema and introduce new approach for saving multiple images in suggestion handler. (#14063)
v3.2.2 (05 Jan 2022)
------------------------
Learner/Creator Pages
* Fix breaking of navbar throughout all screen sizes (#14498)
* Fixes an issue where multiple calls where being made to the backend (#14460)
* Fix #14390: Concept cards have line breaks before and above them (#14443)
* Implemented new navbar : Home navbar menu item (#14438)
* Fix #14404: Fixes sidebar freezing behaviour (#14420)
* Fix #14011: Made misaligned subtopic tiles responsive (#14392)
* Fix #14304: Removed navbar links linking pages to new tabs (#14346)
* Implemented new UI for the 'Get Involved' Tab of the top navbar and fixes issue with keyboard navigation (#14345)
* Fix #14305: Change Foundation Page Title (#14329)
* Implemented the new UI for the Learn (formerly Classroom) Tab of the navbar and fixes #13667 (#14294)
* Adding a “Create exploration” button to the top bar of creator-dashboard (#14292)
* Fix part of #13764: page title fragment for web should have min-length 5 characters (#14264)
* Implemented new UI changes in side Navigation bar (#14258)
* Implemented donate nav item according to the new navbar view (#14232)
* Fix - Hints visible on results page, #13248: Adding href to topic viewer page urls (#14224)
* Fix issue #12165 overflow of skill description (#14203)
* Implemented the new UI for the results page (#14193)
* Add translation keys for interaction specific constant translations (#14158)
* Fix #14330: Pass isLearnAgainButton input to the progress-nav component (#14371)
* Fix mobile usability issues (#14198)
* Added confirmation before leaving practice tab to prevent accidental session close. (#14128)
Contributor Pages
* Add languages: Hausa, Igbo, Yoruba (#14378)
* Fix #14300 When the language is changed on the contributor dashboard, the view doesn't update for a while. (#14357)
* Fix #14339: Unblock translation review process from server error raised while fetching translations to review (#14341)
* Fix #14234 Unable to accept/reject a suggestions during reviews. (#14283)
* Fix #14265: Make translation language selector to show selected language correctly (#14268)
Data handling
* Add email job to registry (#14393)
* Add debugging to suggestions stats job (#14350)
* Fix part of #13162: Adds schemas for TopicsAndSkillsDashboardPageDataHandler, TopicAssignmentsHandler, SkillsDashboardPageDataHandler (#14323)
* Remove Brian for codeowners (#14319)
* Fix part of #13162: Added schema for the SkillRightsHandler and SkillEditorPage class in skill_editor.py (#14251)
* Fix part of #13162: Add schemas to validate ExplorationStartEventHandler and ExplorationActualStartEventHandler class arguments (#14222)
* Wipeout changes (#14221)
* Fix #13974: Remove unneeded constants (#14213)
* Fix #14103: Shifts handler schema constants to a separate file (#14212)
* Fix Part of #13162: Add argument schema for ExplorationCompleteEventHandler, ExplorationMaybeLeaveHandler, SolutionHitEventHandler classes (#14208)
* Fix part of #13162: Adds schema for the PromoBarHandler in resources.py (#14171)
Bug fixes
* Fix popperJS (#14386)
Python Migration
* Fixes part of #13956: python_utils.urllib_unquote (#14374)
* Fix part of #13935: Remove python_utils.url_parse function (#14336)
* Fixed part of #13956: Remove python_utils.zip_longest function (#14317)
* Fix part of #13956: Using Python3 urlrequest (#14303)
* Fix part of #13956: remove python_utils.string_io() and python_utils.url_open() (#14299)
* Fixed part of #13956: Remove python_utils.PRINT function (#14284)
* Introduce helper transforms for jobs (#14120)
* Fix part of #11314: Change "offset" from str to int, cursor to offset and address remaining TODO's (#14172)
Angular Migration
* Fix part of issue #9749: migrate setting-tab modals (delete, unpublish, reassign, ... ) to Angular Component (#14359)
* Fix part of issue #9749: migrate create new subtopic modal to angular component (#14347)
* Fix part of #8016: Migration of Exploration rights Service from AngularJS to Angular (#14278)
* Fix part of #8016: Make Http Calls of question-suggestion-review-modal.controller.ts and translation-suggestion-review-modal.controller.ts through service component. (#14246)
* Fix #9749: migrate Create feedback thread modal to angular component (#14269)
* Fixes part of #9749: Migrate few instances of angular-html-bind (#14263)
* Fix part of #8016: Make HTTP Calls of setting-tab.component.ts through service component (#14153)
* Fix Part of #9749: Migrates Collection-Player-Page to Angular (#12729)
Translations
* Routine update of translations. (#14349)
Developer UX
* Update CONTRIBUTING.md to be the same as our wiki (#14334)
* Fix part of #10616: Add eslint rule 'member-delimiter-style' (#14244)
* Fix part of #10616: Add eslint rule to ensure consistent type definitions (#14162)
* Fix some errors and omissions in the lint script. (#14321)
Miscellaneous
* Temporarily remove @BenHenning from codeowners (#14286)
* Remove myself from oppia-web CODEOWNERS (#14216)
* Use legacy cust args for v47 to v48 schema migration (#14352)
* Fix #14126: Pass the normalized values for url path elements to the handler (#14127)
Automated QA Team
* Fix part of #13467: Fixes frontend coverage issue with `save-validation-fail-modal.component.ts` (#14275)
* Fix part of #14187: Cover some files with frontend tests (#14242)
* Disable GPU for Selenium to try and fix renderer timeout (#14220)
* Fix part of #14187: Write frontend tests for some components (#14179)
* Fix #13952: Per-file backend coverage tests (#14166)
* Fix part of #10798: Fixed end-to-end tests for workflow.js (#14124)
Typing
* Fix part of #10474: Cover translate-text.service.ts and music-phrase-player.service.ts with strict checks. (#14201)
* Fix part of #8015: pretest-question-backend-api.service returns domain object instead of dict (#14192)
* Fix part of #14033: Added type annotations to wipeout_domain (#14163)
* Fix part of #10474: Typescript Strict Check for skill-backend-api.service.ts (#14137)
* Fix part of #14033: Type annotate opportunity domain (#14123)
* Fix part of #10474: Cover Top-Navigation-Bar component with strict checks (#14106)
* Fix part of #14033: Add Mypy type annotations to domain files (#14058)
* Fix part of #13687: Convert dicts to domain objects as a part of normalization through schema validation. (#13678)
v3.2.1 (27 Nov 2021)
------------------------
Learner/Creator Pages
* Fix #14227: Disable "Add Thumbnail" button when user has not uploaded new thumbnail (#14297)
* Fix #14235: Enable to submit question suggestions with image region interations (#14289)
* Fix #14228 and #14253: Set classroom filter choices in skills tab and fix change detection/propagation issue in the supplemental card component (#14270)
* Fix #10315, #14200: Fixes white spacing issues in RTE (#14233)
* Fix submitting answers using 'enter key' in Interactions. (#14195)
* Add same padding on both top and bottom of drag and drop answer fields. (#14191)
* Fix #14009: adds animation to topic navbar and fixes background banner. (#14184)
* Fix part of #12858: Add Dutch, Slovak and Ukrainian to the list of site-supported languages. (#14183)
* Fix #14055: Disables making changes to topic if user has no topic rights. (#14139)
* Fix skill edit editor lag issue (#14129)
* Fix part of #13764: Add frontend validation checks for exploration tags (#14119)
* Learner dashboard fixes (#14105)
* Learner dashboard fixes (#14101)
* Fix part of #13764: Add validation checks for Outcome, Hint and Solution Explanation (#14035)
* Fix #14007: Removed extra dropdown icon from admin page navbar (#14008)
* Fix part of #13380: Fixed exploration player rtl formatting issues (#13980)
* Scale and center SVG in the editor (#14178)
* Fix #12452 and #13358: Guppy Configuration Service (#14138)
* Fix part of #13764: State content should be a valid HTML string with at most 10,000 characters (#13918)
* Fix part of #13603: Validation for Continue, Text Input, Multiple Choice Interaction (#13838)
Angular Migration
* Fix #14225: Move modal creation logic from service to component for remove from play later playlist modal (#14291)
* Fix part of #9749: Migrate few instances of angular-html-bind (#14263)
* Migrate confirm discard change modal template (#14167)
* Fix part of issue #9749: migrate exploration-publish-modal to angular component (#14152)
* Fix part of #8016: Make Http Calls of history-tab.component.ts through service component (#14111)
* Fix #14052: Introduce i18n service for encapsulating all translation logic (#14099)
* Fix part of #9749: Migrates editor reloading modal to angular (#14089)
* Fix part of issue #9749: migrate post-publish-modal to angular component (#14079)
* Fix part of #8472: Migrate question player state service (#14074)
* Fix part of #9749: Migrates welcome modal to angular (#13890)
* Fix part of #9749: Migrates Score-Ring, Concept-Card, Completion-Graph to Angular (#13837)
* Fix part of #9749: Migrate tutor card directive (#12892)
* Fix part of #9749: Migrate Progress nav directive (#12864)
Contributor Pages
* Fix #14234 Unable to accept/reject a suggestions during reviews. (#14283)
* Add Azerbaijani language to contributor dashboard. (#14273)
* Fix #14265: Make translation language selector to show selected language correctly (#14268)
* Fix translation stats job to work with sets (#14254)
* Fix #14189: Make translations editable for reviewers (#14194)
* Fix part of #14072, 14027: Surface submit translation suggestion errors and admin dashboard cleanup (#14151)
* Fix #13440: Make it clearer what language is being translated (#14104)
* Fix #14004 Handle frontend display of skill opportunities correctly (#14097)
* Fix part of #12013: Update exploration changed UI to make old content less ambiguous (#14047)
* Fix #13833: Disables 'Translate' button when all translations are in review (#13972)
* Fix #12181: [Contributor Dashboard] Allow filtering of translation opportunities by topic (#13539)
Bug fixes
* Fix lang param not working due to mulitple lang cookies. (#14266)
* Fix tasks on production (#14176)
* Fix multiple production issues (#14164)
* Address comments from PR 14101 (#14142)
Data handling
* Add voiceover admin role to admin user (#14252)
* Update note for pre-deletion page. (#14181)
* Fix part of #13162: Add argument schema for ReleaseCoordinatorPage, JobsHandler, JobOutputHandler, MemoryCacheHandler classes. (#14175)
* Fix part of #10474: Made typescript checks strict for display-solutio… (#14051)
* Fix part of #13162: Add schema for PretestHandler, StorePlaythroughHandler, and StatsEventsHandler. (#14046)
* Fix #12297: Use Firebase Session Cookie for PlatformFeatureService.sa… (#14002)
* Fix part of #13162: Add schema for handlers in story_editor and story_viewer (#13914)
* Fix part of #13162: Add argument schema for LearnerIncompleteActivityHandler, RatingHandler and FlagExplorationHandler classes (#14131)
* Add schema for subscribe, unsubscribe handlers. (#13995)
Python Migration
* Introduce Cloud Logging (#14185)
* Refactor future imports and MyPy typing (#14132)
* Update setup.py version on new release (#14062)
* Fix part of #13956 : Handle ExitStack without python_utils (#14037)
* Fix small Python 3 migration issues (#14005)
* Fix part of #13956: python_utils.with_metaclass (#13998)
* Fix #13956: Migrate python_utils.redirect_stdout to Python 3 function (#13997)
* Fix #13956: Remove the use of python_utils.OBJECT (#13996)
* Fix part of #13956: Remove python_utils.nullcontext (#13993)
* Fix part of #13956 and fix #11547: Remove python_utils.reraise_exception (#13992)
* Give jobs a standard module and naming convention (#13989)
* Fix part of #13956: Remove python_utils.url_split (#13987)
* Fix part of #13956: Remove python_utils.RANGE variable (#13983)
* Fix part of #13956: python utils.url_encode-->urllib.parse.urlencode (#13978)
* Fix part of #13956: Removed the ROUND variable and its references (#13976)
* Fix part of #13956: Replace python_utils.MAP, python_utils.NEXT with map, next (#13969)
* Fix part of #13956: python_utils.url_quote->urllib.parse.quote (#13964)
* Fix part of #13935: Handle input without python_utils (#13955)
* Remove enforcing python_utils function usage from pylint (#13954)
* Fix part of #13935: Handle str and bytes without python_utils (#13882)
Miscellaneous
* Fix #14116: Fix typo in core/controllers/admin.py (#14117)
* Fix part of #8668: Document suggestion-modal.service.ts file (#14125)