forked from oppia/oppia
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
8451 lines (7517 loc) · 475 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.0 (28 Oct 2021)
------------------------
Learner/Creator Pages
* Add language parameter to URL (#14023)
* Fix #11932: Sort translation opportunities by topic (#13916)
* Link concept card when user is not signed in (#13898)
* Fix timeout issue in learner dashboard (#13857)
* Fix part of #13327: Improvements in the blog dashboard interface (#13817)
* Fix part of #13764: Skill misconceptions must have unique names (#13816)
* Fix part of #13764: Thumbnail filename validation check (#13807)
* Fix part of #13449: Image Caption and Skill Review Text Validation Checks (#13785)
* Fix part of #13764: Exploration title should have max length of 36 (#13777)
* Fix #13691: Added default init value for position of terms (#13706)
* Add event listener to avoid navigation when offline and disable tabs which are not workable offline (#13698)
* Move all the new components to the learner dashboard folder (#13690)
* Add pages to lighthouse and adds e2e tests for blog dashboard (#13683)
* Fix part of #13603: Interaction validation for EndExploration (#13604)
* Fix part of #13449: RTE validation for Image alt tag (#13593)
* Fix #13531 and #13586: Add translation keys for more user facing texts (#13591)
* Add a form to update blog author and publishing date (#13590)
* Allow marking translations as stale in the editor (#13584)
* Complete the blog dashboard frontend (#13575)
* Enable editor tab to work offline and save changes when there is reliable network source (#13544)
* Add blog post editor (#13522)
* Redesign and update the Learner Dashboard Page E2e tests (#13518)
* Redesign and update the Learner Dashboard Page (#13515, #13513)
* Add Customization_Arg to Numeric Input (#12992)
* Remove logicProof Interaction (#13336)
* Add SameSite=None and Secure to cookie options to support iframe (#13623)
Bug fixes
* Fix #14019: Save topic draft without commit message (#14096)
* Adds missing styles to story viewer page (#13904)
* Secure manual URL redirection in the frontend (#13892)
* Fix #13850: Lazy loaded pages are scrollable now on mobile device (#13851)
* Fix failing lint check introduced by #13681 (#13759)
* Fix RTL for bullet points in editor; Fix CD emails bug (#13727)
Contributor Pages
* Fix #12888: Improve status of translation progress bar (#13835)
* Fix #12013: Show latest exploration content in translation review modal (#13946)
* Use supported languages list when computing incomplete translation languages on opportunity update (#13902)
* Fix #13657: Fetch additional skill opportunities to fulfill page size as necessary (#13783)
* Fix #11735: Allow reviewers to edit question suggestions (#13742)
* Fix #12959: Enable translations of rules in the contributor dashboard (#13580)
* Fix part of #13475: Only create exploration opportunities for published stories (#13529)
* Send CD emails to admins based on suggestion type; Empty translations should show in CD (#13615)
Data handling
* Include deletion of TranslationContributionStatsModel in Wipeout (#14006)
* Fix part of #13162: Add argument schema for ProfilePictureHandler and ProfilePictureHandlerByUsernameHandler (#13772)
* Fix part of #13162: Adds schema for the DeleteAccountHandler (#13767)
* Add schema for platform_feature and practice_sessions modules (#13481)
* Add schema for improvements, features and review_tests modules (#13456)
* Add schema for email_dashboard and feedback modules (#13450)
* Add schema for editor and library modules (#13422)
* Fix android #3016: Create domain object, domain services, cron scrubber, and controller for receiving feedback reports (#12367)
Release team
* Fix build and release scripts (#14000)
* Change link to the release rota wiki (#13870)
* Fix #13717: Refactor site analytics service and introduce a mock gtag function when app can't send analytics. (#13718)
Python Migration
* Fix #11465: Migrates the codebase from Python 2 to Python 3 (#13395)
* Fix part of #13956: Remove is_string and get_args_of_function from python_utils.py (#13973)
* Fix part of #13956: Remove python_utils.url_join (#13971)
* Add opportunity summary job (#13948)
* Schedule Apache Beam jobs with CRON (#13947)
* Introduce pip package beam (#13938)
* Complete the API of Apache Beam jobs (#13913)
* Improve performance of Beam Jobs tab (#13874)
* Add refresh interval for beam jobs tab (#13855)
* Use Dataflow Library to query status of Dataflow Jobs (#13845)
* Add prod-behavior for running Apache Beam jobs (#13812)
* Implement job generating translation contribution stats (#13811)
* Fix organization of Beam Jobs (#13771)
* Implement job generating exploration recommendations (#13754)
* Implement job collecting weekly dashboard stats (#13749)
* Implement job indexing explorations in search (#13740)
* Fix part of #11475: Implement Apache Beam jobs tab for DEV mode (#13662)
* Implement Python 3 related changes release cut and hotfix (#13669)
Developer UX
* Only report frontend test status on failure (#13943)
* Remove terser from build (#13899)
* Upgrade libraries (#13867)
* Send notification to chat-room for frontend test failure on develop (#13866)
* Fix part of #11496: Introduce lint check for no use of forEach (#13844)
* Add .python-version dynamically created file to .gitignore (#13770)
* Add libbz2-dev to install_prerequisites.sh (#13750)
* Fix gunicorn workers not properly exiting (#13746)
* Update tsconfig-strict to cover more directories (#13707)
* Upgrade frontend and backend libs (#13682)
* Fix #13664: Remove sudo from pip install (#13661)
* Increase max-old-space-size for karma process to 4096 MB (#13616)
* Fix the lint issue: 'use {} instead of dict()' (#13720)
* Fix #13150: Upgraded guppy to the latest version (#13962)
* Replace SVG parsing library with a more robust one (#13791)
Automated QA Team
* Fix #13889: Gracefully handle missing backend library in pre-push (#13963)
* Fix flaky test checking window narrowness (#13951)
* Fix #10798: Fix e2e tests for ExplorationEditorPage.js (#13937)
* Fix #10798: Fix e2e tests for StoryEditorPage.js (#13931)
* Fix part of #10798: Use action.js and waitFor.js in TopicEditor.js (#13887)
* Fix part of #10798: Fix e2e tests for ExplorationEditorTranslationTab.js (#13856)
* Fix #13741: Do not merge from develop in backend CI workflow (#13854)
* Fix undefined message mismatch and failure to set URL (#13842)
* Output backend test and installation messages as unicode instead of bytes (#13836)
* Resolve "Expected False to equal to True" flake in topicAndStoryEditor.js (#13804)
* Decode result from run_cmd with UTF-8 (#13792)
* Check memory usage of e2e runs (#13781)
* Resolve "Expected 0 to equal 1" flake in creatorDashboard.js (#13780)
* Resolve "'Type a number' to equal 'Ingresa un n��mero'" flake in users suite (#13765)
* Fix site-analytics-service frontend flake (#13731)
* Add remaining tests to fix flake for top-navigation-bar.component.ts (#13685)
* Fix part of #13467: Fix the conversation-skin.directive frontend test flake (#13675)
* Explain why an e2e suite does not get rerun (#13665)
* Add e2e to check the feature that enable offline exploration editing (#13597)
* Add unit tests and converted AJS directives to AJS components (#13587)
* Fix part of #4057: Fully cover player-correctness-feedback-enabled.service.ts (#13519)
Miscellaneous
* Fix #13864: Remove empty cards from settings tab (#13945)
* Fix #13153: Use different color for CTA 'go' (#13941)
* Fix #13723: Do not redirect partially-logged-in users from /logout (#13729)
* Fix #13724: Hide username validation error once username is valid (#13728)
* Add about foundation page (#13643)
* Add volunteer page (#13488)
Angular Migration
* Fix part of #9749: Migrate rating display directive (#13907)
* Fix part of #9749: Migrate state-diff-modal.controller into angular component (#13805)
* Fix #13656: Make Topic Landing Pages accessible (#13671)
* Fix #13619: Remove Google Analytics require from mock-ajs.ts and introduce a common import file (#13640)
* Migrate signup page to angular router (#13582)
* Fix part of #9749: Migrate subtopic viewer page (#13538)
* Fix part of #9749: Migrate email dashboard pages to angular (#13537)
* Migrate more pages to angular router (#13533)
* Fix part of #9749: Migrate collection editor page (#13514)
* Fix part of #9749: Migrate supplemental card directive (#12918)
* Fix part of #9749: Migrate learner view info directive (#12863)
* Fix part of #9749: Migrate topics and skills dashboard page (#12563)
Typing
* Add type annotations for platform.auth and platform.search (#13629)
* Add type annotations (#13589, #13565, #13524)
* Introduce generics for ndb.Query (#13865)
* Remove casts to `Key` by modyfing stubs (#13756)
* Add proto generated TS to tsconfig strict (#13748)
* Fix mypy in platform folder (#13695)
* Fix part of #8423: Change Python 2 styled type annotations to Python 3 style (#13681)
* Fix part of #13637: Remove interstitial Skills, SkillRights and ConceptCard (#13638)
* Update set/getPageTitle to set/getDocumentTitle in PageTitleService (#13684)
* Fix part of #10474: Cover some files with TS strict checks (#13598, #13578, #13555, #13520)
* Fix part of #10474: Enable strict typescript checks for some files (#13585, #13532, #13459, #13633)
Translations
* Routine update of translations (#13692)
* Allow marking individual translations as stale (#13776)
* Fix #13568: Numeric captions in images are ignored for translation validation (#13577)
v3.1.4 (01 Sep 2021)
------------------------
Contributor Pages
* Fix #12276: Hide action button for submitted suggestions when their corresponding opportunities are deleted (#13738)
Translations
* Routine update of translations. (#13517)
Developer UX
* Fix part of #10474: Enables strict typescript checks for some files - (2.5) (#13532)
* Update PULL_REQUEST_TEMPLATE.md (#13530)
* Update oppiabot to v1.4.0 (#13512)
* Fix part of #10474: Enables strict typescript checks for some files - (2.3) (#13473)
* Fix part of #10474: Made strict typescript checks for image-upload-helper (#13466)
* Fix part of #10474: Cover ExplorationImprovementsModel with strict TypeScript checks (#13457)
* Fix part of #8423: Implement lint check for keeping element selectors at the tops of files. (#13441)
* Fix Part of #10474: Cover some files with TS strict checks - 11 (#13426)
* Migrate "disallow bypassSecurity" regex check to eslint (#13424)
* Fix part of #10474: Enables strict typescript checks for some files - (2.2) (#13394)
* Fixes part of #10474: add some files in ts-strict (#13369)
* Fix Part of #10474: Cover some files with TS strict checks - 10 (#13368)
* Fix part of #10474: Enables strict typescript checks for some files - (2.1) (#13354)
* Fix #13071: Removes logging unwanted errors in frontend test (#13253)
* Fix #13326: Removes the unwanted bypass import-only-modules flag (#13495)
* Updates codeowners for jobs/transforms and jobs/types folder (#13482)
* Adds schema in custom_landing_pages and pages modules. (#13478)
* Updating codeowner (#13464)
* Add frontend-test-reviewers team to codeowners file (#13458)
* M2.1: Add type annotations (#13413)
* Added unit tests for the following files (#13409)
* Allow users to have multiple roles and removes banned role (#12989)
Data handling
* fixes part of #12792 implement the _get_change_domain_class for topic, subtopic validation (#13384)
* Adds schema for handler classes creator_dashboard, learner_dashboard, learner_playlist modules (#13355)
* fixes part of #12792 implement the _get_change_domain_class for skill, story validation (#13307)
Miscellaneous
* Fix #13723: Do not redirect partially-logged-in users from /logout (#13729)
* Fix #13447: Removes roles related flags from the response (#13511)
* Revert "Fix part of #9749: Migrate library page." (#13497)
Bug fixes
* Fix interpolation of html tags on get started page. (#13433)
* Fix coverage flake introduced in #13219 (#13419)
Learner/Creator Pages
* Milestone 2.3: Adds Blog Card And Parts of Blog Dashboard Page (#13472)
* Consolidate Image RTE components (#13485)
* Initialise Carousel after library page data has loaded (#13751)
* Fix part of #13449: RTE validation for checking if the url for a link begins with https:// (#13536)
* Components and modals on the exploration editor page will be preloaded. [Milestone2.1] (#13407)
* Redesigning and Updating the Learner Dashboard Page Milestone-2.2 (#13402)
* Only include images from the current exp version for download (#13527)
* Fix refresh of page when hitting enter on a TextInput interaction (#13634)
* Send CD emails to admins based on suggestion type; Empty translations should show in CD (#13615)
* Update tsconfig-strict to cover directories (#13551)
* Fix #13509: Bug fixes related to item select (#13526)
* Fix #13655 and #13639 (#13715)
* Fix #13653, #13630, #13666, #13651 (#13713)
* Fix #13691: Added default init value for position of terms. (#13706)
* Fix #13545, #13546, #13547: Fixes editor facing bugs (#13583)
* Fix #13168: dnd rule editor issues (#13558)
* Fix #13220: Math interaction regex fix for Safari (#13553)
* Fixed failing skill-mastery test (#13510)
* Added subtopic mastery handler (#13468)
* Milestone 2.2: Adds Backend Api services for blog dashboard. (#13439)
* Add SameSite=None and Secure to cookie options to support iframe (#13623)
* Add Google Analytics require to mock-ajs (#13620)
* Logic proof job (#13618)
Angular Migration
* Fix #13656: Make Topic Landing Pages accessible. (#13671)
* Migrate Library page (#13498)
* Migrate 14 static pages to angular router. (#13483)
* Fix part of #9749: Migrate Stewards landing page (#13415)
* Fix part of #9749: Migrate Signup page (#13414)
* Fix part of #9749: Migrate library page. (#13412)
* Remove angularjs from 9 more pages (#13367)
* Introduce angular router (#13305)
Automated QA Team
* Fix #13757: Fix rubric alignment when submitting questions (#13758)
* Frontend Unit Tests(8): Add frontend tests for multiple files (#13535)
* Tighten rerun policies based on e2e metrics (#13505)
* Frontend Unit Tests(7): Add frontend tests for multiple files (#13503)
* Frontend tests for topic-editor-navbar.component (#13501)
* Fixing the Embedding flake (#13493)
* Resolving "Creating topic takes too long" in topicAndStoryEditor.js (#13492)
* Added units tests for outcome-destination-editor & state-hints-editor (#13479)
* Frontend Unit Tests(6): Cover multiple component files (#13476)
* Fix #13421: Run backend tests in core/tests (#13470)
* Resolving "https://pencilcode.net/lib/pencilcodeembed.js - Failed to load resource: net::ERR_CERT_DATE_INVALID" error (#13455)
* Fixing a Flake in Topic and Story Editor File Upload Features (#13446)
* Fixed the E2E flake introduced in #13325 (#13445)
* Added tests for question-editor & outcome-editor (#13442)
* Fix #12993: Restore @U8NWXD as codeowner (#13428)
* Frontend Unit Tests(5): Cover multiple component files (#13423)
* Added unit tests for version-diff-visualization & rule-editor (#13418)
* Add unit test for top-navigation-bar and fix flake (#13286)
* Fix part of #13467 Fixes frontend test flake in noninteractiveimage.component (#13525)
* Fix #13249: Fix mypy pre-push checks (#13490)
* Added unit tests for conversation skin directive (#13432)
v3.1.3 (07 Aug 2021)
------------------------
Contributor Pages
* Fix #13148: Handle unicode translation suggestions correctly (#13387)
* Fix language selection dropdown change detection issue (#13316)
* Fix #12184: Add domain layer and frontend changes for surfacing translation contribution stats (#13285)
* Fix #11881: Consolidate add/remove contribution rights controller handlers (#13279)
* Fix part of #12184: Create translation contribution stats storage model and corresponding population one off job (#13201)
* CP fixes for June release (#13198)
* Fix #13055: Don't make numeric content eligible for translation in contributor dashboard (#13056)
* Fix #12221: Only show skill/question opportunities for topics that are part of a classroom (#12982)
* Fix #12960: Add Spanish and Portuguese translation tips to contributor dashboard (#12975)
* Adds contributor dashboard admin roles and relevant page for the user with this new role (#12916)
Angular Migration
* Fix part of #9749: Migrates Subtopic Summary Tile to Angular (#13386)
* Fix part of #9749: Migrate Preferences page (#13219)
* Fix part of #9749: Migrate classroom page. (#13127)
* Fix part of #9749: Migrate Admin page. (#13125)
* Fix part of #9749 Migrated Services and Modals for Exploration Editor Page (#13107)
* Remove angularjs from 11 pages. (#13098)
* Fix #12855: Remove unused angularjs libraries: angularjs headroom, toastr and ngAudio (#13082)
* Remove angularjs from about page. (#13073)
* Fix part of #10700: Refactor Object Factories for StateCard (#13028)
* Fix part of #10700: Refactor Object Factories for Fraction (#13024)
* Fix part of #9749, #8473: Migrate part of topic editor page. (#12878)
* Migrate Interactions: Numeric Expressions Input (#12753)
* Fix Part of #9749: Migrates Thumbnail-Uploader to Angular (#12667)
Miscellaneous
* Fix #12736: Restore codeowners (#13283)
* Update CODEOWNERS for going away (#13121)
* Added Mailchimp API integration for mailing lists (#12373)
* Add back ngx-mat-select-scroll to package.json (#13364)
Data handling
* Fix wipeout on test and backup server (#13383)
* hide logic Proof in front end (#13372)
* Adds schema for collection_editor (#13343)
* Fix part of #12792 implement the _get_change_domain_class for config, question validation (#13273)
* Fix part of #12792 implement the _get_change_domain_class for collection validation (#13247)
* Adds schema for handlers concept_card_viewer & contributor_dashboard modules (#13225)
* Adds schema for handlers in moderator, collection_viewer & cron modules (#13224)
* Adds schema for handlers admin, classifier, & classroom modules (#13223)
* Schema-Validation-System(SVS) architecture (#13065)
* Fix part of #12568, #11475 implement the _get_change_domain_class for exploration validation (#12999)
* Allowing deprecated commands in validation (#12990)
* Normalizing with given default_value for arguments by SVS architecture. (#13370)
* Fixes Typescript issue in oppia-short-response-mulitple-choice-input.component and mypy issue in schema_utils.py (#13335)
* Update schema validation service architecture for handling cases of different args in same request method (#13277)
* FIx part of #12688 add relationshipsof for user model (#13063)
* Fix #13054: Adding support for running backend type checks (#13060)
* Fix failing stict_typescript_checks on develop (#13191)
* Adds logic to handle request method (#13274)
* Fix #13239 and #13171: Adding type annotations to root files and fix constants errors with mypy (#13269)
* Adds new handler class name in HANDLER_CLASS_NAMES_WHICH_STILL_NEED_SCHEMAS (#13264)
Developer UX
* Migrate "disallow HttpClient" regex check to eslint (#13405)
* Remove unused templateUrl lint check (#13404)
* Migrate "disallow relative import in require" regex check to eslint (#13375)
* Added unit-tests and strict type checking for state-property.service (#13366)
* Fix #12718: Use init-hook to fix command line calls to pylint (#13339)
* Fix #13119: Add Vojta back as a codeowner (#13333)
* Migrate "only allow imports relevant part of lodash" regex check to eslint (#13317)
* Fix Part of #10474: Cover some files with TS strict checks - 9 (#13304)
* Migrate lint check to prohibit the use of inject call (#13302)
* Migrate lint check to disallow innerHTML property. (#13301)
* Fix Part of #10474: Cover some files with TS strict checks - 8 (#13293)
* Disallow $parent and $broadcast angularJs property (#13291)
* Migrate disallow-flags regex checks to Eslint (#13275)
* Fix Part of #10474: Cover some files with TS strict checks - 7 (#13270)
* Fix Part of #10474: Cover some files with TS strict checks - 6 (#13263)
* Migrate throw-related regex checks to Eslint (#13252)
* Fix part of #10474: Enables strict typescript checks for some files - (9) (#13246)
* Fix part of #8423: Disallowed invalid await (#13227)
* Disallowed unwanted browser methods in protractor files (#13205)
* Fix Part of #10474: Enables strict typescript checks for some files - (8) (#13204)
* Fix part of #10474: add learner-exploration-summary and spec in tsconfig-strict.json (#13183)
* Fix part of #10474: Enables strict typescript checks for some files - (7) (#13178)
* Fix #13172: Controller to initialize android specific structures (Milestone 1.2) (#13174)
* Fix Part of #10474: Enables strict typescript checks for some files - (6) (#13135)
* Fix Part of #10474: Enables strict typescript checks for some files- (5) (#13111)
* Fixes part of #8423: lint check to ensure root element selectors use HTML classes that start with "protractor-test-" (#13105)
* Fix part of #8423: Implement lint check for constant variable names are in all-caps (#13086)
* Fix Part Of #10474: Make TypeScript checks strict for some files - (4) (#13078)
* Fix part of #10474: Enables strict typescript checks for some files - (3) (#13052)
* Fix Part of #10474: Make Typescript checks strict for some files - (2) (#13044)
* Fix part of #10474: Cover some files with TS strict checks - 3 (#13043)
* Update authors and changelog for v3.1.2 (#13363)
* Add CLA Check using Github Action (#13141)
Release team
* Adds prompt for mailchimp api key in the release process (#13332)
Bug fixes
* Fix frontend coverage flake introduced in #13127 (#13323)
* Fix #13142: Fix author profiles dropdown (#13238)
* Remove strict image filepath validation in the translation flow; minor bug fixes; (#13396)
* Fix #13451: import -> require toastr.css (#13588)
Python Migration
* Fix Firebase auth (#13345)
* Fix part of #11475: Delete all references to continuous jobs (#13313)
* Fix part of #11475: Delete UserStatsAggregator job (#13271)
* Fix part of #11475: Delete the FeedbackAnalyticsAggregator continuous job (#13237)
* Fix part of #11475 Migrate wipeout oneoff to task service (#13231)
* Fix part of #11475: Add batch_jobs directory (#13228)
* Fix part of #12688 add id relationshipsof for models: collection, exploration, feedback, question, topic (#13226)
* Fix part of #11475: Add helper methods for creating stdout/stderr values (#13188)
* Removes notification page (#13180)
* Fix part of #11475: Add PutResults() PTransform for jobs (#13100)
* Fix part of #11475: Add Apache Beam jobs tab to Release Coordinator page (#13070)
* Fix part of #11475: Delete all non-essential one off jobs (#13021)
Learner/Creator Pages
* Fix #13463 and #13460: Linking more questions in question editor and mailchimp api key error (#13571)
* Fix #13448: Show placeholder text in Numeric Input interaction (#13560)
* Fix #13168: dnd rule editor issues (#13558)
* Fix Multiple Choice Interaction shuffle (#13502)
* Milestone 2.1 : Adding format heading drop-down to RTE. (#13400)
* Fixed errors in goals tab (#13392)
* Adding message when skill is deleted in skill Review RTE (#13377)
* Changes in the functions added in #13116 (#13342)
* Milestone 1.5 : Adds blog admin page frontend. (#13300)
* Milestone1.4 :Adding Blog HomePage Controllers. (#13278)
* Fix #13156: Introduce new attribute thumbnail_size_in_bytes for Subtopics (#13242)
* Multiple users can make the changes to the exploration simultaneously when their changes are not conflicting. Milestone1.2 (#13233)
* Adding Blog Models Validations: Part of Milestone 1.2 (#13232)
* UI changes to library and story viewer page (#13216)
* Milestone 1.3: Adds Blog Dashboard Controllers, Blog Admin page Controllers and blog-admin-backend-api service. (#13207)
* Preloads skill images; Adds a job to copy question images to the correct storage path; Make 'coming soon' topic tiles not clickable (#13184)
* Fix #13049: Introduce new attribute thumbnail_size_in_bytes for Topic models (#13175)
* Partnerships page (#13120)
* Milestone 1.2 : Adds Blog Domain, Services and Validators. (#13118)
* Adding function to check for mergeability and also to get composite change list between two versions. Milestone 1.1 (#13116)
* Fix #13067, #13068, #12951 and #12857 - Moved language selector to navbar, fixed URLs and translations (#13074)
* Adding new License page and removing Credits link from footer (#12985)
* Adds new voiceover admin role and allows voiceover admin to assign voice artist to explorations (#12687)
* Refactor implementation of cookie module. (#13403)
* Refractors UrlInterpolationService to not return null at interpolateUrl (#13371)
* Fixing a flake in learnerDashboard.js (#13381)
* Fix #13406: Clear currently played audio track when the card changes (#13430)
* Fix #13251: Temporarily remove StateTopAnswersStatsService initialization and registering of relevant callbacks (#13353)
* Fix #13158: Storing the thumbnail size (in bytes) for StoryNode (#13312)
* Fix #13170: Create Exploration for android specific interactions (Milestone 1.1) (#13029)
* Fix #13295 - warning text is within the box (#13296)
* pixels are perfectly fine when we upload the picture (#13255)
* Redesigning and Updating the Learner Dashboard Page Milestone-1.5 (#13241)
* Redesigning and Updating the Learner Dashboard Page Milestone-1.4 (#13222)
* Introduce Cookie banner (#13250)
* Redesigning and Updating the Learner Dashboard Page Milestone-1.3 (#13181)
* Fix #13157: Storing the thumbnail size (in bytes) for Story (#13159)
* Fix #13025: Show the topic/story in-editor nav option only after StoryEditorStateService has been initialised (#13087)
* Adds unit tests for exploration engine service (#13084)
* Redesigning and Updating the Learner Dashboard page Milestone-1.2 (#13081)
Automated QA Team
* Improving e2e workflow files for release and translatewiki branches to function properly (#13382)
* Adds unit tests for the following files (#13340)
* Adds unit tests for state-editor and answer-group-editor (#13334)
* Add unit tests for question-player component (#13322)
* Frontend Unit Tests(4): Cover multiple component files (#13319)
* Frontend Unit Tests(3): Cover multiple component files (#13303)
* Unit test for questions-list.component.ts (#13287)
* Adds unit tests for the following files (#13284)
* Frontend tests for image-with-regions-editor.component (#13258)
* Adds unit tests for admin page (#13230)
* Frontend unit tests for state-responses, rating-display and question-difficulty-selector component/directive (#13217)
* Frontend Unit Tests: Cover multiple component files (#13213)
* Adds unit tests for admin roles tab (#13206)
* Adds unit tests for the following multiple files. (#13192)
* Adds unit tests for audio bar component (#13177)
* Unit test for exploration creation service (#13176)
* Fix #13160: frontend test coverage failure (#13163)
* Unit tests for hint and solution button component (#13154)
* Unit test for thumbnail uploader component (#13138)
* Adds unit tests for stats reporting service (#13132)
* Fixing flakes in ExplorationHistoryTab and ExplorationsTranslationsTab (#13117)
* Adds unit tests for list of small services (#13112)
* Add unit test story summary tile (#13110)
* Add unit test image uploader skill selector (#13102)
* Unit tests for sharing-links.component.ts and state-editor.service.ts (#13069)
* Frontend Unit Tests: Cover small component files (#13017)
* Adds frontend tests for unicode string editor component (#12996)
* Separate MockTranslatePipe from Unit-test.utils.ts (#13149)
* Frontend Unit Tests: Cover multiple component files (#13137)
* Fix typescript check failure (#13321)
* Introduce E2E tests to test allowing multiple collaborators to work on the exploration. (#13325)
* Changing E2E Rerun Policies (#13318)
* Frontend tests for graph-viz.component (#13298)
* Adds frontend tests for filepath-editor.component (#13297)
* Fixing a flake in contributorDashboard.js (#13259)
* Fixes: #13281 Resolves flake in admin page (#13282)
* Resolving one of the Lighthouse Flakes (#13280)
* Resolving e2e flake "Expected false to equal to true" in `topicAndStoryEditor` (#13218)
* Fixing a flake in the learner suite (#13214)
* Fix top-navigation-bar coverage flake (#13212)
* Fix for flake in oppia-interactive-image-click-input.component (#13267)
* Fix pre-push mypy checks (#13310)
* Fix #13088: Add pre-push checks for MyPy (#13114)
* Fixes failing typescript checks and FE tests on develop (#13266)
* Fixing the 401 Error in the Moderator Page (users e2e suite) (#13124)
* Resolving "Toast message takes too long to appear" e2e flake (#13123)
v3.1.2 (10 Jul 2021)
------------------------
Contributor Pages
* Fix #13173: Modify translation submission validation to check for custom tags (#13309)
* Fix part of #12184: Create translation contribution stats storage model and corresponding population one off job (#13201)
* CP fixes for June release (#13198)
Angular Migration
* Fix N/A: Optimize Story-Summary-Tile change detection cycles (#13064)
* Fix #7359: Use transclusion components in exploration editor page (#13040)
* Fix part of #9749: Migrate Oppia footer directive. (#13003)
* Fix part #9749: Migrate svg filename editor (#12977)
* Fix part of #9749: Migrate Profile page. (#12926)
* Fix part of #9749: Migrate I18nFooter Directive (#12925)
* Migrate ckeditor directives to Angular. (#12881)
* Fix part of #9749: Migrate Preview thumbnail. (#12870)
* Fix part of #9749: Migrate input response pair. (#12853)
* Introduce ngx-translate as a replacement for translate pipe (#12790)
* Fix part of #9749 Migrated Services and Modals for Exploration Editor Page (#12781)
* Fix part of #9749: Migrate remaining object editors in extensions. (#12775)
* Fix part of #9749: Migrate audio bar directive (#12766)
* Fix part of #9749, #8472: Migrate Display hint modal service and dependencies. (#12756)
* Fix Part Of #9749: Migrates Navbar Of Story-Editor-Page to Angular (#12741)
* Fix Part of #9749: Migrate story-summary-tile to Angular (#12728)
* Fix part of #9749: Migrate Exploration Footer and dependencies (#12703)
* Fix part of #8472: Topic editor state service migrated. (#12664)
* Fix part of #9749: Migrates Top-Navigation-Bar to Angular (#12584)
* Fix of #9749: Migrate non-negative-int, numeric-expression, position-of-terms, positive-int, ratio-expression, real, sanitized-url, set-of-algebraic-identifier, set-of-translatable-html-content-ids, subtitled-html editors (#12554)
* Fix part of #9749: Migrate base-content (#12371)
* Fix part of #9749: Migrate all oppia-non-interactive-* (#12294)
Translations
* Routine update of translations (#13089)
* Routine update of translations. (#13012)
Miscellaneous
* Remove classroom page accessible flag config property (#12988)
* Adds correct structure for topic landing page (#12972)
Release team
* Increase memory for webpack (#13000)
* Adds new release coordinator role and a separate page for release coordinator's work (#12884)
Developer UX
* Fix Part of #10474: Cover some files with TS strict checks - 5 (#13057)
* Fix Part of #10474: Cover some files with TS strict checks - 2 (#13050)
* Fix Part of #10474: Cover some files with TS strict checks - 4 (#13047)
* Routine upgrade of frontend libraries (#13030)
* Fix part of #10816: Migrate all comment related JS/TS lint checks to custom eslint checks (#13022)
* Fix part of #10816: Migrate check constants declaration (#13011)
* Fixes part of #10816: Migrate lint check for match line breaks in controller dependencies (#12994)
* Fix part of #10816: migrate sorted dependencies lint check to eslint (#12983)
* Fix part of #10816: migrate check directive scope lint check to eslint (#12979)
* Fix part of #10816: Disallow multiple component in a file (#12974)
* Fix Part Of #10474: Make TypeScript checks strict for some files (#12965)
* Remove and disallow usage of `import _ from lodash` (#12963)
* Fix Part of #10474: Cover more files with TS strict checks (#12962)
* Fix part of #8668: Document exploration-category & exploration-title service files with jsdoc (#12948)
* Export JSON from Karma coverage reports (#12923)
* Fix part of #10474: Cover GraphUtilsService with strict checks (#12716)
Data handling
* Fix part of #12792, #11475 implement the _get_change_domain_class for other models: platform-parameter (#12958)
* Refactoring of filter_skills_by_mastery (#12924)
* Fix part of #11572: Using exception instead of error in controllers (#12611)
Bug fixes
* Fix #13142: Fix author profiles dropdown (#13238)
* Fix for 'Failed to load resource: net::ERR_UNKNOWN_URL_SCHEME' console error flake. (#13032)
* Fix for console errors on admin roles tab (#13018)
* Fix the wrong usage of pluralization syntax in `learner-dashboard-page.component.html` file (#12856)
Python Migration
* Fix part of #11475: Migrates _validate_composite_entity_id (#13085)
* Fix part of #11475: Prepare API of JobRunResults for writing to storage (#13027)
* Fix part of #11475: Migrates _validate_archived_models_marked_deleted (#13019)
* Fix part of #11475: Add Apache Beam domain and services (#12954)
* Fix part of #11475: Move datastoreio stub into JobBase (#12947)
* Fix part of #11475: Add JobRunResult type for Beam Jobs (#12940)
* Fix part of #11475: Add gae_models for Apache Beam jobs (#12939)
* Fix part of #11475: Add RelationshipsOf unit tests and stabalize ModelProperty implementation (#12890)
* Fix part of #11475: Add query support to the datastoreio stub (#12880)
* Fix part of #11475: Use SimpleXMLRPCServer to implement the datastoreio stub (#12851)
Learner/Creator Pages
* UI changes to library and story viewer page (#13216)
* Preloads skill images; Adds a job to copy question images to the correct storage path; Make 'coming soon' topic tiles not clickable (#13184)
* Fix #13067, #13068, #12951 and #12857 - Moved language selector to navbar, fixed URLs and translations (#13074)
* Fix Browser Library button on the teach page (#13033)
* Fix #8983: Use base64 instead of blob for caching images and use the SVG sanitizer for base64 SVG urls (#13013)
* Redesigning and Updating the Learner Dashboard page Milestone-1.1 (#13006)
* Milestone 1.1: Add Storage Models for Blog Posts (#12933)
* Fix #12630: Force pasting plain text in RTE editor (#12861)
* Editor frontend changes for card is checkpoint field (#12817)
* Fix math expression RTE copy (#12806)
* Adding limit to text message in feedback thread (#12746)
* Fix part of #6271: Update subparts of interaction answer group. (#12636)
* New About page (#11420)
Automated QA Team
* Added unit tests for exploration player state service (#13062)
* Added unit tests for story editor navbar component (#13039)
* Temporarily Transfer Code Ownership from @U8NWXD to @krishnarao22 (#12986)
* Stop Printing Frontend Test Success Messages (#12955)
* Add emaildashboard E2E Test Rerun policy and Ensure Tests Fail on Missing Policies (#12953)
* Graph layout service test (#12946)
* Create activity button component frontend unit tests (#12936)
* Resolving E2E Flake: StateContentEditor Taking Too Long to Appear to Set Content (#12919)
* Add @krishnarao22 to Automated QA CODEOWNER files (#12915)
* Introduces a check for whether a PR is low risk in `e2e Admin Page Test` and `e2e Publication Test` (#12906)
* Add waitFor in forms.js to Fix Extensions Suite E2E Flake (#12904)
* Resolving e2e flake "no element found using locator: by(css selector, option:checked)" (#12842)
* Implement Suite-Specific E2E Test Rerun Policy (#12839)
* Merge from Base Branch Before E2E Runs on GitHub Actions (#12829)
* Fix part of #10798: Fix explorationEditorMainTab with action.js and waitfor.js (#12700)
Miscellaneos fixes
* Add Marathi (मराठी) and Ganda (Luganda) to supported languages (#13315)
* Fixes regression in copy tool: Fix filepath editor validity (#13115)
* Reducing flakiness in the Topic and Story Editor E2E Suite (#13092)
* Call dispatchEvent on windowRef provided to the tested component instead of 'window' (#13072)
* Update naming for lighthouse checks, add logging for exported URLs, fix some flakiness with lighthouse accessibility test and extensions e2e test. (#13066)
* Mock runOutsideAngular so that callback can be tested (#13058)
* Optimize exploration tile change detection and fix filepath uploader form validity (#13038)
* Update codeowners file (#13037)
* Fix #12911: Updates not allowed suggestion exception message and fixes possible flake causes (#13020)
* Controlling the Video Recorder (#12984)
* Fix #12694: Revert #12696 (#12967)
* Fixes: #12943 Added unit tests for question player engine service (#12944)
* Resolving the 'Expected 0 to equal 2' flake in AdminPage (#12927)
* Fixes issues #11758, #11683 and #11472: validates the translation, disables paragraph copy to translation and adds how-to-use copy tool doc link (#12909)
* Fix rule input voiceover status (#12905)
* Added frontend tests for topic questions tab component (#12893)
* Fix #12846: Adds a modal to prompt the user to save the exploration changes. (#12879)
* Fix #12824: Make allowKeywords property set to True in .eslintrc file (#12860)
* Fix #12451 The review modal title does not update when reviewing multiple suggestions (#12845)
* Moving final e2e tests to GitHub Actions (#12835)
* Fix part of #9749: Migrate interactive map, logic proof, multiple choice input, set input and text input interactions. (#12788)
* Fix part of #9749: Migrate svg-file-name-editor-component (#12764)
* Fetch_page to fetch (#12763)
* Fix #12698 Migrates files to use preventpageunload service (#12742)
* Fix #12547: Granularise translation commit commands (#12719)
v3.1.1 (10 Jun 2021)
------------------------
Miscellaneous
* Add support for Fanti, Tamil and Swahili languages (#13014)
* Transfer codeownership of filepath-editor to kevintab95. (#12578)
Contributor Pages
* Fix #12657: Enable translation of interactions in contributor dashboard (#12810)
* Fix #12691: Revert codeowners for contributor dashboard files (#12782)
* Fix part of #12691: Swap codeowners for contributor dashboard files until 2021-05-10 (#12693)
* Fix #12382 : Contribution Dashboard users with the SUBMIT_QUESTION or REVIEW_QUESTION permission should now be shown (#12562)
* Fix #11706 : Cursor should revert to normal when translation modal is closed (#12521)
* Fix part of #11735: enables reviewers to edit translations(re-submission) (#12540)
* Fix part of #11735: feature edited by reviewer flag for suggestions (#12785)
Answer Classification
* Milestone 3 of migrating Oppia ML pipeline (#12091)
Server Errors
* Fix #12830: Add ContentLanguageSelectorComponent to entryComponents and declarations in review-test module (#12834)
* Fix HTML caching (#12607)
Translations
* Routine update of translations. (#13012)
* Add MachineTranslatedStateTextsHandler and translation domain services (#12524)
* Add MachineTranslatedText storage model and domain object (#12515)
* Add Cloud Translate Services (#12065)
Developer UX
* Routine update of translations. (#12895)
* Handle all server management with managed_process() (#12800)
* Fixes #12776 : Fixes Type Errors in Promise rejections in admin page. (#12777)
* Handle all server management with managed_process() (#12761)
* Update backend libraries (#12744)
* Update backend libraries (#12734)
* Fix part of #10474: Cover MisconceptionObjectFactory with strict typescript checks (#12720)
* Routine upgrade of libraries (#12709)
* Fix #12512: Fixes import error after cleanup (#12701)
* Distribute nithusha21's codeowner files (#12696)
* Fix Part of #11496: Add lint check for `.then()` method (#12677)
* Fix Running E2E Tests Locally (#12668)
* Fix Part of #10474: Cover and Refactor six more files with TS strict checks (#12643)
* Fix #11811: remove remaining TODOs. (#12605)
* Fix part of #11462: Give Firebase accounts --save_datastore support (#12600)
* Removes unused codecov config file (#12583)
* Fix Part Of #10474: Make typescript checks strict for some services (#12569)
* Fix Part Of #10474: Make typescript checks strict for some services (#12561)
* Fix #12550: Allow metadata with py2.7 suffix (#12559)
* Fix #10306: Adds "Async" keyword to all the remaining files. (#12558)
* Fix part of #7450: Modify private method in ContinuousComputationTests (#12553)
* Fix part of #7450: Modify private method in SuggestionServicesUnitTests (#12511)
* Fix part of #10474: Adds strict typing to `GuestCollectionProgressObjectFactory` (#12497)
* Fix part of #10474: Strict type checks for NeedsGuidingResponsesTaskModal and its spec file (#12491)
* Fix part of #10474: Make TS checks strict for CollectionPlaythrough CollectionRights CollectionSummary (#12487)
* Shard error fix for issue #12422 (#12485)
* Fix part of #8423: Add lint check to ensure that functions with "testOnly" in their names are only called from "spec" files. (#12455)
* Fix part of #10474: Cover exploration-feature service with strict typescript checks (#12388)
* Remove self code owners until 2021-05-24 (#12737)
* Improve swap_with_checks() (#12721)
* Fix Part of #11572: Stack Traces for exceptions are correctly thrown (#12618)
* Update eslint version to 7.23.0 (#12501)
* Revert ownership to darksun27 (#12493)
* Fix part of #12656: Temporarily transfer codeowners for @brianrodri (#12658)
Data handling
* Split fetch review suggestions query into separate queries for translations and questions (#12950)
* Fix part of #11475: implement the _get_change_domain_class for other models: collection, config, question (#12826)
* Replace fetch_page of 'get_translation_suggestion_ids_with_exp_ids' with fetch (#12784)
* Fix #9320: Remove jinja (#12757)
* Refactor try-except in exp_services.py (#12685)
* Adds new fields in userSettings model with corresponding one-off job to populate those fields (#12683)
* Replace fetch_page of 'query_new_and_pending_training_jobs' with fetch (#12678)
* Fix part of #11475: migrate _validate_commit_cmds_schema to Beam job (#12568)
* Fix part of #10415: Refactor activity validators (#12477)
* Add additional predicates to email dashboard (#12356)
* Fix part of #11475: Migrate _validate_post_commit_status to Apache Beam (#12347)
* Fix part of #11475: Migrate validate_commit_type to Apache Beam (#12240)
Angular Migration
* Fix Part Of #9749: Migrates Collection-Linearizer-Service to Angular (#12837)
* Fix Part of #9749: Migrates Contact Page (#12774)
* Fix Part Of #9749: Migrates Delete-Account-Page to Angular (#12750)
* Fix part of #9749, #8472: Refresher exploration confirmation service and modal migrated. (#12748)
* Fix part of N/A: Migrate ng-audio. Fix part of #8742: Audio Player Service (#12715)
* Fix part of #9749: Migrate Privacy page (#12705)
* Fix part of #9749: Migrate Learner local nav directive along with dependencies. (#12704)
* Fixes part of #9749: Migrate Correctness footer (#12682)
* Fix part of #9749: Migrate Learner answer info card (#12681)
* Fixes part of #9749: Migrate continue button directive (#12680)
* Fix part of #8472: Migrate Exploration player state service (#12679)
* Fix part of #8472: Learner view rating Service Migrated (#12676)
* Fix part of #8472: Migrate exploration engine service. (#12675)
* Fix part of #9749: Migrate moderator page (#12602)
* Fix part of N/A: Remove most of the service from serviceToProvide in App.ts to remove multiple instances of a services. (#12596)
* Fix #12571: Update filepath editor to set correct width, height and offset on initialisation. (#12572)
* Fix part of #9749: Migrate pending account deletion page. (#12545)
* Fix part of #9749: Migrate Notifications dashboard page (#12544)
* Fix part of #9749: Migrate side navigation bar (#12543)
* Fix part of #9749: Migrate warnings-and-alerts and alert-message directives (#12542)
* Fix part of #9749: Loading message directive migrated (#12541)
* Create NgInit and mathjax Directive and Fix part of #9749: Migrate int, list-of-sets-of-translatable, list-of-tabs, list-of-unicode-string, set-of-unicode-string, logic-error, logic-question, math equation, math expression, muisc-phrase, nonnegative and number-units editors (#12532)
* Fix Part of #9749: Migrated Story-Preview-Tab with Spec (#12513)
* Fix part of #9749: Migrate Custom OSK, drag-drop-positive, filepath, fraction, graph-editor, html-editor and image-with-regions editors (#12502)
* Fix part of #9749: Migrate rubrics editor directive along with dependencies (#12488)
* Fix part of #9749 Migrating outcome-feedback-editor.directive.ts to Angular (#12479)
* Fix Part Of #9749: Migrates Story-Viewer-Page to Angular (#12472)
* Fix Part of #10700: Refractor Object Factories (#12458)
* Fix part of #9749: skills list directive and dependencies migrated (#12432)
* Fix part of #9749: Topics list directive migrated (#12410)
* Fix Part of #9749:Migrates skill-description-editor directive to Angular (#12395)
* Fix Part of #9749:Migrates response-header directive to Angular (#12376)
* Fix part of #9749: Migrates create-activity-button to angular (#12290)
* Fix #12292 and part of #9749: Migrate image click interaction (#12113)
* Fix #12206, #12385, #12523, #12525, #12526, #12527 Migrated Learner's Dashboard Completely (Angular Migration) (#12056)
* Temporarily provide $translate in Angular (#12794)
* Fix Remaining comments from #12569 and #12561 (#12778)
* Fix remaining comments from #12639. (#12713)
* Emit object form validity event in list-of-sets-of-translatable-html-content-ids-editor.component.ts (#12546)
* Migrate ui-codemirror and Fix part of #9749: Migrate CodeRepl interaction (#12639)
* Revert "Fix Part of #9749:Migrates response-header directive to Angular.(This PR is currently made for some testing purposes) (#12708)
* Fix part of N/A: Introduce Event bus for events (#12459)
Bug fixes
* Add google-cloud-translate fix for deployed server (#12825)
* Fix #12804: Social buttons are now showing correctly. (#12805)
* Fix #12642: topicName is interpolated properly now. (#12803)
* Fix #12738: Copy does not work for images in the translation modal and image upload during question creation (#12789)
* Redirect away from login page when already signed in (#12710)
* Fix part of #11462: Revoke session cookies after granting/revoking super admin privileges (#12570)
* Fixes: #12907 Drop down for "play later" in mobile view (#12932)
* Fix #12903: Optimize exploration-summary-tile.component change detection cycles. (#12931)
* Fix rule input voiceover status (#12905)
* Fix translation flow issue (#12902)
* Fix #12841: Exploration player i18n bug fixes (#12843)
* Fix #12818: RTE Helper modal controller flake (#12820)
* Fix #12106 : Creates seperate variables to store different results in admin roles tab (#12230)
Python Migration
* Fix part of #11475: Migrates _validate_entity_type (#12854)
* Fix #12656: Reclaim @brianrodri's ownership (#12838)
* Fix #11462: Cleanup Firebase TODOs and leftover code (#12827)
* Fix #12671: Generate signature migration (#12816)
* Fixes Enum bug (#12809)
* Fix part of #11474: Move contextlib2 API into python_utils (#12773)
* Adding python3 compatibility for zip largest (#12758)
* Fix #12697: Refactoring audit errors (#12725)
* Python Migration raw string (#12714)
* Fix part of #11462: Permit auth-related pages and handlers in maintenance mode (#12684)
* Fix #12503: Renaming proto folder for further migration to Python 3 (#12672)
* Fix part of #11475: migrate validate_canonical_name_matches_name_in_lowercase to beam job (#12669)
* Python 3 compatibility for base64 encoding (#12651)
* Fix part of #11475: migrate validate_activity_mapping_contains_only_allowed_keys to beam job (#12579)
* Fix part of #11462: Add one-off job to detect accounts with duplicate emails (#12534)
* Remove incoming emails (#12516)
* Migrates creation of enum to the inbuilt Enum method (#12470)
* Fix part of #11475: Migrate validate_model_domain_object_instances to beam jobs (#12317)
* Migrates _validate_post_commit_status_is_public (#12787)
* Return PTransform class object from ModelStub.get_models_ptransform (#12739)
* Changes the existing hierarchical roles system to independent roles to actions system (#12686)
* Fix part of #11475: Migrates validate_draft_change_list_last_updated (#12673)
* Fix part of #10728: Migrate metaclass python regex to custom Astroid checker (#12394)
Learner/Creator Pages
* Link exploration state to skill (#12348)
* Fix thumbnail background colour not updating (#13023)
* Fix #12630: Force pasting plain text in RTE editor (#12861)
* Display learner-facing pages in RTL when the site language is an RTL language. (#12762)
* Fix #12580: Makes exploration content Tabbable. (#12752)
* Added exp ID logging for StoryExplorationsAuditOneOffJob (#12749)
* Fix #12426: Show "Loading..." text when RTE toolbar is loading (#12740)
* Resolving katex parser error in Numeric Expression Input interaction (#12730)
* Fixes #12575 : Fixes audio bar position on small screens. (#12702)
* Fixes #12641: Browse our lessons button fixed. (#12646)
* Merging SVG-Diagram and Image plugins in RTE : Adds function for converting tags (#12620)
* Fix console errors for duplicate skill description (#12595)
* Update the custom entity context when reviewing translations (#12573)
* Fix Part of #9271: Remains in skills tab after merging two or more skills. (#12567)
* Fix #12528: Fixes server error in the DragAndDropSortInput interaction. (#12548)
* Adds Autofocus on exploration interactions (#12538)
* Add card_is_checkpoint field in state model (#12529)
* Fix #6069 : Added top margin to "Start New Thread" button (#12489)
* Fix #11692: Adds a customization arg for math interactions that allow selecting division symbol. (#12483)
* Fix #12265: Search input and review div for topic selector (#12384)
* Link exploration state to skill (#12807)
* Revert "Link exploration state to skill (#12348)" (#12801)
* Fix #10892: Fixes long skill names bug in the subtopic editor (#12236)
* Fixes an error when uploading GIFs with transparent bg and add removes GIF from COMPRESSIBLE_IMAGE_FORMATS (#12504)
* Fix #12223: Errors in Skill Editor is displayed. (#12629)
* Fix #12587 : Back arrow works fine on skill and topic editor page (#12674)
* Fix Part of #10914: Adds progress indicator in save button. (#12603)
Automated QA Team
* Fixing e2e flake in Settings tab(No element found using locator: By(css selector, option:checked)) and (No element found using locator: By(css selector, .select2-dropdown))) (#12796)
* Adding a Video Recorder for E2E Tests (#12759)
* Wait for Moderator or 401 Error Page to load in e2e test (#12745)
* Fix part of #10798: Add action to learnerFlow.js file (#12690)
* Fix part of #10798: Fix end to end tests for ClassroomPage.js (#12670)
* Fix Part of #10798: Fixed e2e test file to resolve non-deterministic behavior (#12614)
* Resolving the 'Page Takes > 15 seconds to load' Flake (#12597)
* Update ProfilePage.js (#12593)
* Fixes #12142 Flake Fixed in Edit thumbnail Controller (#12574)
* Moving Tests To Github Actions (#12495)
* Fix librarypage test #10798 (#12486)
* Skip Selected CI Checks for Low-Risk PRs (#12440)
* Resolving “no element found using locator: by(css selector, .protractor-test-exp-summary-tile-title)” (#12812)
* Revert "Handle all server management with managed_process()" (#12797)
* Fix afterAll failure error (E2E Test passing despite failure in afterAll block) (#12576)
* Fixes e2e Flake in story Editor (#12530)
* Fix #12173 Fix Failing Accessibility Tests (#12457)
v3.1.0 (20 May 2021)
------------------------
Contributor Pages
* Fix #12396: Fixes issues with translation "go back" and "skip" flow (#12727)
* Fix #12610 : Changes the logic for copying a concept card (#12648)
* Fix part of #11464: Applies code-owner suggestion on PR #12308 (#12403)
* Fix #11903: Removes unnecessary height property from left navbar buttons of Contributor Dashboard (#12364)
* Fix #12322 : Makes subheading aligned with heading in translation modal (#12328)
* Fix part of #11464: Fixes task 8 by allowing user to edit skill difficulty . (#12308)
* Adds metrics for curated lessons; Fix text direction in the suggestion review modal; (#12769)
* Fix #11904: Reset "local storage" image destination before closing the translation suggestion modal (#12439)
* Fixes #11438: Made contributor dashboard header sticky with reducing the size of user details container (#11738)
Learner/Creator Pages
* Display learner-facing pages in RTL when the site language is an RTL language. (#12762)
* Fixes #12575 : Fixes audio bar position on small screens. (#12702)
* Fix #12590: Do not allow empty commits in question editor (#12666)
* Update the custom entity context when reviewing translations (#12573)
* Fix #12378: Images in exploration tabs and collapsibles correctly preload (#12442)
* Fixes New Nav Structure and Focus on exploration editor. (#12431)
* Removed pretest question, fixed attribution text and added more comments to preferences page (#12415)
* Fix #12380: Exploration statistics pie charts now show on page load (#12414)
* Allow skillreview RTE component globally (#12397)
* Fix #12224: Edit question flow fixes (#12321)
* Fix part of #12253 : Added z-index styles to ensure dropdown does not overlap "Coming Soon" label (#12288)
* New navigational structure: Foundation site and Oppia.org Integration (#12257)
* Restrict exploration editor for explorations in story (#12233)
* Fix #12171 : Removed redundant position property from classroom banner (#12207)
* Number of elements in ratio expression input should not be more than 10 (#12204)
* Fix the pause voice-over issue in audio bar. (#12192)
* Fix #12174 : Added extra margin to the bottom of the search bar component in the library page (#12175)
* Audit Job to check for explorations with number of ratio terms greater than 10 (#12157)
* Fix #12070: Adding creator-guidelines page (#12144)
* Autofocus: Adds autofocus to learner dashboard, contributor dashboard and story editor. (#12114)
* Autofocus editors:Adds autofocus to topic,skill and exploration editor. (#12089)
* Fixes part of #11464: Populate interactions with the saved solution. (#12057)
* Fix part of #9749: `audio-file-uploader.directive.ts` migrated to angular. (#11971)
* Fix Part of #12586: Prevents merging of questions when merging skills are failed. (#12723)
* Fix #12598 Added padding above skill description in Question Editor (#12706)
* Fix #12336: Adds a check for processed image size when uploading an image (#12344)
* Allow exploration owner to remove users role from their exploration (#12143)
* Fix #11333: Correctly enable publish and transfer to community buttons in settings tab of exploration editor (#11690)
Translations
* Add Dari to SUPPORTED_CONTENT_LANGUAGES (#12551)
* Routine update of translations. (#12473)
* Fix #11581: Enable rule inputs to be translated in the translation tab and these translations to be used in the learner view. (#12406)
* Standardize handling of translatable objects. (#12342)
* Add Urdu to list of supported languages (#12535)
* Fix #12180 Add inline translation tips to translation cards. (#12339)
Miscellaneous
* Fix #12306: Changes the order of headings on the Splash Page (#12330)
* Adds a polyfill for globalThis (#12268)
* Remove old conversion functions and upgrade all exploration demo yaml files to the latest schema versions. (#12256)
* Fix #11909: make footer responsive in smaller view (#12234)
* Update the year to 2021 (#12167)
* Fix part of #10306: Added async keyword to a function that return promise (#12050)
* Revert "Fixes part of #11462: Update install_backend_python_libs to respect direct urls from GitHub" (#12363)
* Revert "Fix part of #9749: Migrates image-uploader.directive.ts to angular" (#12335)
* Log 404 from base handler without raising exceptions (#12345)
* Remove @darksun27 from CODEOWNERS (#12329)
* Revert "Fixes part of #8472: Migrate Exploration Rights Service" (#12305)
* Reassign @Hudda as codeowner (#12154)
Release team
* Updated gcloud version in release_constants (#12510)
* Add release constant for CUJ doc (#12484)
Developer UX
* Fix Part of #4057: Fully cover NumericInputValidationService with unit tests (#12462)
* Changes gae version to 335.0.0 (#12456)
* Fix Part of #10474: Make TS checks strict for StateEditorRefreshService, StateNameService, StoryNodeModel (#12429)
* Fix Part of #10474 : Make checks strict for SchemaFormSubmittedService and SetInputRulesService (#12423)
* Fix part of #11472: Note the idempotency of super-admin privilege handlers (#12419)
* Fix #12389: Disallow usage of xdescribe and xit in frontend unit test (#12418)
* Fix Part of #10474 : Make typescript checks strict for MathEquationInputRulesService (#12411)
* Fix #12379: Changes regex to support case insensitive process names (#12409)
* Fix part of #10474: Make typescript checks strict in NumericInputRulesService (#12320)
* Fixes part of #11462: Update install_backend_python_libs to respect direct urls from GitHub (#12315)
* Clarify Port Open/Closed Language in scripts/common.py (#12307)
* Fix part of #10306: Add "async" keyword to asynchronous functions that return a promise (#12302)
* Fix part of #10306: Added async keyword to synchronous function that return a promise (#12291)
* Fix part of #11776. Adding/Updating 'Args' and 'Return' in docstrings (#12287)
* Fixes part of #8423: Added lint test to enforce use of 3 character hexadecimal notation (#12282)
* Fix part of #11496: Adds lint check to disallow browser.sleep() calls (#12248)
* Fix part of #10306: added async to createTopic in topic-creation-backend-api.service.ts (#12239)
* Refactor of the user services and android constants (#12229)
* Fix part of #8423: Implement new linter checks (Check for space before and after = in HTML) (#12225)
* Fix part of #8423 Add eslint check to ensure space between type and : [e.g: const variableName:<space>TYPE] (#12222)
* Fix part of #10306: Adds 'async' keyword to asynchronous function in pretest-question-backend-api.service (#12176)
* Fix part of #10306: Add "async" keyword to asynchronous functions that return a promise (#12151)
* Fix part of #7450 : Modified private methods in "jobs_test.ContinuousComputationTests" (#12133)
* Fix part of #10306 : Add "async" keyword to asynchronous functions in "playthrough-issues-backend-api.service.ts" (#12127)
* Fix part of #10306: Adds 'async' keyword to asynchronous function in topic-creation-backend-api.service.ts (#12100)
* Shard Lint Tests (#12073)
* Fixes part of #10306 : Added async keyword to asynchronous functions that return a promise (#12021)
* Fix an incorrect comment in context.service.ts (#12453)
* Fix Part of #4057: Frontend test to fully cover collection-node.model.ts (#12420)
* Frontend test for oppia interactive end exploration (#12354)
* Fix Part of #4057: Fully cover context.service.ts (#12262)
* Update to the Proof that changes are correct section. (#12077)
Data handling
* Fix prod validation errors (#12398)
* Remove lowest supported role (#12391)
* Create android feedback reporting storage models (#12298)
* Add permission decorator for primary admin (#12283)
* Fix part of #11475: Migrate _validate_post_commit_is_private to Apache Beam (#12272)
* Email dashboard - Send emails by custom predicates (#12041)
* Fix left over stats server errors (#12416)
Bug fixes
* Fix #12738: Copy does not work for images in the translation modal and image upload during question creation (#12789)
* Fix #12632 & #12589: Adds custom class to fix modal issue and changes animation name (#12772)
* Fix part of #8423: Restrict use of px with 0 (#12285)
* Fix #6219: Fixes checkbox CSS (#12244)
Python Migration
* Fix part of #11462: Permit auth-related pages and handlers in maintenance mode (#12684)
* Fix part of #11462: Include users marked for deletion when managing deleted users (#12555)
* Fix part of #11462: Add one-off job to detect accounts with duplicate emails (#12534)
* Add {Model.property: Model.ID} relationship checks to AuditAllStorageModelsJob (#12471)
* Fix part of #11475: Migrates _validate_old_models_marked_deleted (#12465)
* Changes try except to not fail for python3 (#12461)
* Fix part of #11462: Hide user menu on login and logout pages (#12438)
* Fix part of #11462: Add missing await (#12430)
* Fix part of #11475: Implement AuditAllStorageModelsJob with Apache Beam (#12428)
* Fix part of #11462: Add SyncFirebaseAccountsOneOffJob (#12417)
* Fix part of #11475: Rearchitect the code in /jobs/ (#12413)
* Fix #11462: Migrate to Firebase authentication (#12392)
* Fixes part of #11462: Update install_backend_python_libs to respect direct urls from GitHub (#12366)
* Part of #11475: Update beam conventions (#12338)
* Revert "Fix #11462: Migrate to Firebase authentication" (#12313)
* Fix #11462: Migrate to Firebase authentication (#12172)\
* Fix part of #11462: Remove logging from SyncFirebaseAccountsOneOffJob (#12441)
* Fix part of #11476: Introduce process manager for Cloud Datastore Emulator (#12408)
Angular Migration
* Fix #12400 and #12505: Add imports for modules that requires 'interactionsQuestionsRequires.ts' (#12608)
* Fix part of #9749: Migrate topic-selector directive to angular (#12387)
* Fix part of #9749: Migrate Algebraic Expression Editor, boolean-editor, code-string-editor, coord-two-dim (#12360)
* Fix part of #9749 :On screen keyboard Migrated (#12351)
* Fix part of #9749: Image uploader is migrated and fixed (#12337)
* Fix part of #9749: Migrate translation opportunity modal (#12191)
* Fix part of #9749: Migrate admin-navbar and admin-dev-mode-activities-tab & added api service for admin-navbar (#12189)
* Migrate ConfirmOrCancelModal to Angular and use it in a modal. (#12153)
* Fix part of #9749: Topics and skills dashboard navbar breadcrumb (#12131)
* Fix part of #9749: Migrates image-uploader.directive.ts to angular (#12128)
* Fix part of #9749: Migrated promo-bar-directive (#12110)
* Fix part of #9749: Admin jobs tab component migrated (#12076)
* Fix part of #8472: question-validation.service.ts along with spec migrated to angular (#12023)
* Fixes part of #8472: Migrate Exploration Rights Service (#11974)
* Fix part of #9749: Migrate skill selector to angular (#11791)
* Fixes part of #10700: Refactor AnswerStatsObjectFactory to model.ts (#11691)
* Fix part of #8016: Added a separate backend api service for learner-view-info-backend-api.service.ts (#12132)
Automated QA Team
* Fix #12372: Pin and Assert Lighthouse Chrome Versions (#12368)
* Add a check for whether a server is running on the elasticsearch port when running e2e tests. (#12359)
* Fix Admin Page Flake: expected 0 to equal 2 (#12358)
* Name CI Tests for Custom ESLint Checks (#12325)
* Increase logging on the publications suite (#12271)
* Fix #10798: Fixing End-to-End Tests with action.js and waitFor.js for ExplorationEditorHistoryTab.js (#12245)
* Fix e2e flake:No element found using locator: by.cssContainingText("option" , "moderator") (#12226)
* Added unit tests for skill-mastery.component.ts and collection-local-nav.component.ts (#12216)
* Move Users E2E Tests to GitHub Actions (#12209)
* Fix #10798: Fixes failure of e2e tests with action.js (#12148)