- Fix chunk iteration for user migration script (#4378)
- Fix error with xmlsec library (#4374)
- Add back in keycloak user attributes (#4372)
- Fix some attributes and state for KC export (#4370)
- Bug fix + switch kc migration to client creds (#4368)
- Only validate active user emails (#4366)
- Fix the error printing for failed requests (#4364)
- Validate users' email address against mailgun (#4362)
- Added fields to keycloak export (#4360)
- fix(deps): update dependency requests to v2.32.2 [security] (#4358)
- Updated retire_user script to handle spammer users (#4356)
- fix(deps): update dependency express to v4.20.0 [security] (#4355)
- fix(deps): update dependency webpack to v5.94.0 [security] (#4347)
- Remove RES constant from OCW departments (#4339)
- fix(deps): update dependency django to v4.2.15 [security] (#4345)
- fix(deps): update dependency social-auth-app-django to v5.4.1 [security] (#4342)
- fix(deps): update dependency djangorestframework to v3.15.2 [security] (#4341)
- fix(deps): update dependency urllib3 to v1.26.19 [security] (#4340)
- fix(deps): update dependency django to v4.2.14 [security] (#4338)
- Bump tough-cookie from 4.0.0 to 4.1.4 (#4304)
- fix(deps): update dependency core-js to v3.37.1 (#4335)
- fix(deps): update dependency prop-types to v15.8.1 (#4332)
- fix(deps): update dependency object.entries to v1.1.8 (#4331)
- fix(deps): update dependency moment to v2.30.1 (#4328)
- fix(deps): update dependency chai-as-promised to v7.1.2 (#4330)
- fix(deps): update dependency mini-css-extract-plugin to v0.12.0 (#4327)
- chore(deps): update postgres docker tag to v12.19 (#4326)
- fix(deps): update dependency django to v4.2.13 (#4325)
- Update migrate_users_to_keycloak to use profile (#4324)
- chore(deps): pin dependencies (#4262)
- Switch poetry over to using virtualenvs (#4303)
- fix(deps): update dependency jsdom to v16.7.0 (#4322)
- fix(deps): update dependency jedi to ^0.19.0 (#4321)
- fix(deps): update dependency html-entities to v1.4.0 (#4320)
- fix(deps): update dependency fuse.js to v6.6.2 (#4319)
- fix(deps): update dependency formik to v2.4.6 (#4318)
- fix(deps): update dependency focus-visible to v5.2.0 (#4317)
- fix(deps): update dependency flow-typed to v2.6.2 (#4316)
- fix(deps): update dependency fetch-mock to v6.5.2 (#4314)
- fix(deps): update dependency eslint-plugin-react to v7.34.1 (#4313)
- fix(deps): update dependency eslint-plugin-flowtype to v4.7.0 (#4311)
- fix(deps): update dependency eslint-plugin-mocha to v6.3.0 (#4312)
- fix(deps): update dependency eslint to v7.32.0 (#4310)
- fix(deps): update dependency drf-spectacular to ^0.27.0 (#4309)
- fix(deps): update dependency django-server-status to ^0.7.0 (#4308)
- fix(deps): update dependency django-cache-memoize to ^0.2.0 (#4307)
- chore(deps): update yarn to v3.8.2 (#4306)
- chore(deps): update docker.elastic.co/elasticsearch/elasticsearch docker tag to v7.17.21 (#4305)
- fix(deps): update dependency django to v4.2.11 (#4302)
- fix(deps): update dependency core-js to v3.37.0 (#4300)
- chore(deps): update akhileshns/heroku-deploy digest to 581dd28 (#4263)
- fix(deps): update dependency dj-database-url to ^0.5.0 (#4301)
- fix(deps): update dependency codecov to v3.8.3 (#4299)
- fix(deps): update dependency eslint-plugin-react-hooks to v4.6.2 (#4297)
- chore(deps): update nginx docker tag to v1.26.0 (#4298)
- chore(deps): update opensearchproject/opensearch docker tag to v1.3.16 (#4296)
- add podcast disclaimer (#4294)
- fix(deps): update dependency chai to v4.4.1 (#4293)
- fix(deps): update dependency bodybuilder to v2.5.1 (#4292)
- fix(deps): update dependency blueimp-canvas-to-blob to v3.29.0 (#4291)
- fix(deps): update dependency babel-loader to v8.3.0 (#4290)
- fix(deps): update dependency autoprefixer to v9.8.8 (#4289)
- fix(deps): update dependency assert to v2.1.0 (#4288)
- fix(deps): update dependency amplitudejs to v5.3.2 (#4287)
- fix(deps): update dependency @sentry/browser to v5.30.0 (#4286)
- chore(deps): update yarn to v3.8.1 (#4284)
- chore(deps): update postgres docker tag to v12.18 (#4283)
- chore(deps): update nginx docker tag to v1.25.5 (#4282)
- chore(deps): update docker.elastic.co/elasticsearch/elasticsearch docker tag to v7.17.20 (#4281)
- chore(deps): update dependency responses to ^0.25.0 (#4280)
- chore(deps): update dependency nplusone to ^0.9.0 (#4279)
- fix(deps): update dependency url to v0.11.3 (#4277)
- fix(deps): update dependency style-loader to v3.3.4 (#4276)
- fix(deps): update dependency enzyme-adapter-react-16 to v1.15.8 (#4275)
- Fix: Add nubbins for celery monitoring. (#4273)
- fix(deps): update dependency @types/react-infinite-scroller to v1.2.5 (#4272)
- fix(deps): update dependency @types/css-mediaquery to v0.1.4 (#4271)
- fix(deps): update dependency @ebay/nice-modal-react to v1.2.13 (#4270)
- chore(deps): update opensearchproject/opensearch docker tag to v1.3.15 (#4269)
- chore(deps): update node.js to v16.20.2 (#4268)
- chore(deps): update dependency pytest to v7.4.4 (#4267)
- chore(deps): update dependency pylint-django to v2.5.5 (#4266)
- chore(deps): update dependency pylint to v2.17.7 (#4265)
- chore(deps): update dependency astroid to v2.15.8 (#4264)
- Add OCW SP department (#4260)
- chore(config): migrate config renovate.json (#4259)
- fix(deps): update dependency express to v4.19.2 [security] (#4257)
- fix(deps): update dependency webpack-dev-middleware to v5.3.4 [security] (#4256)
- 4249: remove code from user migration script for importing credentials (#4253)
- Handle multiple prefixes in ocw webhook endpoint (#4251)
- 4247: Migrate Django users to Keycloak (#4248)
- fix(deps): update dependency axios to v1 [security] (#4245)
- fix(deps): update dependency django to v4.1.13 [security] (#4242)
- 4236: Account settings page should always display forgot password option (Keycloak enabled) (#4239)
- 1825: logout user from Keycloak without confirm (#4238)
- 4228: keycloak integration login register password reset ux (#4234)
- 4227: configure keycloak user migration plug in - REST API (#4231)
- 4225: Keycloak OIDC integration (#4230)
- remove signup link from login page (#4200)
- Update swc monorepo (#4213)
- Update jest monorepo to v29.6.2 (#4212)
- Update dependency uwsgi to v2.0.22 (#4211)
- Update dependency stylelint to v15.10.2 (#4210)
- Update dependency pylint to v2.17.5 (#4209)
- Update dependency markdown2 to v2.4.10 (#4208)
- Update dependency js-beautify to v1.14.9 (#4207)
- Update dependency drf-spectacular to v0.26.4 (#4206)
- Update dependency boto3 to v1.28.15 (#4205)
- Update dependency @types/react to v18.2.17 (#4204)
- Update dependency @types/lodash to v4.14.196 (#4203)
- Update dependency @ckeditor/ckeditor5-dev-utils to v38.1.3 (#4202)
- Update dependency @ckeditor/ckeditor5-dev-translations to v38.1.3 (#4201)
- Remove signup options from the UI (#4196)
- Update dependency pyyaml to v6 (#4198)
- Update dependency @ckeditor/ckeditor5-dev-utils to v38.1.2 (#4192)
- Update tanstack-query monorepo to v4.29.25 (#4189)
- Update dependency @ckeditor/ckeditor5-dev-translations to v38.1.2 (#4191)
- Update dependency moto to v4.1.13 (#4190)
- Update react monorepo (#4188)
- Update jest monorepo (#4187)
- Update dependency sentry-sdk to v1.28.1 (#4186)
- Update dependency boto3 to v1.28.3 (#4185)
- Update dependency @swc/core to v1.3.69 (#4184)
- Update dependency @mitodl/course-search-utils to v2.3.2 (#4183)
- expose sentry env vars (#4181)
- add sentry to infinite frontend (#4160)
- Exact version of python to satisfy heroku (#4179)
- Fix heroku poetry build (#4178)
- Update dependency Django to v4.1.10 [SECURITY] (#4176)
- Use poetry instead of requirements files (#4151)
- Update dependency protobuf to v4.23.4 (#4169)
- Update dependency prompt-toolkit to v3.0.39 (#4168)
- Update dependency click to v8.1.4 (#4165)
- Update dependency lxml to v4.9.3 (#4167)
- Update dependency @swc/core to v1.3.68 (#4164)
- Update dependency stylelint to v15.10.1 [SECURITY] (#4162)
- group ckeditor5 in renovate (#4152)
- remove enrollment models (#4157)
- Update docker-compose entrypoint for tika to point to the correct version (#4156)
- Use "+" not "¶" for ckeditor block toolbar (#4153)
- Use pytest directly without tox (#4119)
- Update apache/tika Docker tag to v1.28 (#4148)
- Update Yarn to v3.6.1 (#4147)
- Update Node.js to v16.20.1 (#4146)
- Update tanstack-query monorepo to v4.29.19 (#4145)
- Update redis Docker tag to v5.0.14 (#4144)
- Update react-router monorepo to v5.3.4 (#4143)
- Update react monorepo (#4142)
- Update opensearchproject/opensearch Docker tag to v1.3.11 (#4141)
- Update dependency webpack-hot-middleware to v2.25.4 (#4140)
- Update dependency webpack-hot-middleware to v2.25.4 (#4139)
- Update dependency urllib3 to v1.26.16 (#4138)
- Update dependency url to v0.11.1 (#4137)
- Update dependency url to v0.11.1 (#4136)
- Update dependency tzinfo to v1.2.11 (#4135)
- Update dependency newrelic to v8.8.1 (#4134)
- Update dependency cryptography to v41.0.1 (#4133)
- Update dependency boto3 to v1.26.165 (#4131)
- Update dependency botocore to v1.29.165 (#4132)
- Update dependency @swc/core to v1.3.67 (#4130)
- Update dependency @ckeditor/ckeditor5-dev-utils to v38.0.4 (#4129)
- Update dependency @ckeditor/ckeditor5-dev-translations to v38.0.4 (#4128)
- Make jest faster (#4121)
- New Open 404 Handling (#4089)
- Update dependency cryptography to v41 [SECURITY] (#4036)
- Update dependency faker to v2.0.5 (#4077)
- Update dependency betamax to v0.8.1 (#4044)
- alphabetize (#4118)
- Update dependency tldextract to v2.2.3 (#4113)
- Update dependency styled-components to v5.3.11 (#4112)
- Article editor in new open (frontend only) (#4064)
- Update dependency style-loader to v3.3.3 (#4111)
- update local postgres to 12.11 (#4092)
- Update dependency style-loader to v3.3.3 (#4110)
- Update dependency sass-loader to v13.3.2 (#4109)
- Update dependency s3transfer to v0.6.1 (#4108)
- Update dependency regenerator-runtime to v0.13.11 (#4107)
- Update dependency redux-mock-store to v1.5.4 (#4106)
- Update dependency redux-hammock to v0.3.3 (#4104)
- Update dependency react-share to v4.4.1 (#4103)
- Update dependency react-scrollbar to v0.5.6 (#4102)
- Update dependency raf to v3.4.1 (#4101)
- Update dependency query-string to v7.1.3 (#4100)
- Update dependency qs to v6.11.2 (#4099)
- Update dependency moto to v4.1.12 (#4105)
- Update dependency pyyaml to v5.4.1 (#4098)
- Update dependency protobuf to v4.23.3 (#4097)
- Update dependency markdown2 to v2.4.9 (#4096)
- Update dependency drf-spectacular to v0.26.3 (#4095)
- Update dependency boto3 to v1.26.160 (#4093)
- Update dependency botocore to v1.29.160 (#4094)
- New Open 403 handling (#4054)
- Fix ipython auto-complete error msg (#4091)
- Update dependency postcss-loader to v2.1.6 (#4086)
- Update dependency prettier to v2.8.8 (#4087)
- Update dependency nested-lookup to v0.2.25 (#4085)
- Update dependency moto to v4.1.11 (#4084)
- Update dependency markdown2 to v2.4.8 (#4082)
- Update dependency locale-code to v2.0.2 (#4081)
- Update dependency js-beautify to v1.14.8 (#4080)
- Update dependency jest-when to v3.5.2 (#4079)
- Update dependency html-entities to v2.3.6 (#4078)
- Update dependency eslint-plugin-babel to v5.3.1 (#4076)
- Update dependency celery to v5.3.1 (#4083)
- Update dependency enzyme-adapter-react-16 to v1.15.7 (#4075)
- Update dependency drf-spectacular to v0.26.2 (#4074)
- Update dependency django-ipware to v3.0.7 (#4073)
- Update dependency django-appconf to v1.0.5 (#4072)
- Update dependency deprecated to v1.2.14 (#4071)
- Update dependency decorator to v4.4.2 (#4070)
- Update dependency decimal.js-light to v2.5.1 (#4069)
- Update dependency classnames to v2.3.2 (#4068)
- Update dependency cheerio to v1.0.0-rc.12 (#4067)
- Update dependency boto3 to v1.26.155 (#4065)
- Update dependency botocore to v1.29.155 (#4066)
- Update django-storages (#4062)
- Update newrelic (#4060)
- Update cffi version, hopefully heroku will like this one better? (#4058)
- Upgrade python and django (#4019)
- Update akhileshns/heroku-deploy digest to 9fd0f9f (#4038)
- fix ocw course delete (#4047)
- add CODEOWNERS (#4046)
- OpenSeach Local Service (#4014)
- Resolve Github Action Deprecation Warnings (#4022)
- Local node package templates (#4049)
- fix renovate configuration typo (#4051)
- Replace dependency babel-eslint with @babel/eslint-parser 7.11.0 (#4037)
- disable major version updates in frontends/open-discussions (#4034)
- Update dependency betamax-serializers to v0.2.1 (#4045)
- dont start extra tasks for index updates (#4009)
- limit notifications to one worker (#4018)
- Update dependency array-move to v2.2.2 (#4043)
- Update dependency appdirs to v1.4.4 (#4042)
- Update dependency @types/react-router to v5.1.20 (#4041)
- Update dependency @types/lodash to v4.14.195 (#4040)
- Update dependency @testing-library/jest-dom to v5.16.5 (#4039)
- Update dependency urllib3 to v1.26.5 [SECURITY] (#4027)
- Update dependency requests to v2.31.0 [SECURITY] (#4026)
- Update dependency celery to v5.2.2 [SECURITY] (#4023)
- Update dependency webpack to v5.76.0 [SECURITY] (#4028)
- Update dependency lodash to v4.17.21 [SECURITY] (#4024)
- Add renovate.json (#4021)
- Update Typescript (#4015)
- Use React 18 in New Pages (#4007)
- Remove pyopenssl (#3830)
- Delete orphaned indices after a failed reindex (#3984)
- Opensearch Client (PR 3 of 3) (#3985)
- fix aggregations (#3998)
- Upgrade local elasticsearch service to 7.10 (PR 2 of 3) (#3994)
- Better react-query query invalidation (#3997)
- Move the transformation inside _transform_search_results_suggest (#4002)
- Change search conditional (#4000)
- Elasticsearch 7.10 client only (PR 1 of 3) (#3993)
- Update react query (#3989)
- don't search all indexes (#3991)
- Revert "Elasticsearch 7.10 upgrade (#3974)" (#3992)
- fix resource type facet (#3987)
- Elasticsearch 7.10 upgrade (#3974)
- Details page + AddToListDialog for stafflists (#3983)
- improve setMockResponse manual response resolution (#3982)
- Handle unicode chars when truncating file content (#3976)
- UI for Staff Lists Listing page (#3973)
- Stafflist items serializer (#3980)
- Do not display "English" as default language on resources (#3961)
- Use single modal for "Add to list..." -> fix premature close (#3951)
- Show warning if updating courses but not resource files (#3967)
- Upgrade Elasticsearch to 6.8.2 (#3970)
- Retry bulk search index tasks on connection errors (#3953)
- Bump cairosvg from 2.5.1 to 2.7.0 (#3886)
- Bump sqlparse from 0.3.0 to 0.4.4 (#3960)
- Bump redis from 4.3.4 to 4.4.4 (#3903)
- Split up settings into multiple files (#3965)
- Bump nokogiri from 1.13.10 to 1.14.3 in /docs (#3937)
- Bump ipython from 7.16.3 to 8.10.0 (#3834)
- Bump activesupport from 6.0.6 to 6.0.6.1 in /docs (#3817)
- Rename search index functions, delete->deindex (#3963)
- Make learning path items drag resortable (#3948)
- Fix profile bulk indexing (#3950)
- front page carusels (#3898)
- Checksums for content files and archives (#3941)
- Correct issues with documentation for offered_by filter on courses endpoint (#3942)
- Unpublish runs for edx sources if they are no longer included in API results (#3923)
- Use react query for search page; fix bookmarking bug (#3936)
- remove codecov; its pypi distro is discontinued (#3940)
- Change default parent lookup for nested DRF serializer/url (#3931)
- Handle indexing of large documents in search (#3917)
- Podcast frontpage notifications (#3901)
- demo ui css (#3933)
- demo ui surveys (#3926)
- For edx courses, do not handle content files as part of run ETL (#3928)
- Demo ui (#3919)
- More stafflist index code (#3914)
- Run edx content file tasks weekly in a separate queue (#3899)
- Modify date parsing to be less rigid (#3916)
- Remove comment count from discussions (#3904)
- fix resource cards for search with anon users (#3911)
- add/remove items from userlists (#3883)
- Search index for staff lists (#3893)
- Jw/drf spectacular (#3900)
- fix: Nonbreaking typo in app.json for new env var. (#3895)
- Open discussions Elastic/Opensearch performance updates (#3843)
- Revert "Set concurrency=4 (2x CPU) for the extra_worker_performance dyno in Procfile (#3889)" (#3891)
- Set concurrency=4 (2x CPU) for the extra_worker_performance dyno in Procfile (#3889)
- Staff lists: backend models and API (#3871)
- More improvements in memory usage for edx content archive processing (#3880)
- new infinite search (#3873)
- 2 New API filters for new open - offered_by and audience (#3877)
- CRUD for userlists in TS (#3835)
- stop building individual ts packages (#3874)
- use MMMM DD, YYYY format in tests, too (#3869)
- More efficient download and processing of edx content archives (#3861)
- Stop sharing new code with old open (#3862)
- Remove ol-util components from ol-open (#3857)
- Learn search results list dates are different than default drawer details dates (#3850)
- Add more valid text file types (#3855)
- Remove yarn postinstall script (#3851)
- Add stylelint for scss linting (#3849)
- Revert "oops fixed tests on this branch"
- oops fixed tests on this branch
- Assign department to MITX Online, MITx, and OLL courses (#3837)
- Move userlist types out of fields, update TS (#3831)
- Documentation and .env changes for initial setup (#3826)
- Bump http-cache-semantics from 4.1.0 to 4.1.1 (#3823)
- Fix mgmt commands for importing content files (#3821)
- Upgrade pillow and replace deprecated constant (#3822)
- Bump nokogiri from 1.13.9 to 1.13.10 in /docs (#3786)
- Bump cookiejar from 2.1.3 to 2.1.4 (#3812)
- Bump ua-parser-js from 0.7.31 to 0.7.33 (#3813)
- Always bulk delete content files from search index (#3816)
- Import content files for mitx platform (#3811)
- Fix blank fields for xpro etl (#3809)
- Bump future from 0.18.2 to 0.18.3 (#3810)
- Bump terser from 5.14.1 to 5.16.1 (#3805)
- Add all prolearn imports to professional offerings, handle multiple start/end dates as separate runs (#3804)
- Bump json5 from 1.0.1 to 1.0.2 (#3803)
- Bump loader-utils from 1.4.0 to 1.4.2 (#3791)
- Bump certifi from 2017.4.17 to 2022.12.7 (#3785)
- Bump decode-uri-component from 0.2.0 to 0.2.2 (#3784)
- Import courses from the prolearn search api (#3790)
- Bump express from 4.16.3 to 4.17.3 (#3788)
- Bump moment from 2.29.1 to 2.29.4 (#3765)
- Bump nokogiri from 1.12.5 to 1.13.9 in /docs (#3764)
- Remove Dockerfile line related to moira and ssl (#3771)
- Cc/linting updates (#3769)
- Fix moira by updating openssl (#3768)
- Bump tzinfo from 1.2.7 to 1.2.10 in /docs (#3650)
- Bump pillow from 9.0.0 to 9.0.1 (#3538)
- Bump django from 2.2.27 to 2.2.28 (#3560)
- Use react-helmet-async instead of react-meta-tags, add noindex meta tag to 404/403 error pages (#3757)
- Connect LearningResource Drawer to router (#3753)
- Update course-search-utils to fix routing issue (#3732)
- Remove bootcamps, csail, mitpe, see platform courses (#3749)
- Wider widget sidebar; more consistent breakpoints (#3742)
- Refactor xpro course file sync (#3743)
- Set published=False for openedx courses if no runs are published (#3735)
- Remove transient errors in start-dev (#3736)
- fix permissions (#3733)
- support videos in drawer (#3728)
- Cc/smaller bundle (#3725)
- Cc/url widget (#3721)
- add jest-watch-typeahead (#3723)
- Enforce uniqueness for instructor full name, get rid of existing dupes (#3717)
- infinite drawer (#3708)
- support richtext editing/display in ol-widgets (#3713)
- Import and index MITX Online courses and content (#3700)
- Reordering widgets (#3710)
- Widget Editing in Infinite Corridor (#3702)
- upgrade python-saml3, add aptfile packages for heroku-22 (#3704)
- Handle non-numerical status codes from elasticsearch (#3705)
- Viewing (plaintext) widgets (#3699)
- Cc/styling 2 (#3692)
- FieldChannel banner menu dropdown (#3693)
- Move widget/group creation for fields to signal (#3689)
- Basic field edit form (add/remove/sort lists) (#3682)
- search styles (#3685)
- facets (#3683)
- Cc/styling tweaks (#3679)
- fix channel header z-index issue (#3676)
- Set imagekit prefix to "" (#3674)
- Fix styling conflicts: remove some classless tag selectors (#3673)
- Cc/field pages v1 (#3665)
- rtl tests for search (#3669)
- fix useSearchParams (#3670)
- Preliminary field edit page with appearance form tab (#3661)
- Learning Resource Cards (#3659)
- fix facet label (#3658)
- infinite search (#3645)
- For field channel API serializer, return "lists" attribute as ordered list of UserLists (#3656)
- Cc/field pages v0 (#3654)
- Improve jest request mocking/spying (#3653)
- Featured list, lists and subfields for FieldChannel (#3648)
- Infinite Corridor Front Page Round 2 (#3647)
- Fix tox (#3649)
- Stricter ts linting, in-line with ocw-studio (#3644)
- Change behavior of course_ui_enabled flag (#3634)
- Update newrelic (#3640)
- Update celery, redis (#3638)
- Remove a few unused css classes (#3628)
- Upgrade python to 3.9 (#3624)
- Cc/cards (#3629)
- Infinite Corridor front page (#3619)
- Remove OPEN_DISCUSSIONS_DEFAULT_SITE_KEY and authenticated site section of README (#3617)
- discussions search uses new course-search-utils (#3616)
- Extract CourseSearchbox (as Searchbox) (#3614)
- Use prettier v2 for better typescript support (#3612)
- fix ci commands; remove flowgen (#3610)
- no devdeps, only dependencies (#3611)
- fix some formatting in the readme (#3604)
- Begin sharing (some) frontend code + styling between open-discussions and infinite-corridor (#3601)
- fix yarn postinstall script (#3597)
- remove test_webpack_url
- gitignore vscode dir
- fix prosemirror version
- remove accidental files
- address prosemirror and global.process issues
- add test data for ci
- remove DISABLE_WEBPACK_LOADER_STATS
- add new frontend
- switch to yarn workspaces + update webpack
- move files
- Remove sites app, add django.contrib.sites app (#3591)
- Field Pages for InfiniteCorridor - backend (#3586)
- remove UWSGI_THREAD_COUNT from .env.example
- fix ocw-next delete command
- Upgrade feedparser to fix heroku build failure (#3578)
- Assign url, and save full url path as run_slug, for ocw courses (#3576)
- Remove algolia places, LocationPicker component, and profile location field (#3566)
- update ocw-data-parser (#3569)
- Added heroku deployment workflows
- Remove unpublished OCW courses from search index (#3562)
- Unquote s3 file path to key (#3559)
- fix department import
- update ocw-data-parser (#3552)
- fix ocw images
- fix backpopulate_ocw_next_data --delete
- Fix command (#3541)
- update ocw-data-parser (#3539)
- fewer indexing jobs
- fix: fetching and storing instructor's full name (#3529)
- Update ocw-data-parser, allow list of course paths to be passed to backpopulate_ocw_data (#3528)
- fix video thumbnails in search
- Recognize fancy double quotes for phrase search (#3522)
- OCW Next Webhook Updates
- Revert "Bump celery from 4.3.0 to 5.2.2"
- Bump django from 2.2.24 to 2.2.27
- Bump django-filter from 2.2.0 to 2.4.0
- Bump ipython from 7.12.0 to 7.16.3
- Bump pillow from 8.3.2 to 9.0.0
- Bump celery from 4.3.0 to 5.2.2
- Bump lxml from 4.6.3 to 4.6.5
- content file fixes
- Option to force S3 uploads of OCW data via ocw-data-parser (#3502)
- resource import
- fixes for sentry errors
- Import ocw-next courses
- Bump validator from 10.11.0 to 13.7.0
- Bump nth-check from 2.0.0 to 2.0.1
- Bump nokogiri from 1.11.5 to 1.12.5 in /docs
- change Video model duration column width
- Bump pillow from 8.2.0 to 8.3.2
- fix tests
- Update ocw-data-parser (#3475)
- Bump path-parse from 1.0.6 to 1.0.7
- fix ocw webhook
- Upgrade ocw-data-parser (#3468)
- make ocw backpopulate restartable
- dont overwrite image_src when upload_to_s3=False
- Bump addressable from 2.7.0 to 2.8.0 in /docs
- Bump striptags from 3.1.1 to 3.2.0
- sort by department coursenum when there is a department filter
- Add course argument to filter backpopulate_ocw_data (#3450)
- Remove WEBHOOK_OCW flag, get-ocw-data from celery beat (#3451)
- Upgrade ocw-data-parser to version 0.29.2 (#3448)
- avoid parsing all documents at once
- Bump django from 2.2.20 to 2.2.24 (#3438)
- Bump markdown2 from 2.3.9 to 2.4.0 (#3421)
- Bump pillow from 8.1.1 to 8.2.0 (#3432)
- Bump css-what from 5.0.0 to 5.0.1 (#3428)
- Add timeout to address flaky test (#3441)
- Add coursenum to index (#3437)
- Upgrade ocw-data-parser for archived versions (#3435)
- upgrade jsdom
- Allow codecov upload to fail
- remove environment variables
- value needs to be a string
- set extra worker concurrency
- set celery worker concurrency
- support multiple departments
- replace node-sass with just sass
- Bump nokogiri from 1.11.0 to 1.11.5 in /docs
- Remove mappings for Resources and Exercises from OCW_SECTION_TYPE_MAPPING (#3415)
- downgrade the react-dotdotdot package
- A few dependency upgrades
- fix digest task queue
- avoid new user posts in notification
- set ocw-data-parser to 0.28.0 in requirements.in and run pip-compile (#3398)
- fix to salutation pr
- Revert "Revert "fix salutation""
- add excluded course files
- adjust PR template
- Run apt-get update for ci build (#3392)
- Revert "fix salutation"
- Add to history stack on changes to search UI, and support back button (#3385)
- Bump rsa from 4.1 to 4.7
- fix salutation
- fix similar items error
- update-index command
- OCW data parser 0.27.0
- Bump ssri from 6.0.1 to 6.0.2 (#3372)
- fix notifications setting error
- Bump django from 2.2.18 to 2.2.20
- add resource filters for recreate index
- fix google_tag_manager sentry error
- Bump pygments from 2.5.2 to 2.7.4
- Bump pyyaml from 5.1.2 to 5.4
- Bump y18n from 3.2.1 to 3.2.2
- fix channel settings
- Bump lxml from 4.6.2 to 4.6.3
- fix channel tracking
- Add resource_type to ES index for ContentFiles (#3347)
- Bump rsa from 4.0 to 4.1 (#3346)
- Bump djangorestframework from 3.10.3 to 3.11.2 (#3341)
- Bump pillow from 7.2.0 to 8.1.1 (#3337)
- ocw-data-parser version 0.26.0
- Bump django from 2.2.13 to 2.2.18
- manually send gtag events
- Fix test which wasn't running (#3334)
- Fix typo in logging exception (#3333)
- podcasts in notifications
- update ocw data parser
- Fix migration conflict (#3330)
- expose ga tracking id to moderators
- Add "course feature tags" to index for ocw and remove some obsolete code (#3317)
- check for gtag in channel tracker
- make tracking with new google analytics g-tags possible
- Upgrade ocw-data-parser to 0.24 (#3321)
- Bump elliptic from 6.5.3 to 6.5.4
- ATHENA_MITX_DATABASE -> ATHENA_MITX_DATABASE_NAME
- enrollments for single user
- do not send moderator notifications for posts marked as spam automatically
- update ocw-data-parser (#3310)
- Bump cryptography from 3.2 to 3.3.2
- Bump httplib2 from 0.18.0 to 0.19.0
- remove read more button
- add enrollment models
- add try catch around finding notification setting
- ab/remove-profile-last-updated-on
- fix inactive setting
- Don't show suggestion if it is effectively the same as search text (#3287)
- update django-cors-headers to allow regex
- moderator notification setting ui
- upgrade to the latest version of redux-hammock
- pass bucket name to ocw parser on initialization (#3282)
- add new queue to procfile
- Ensure test_url_widget_serialize sorts entries by reverse date (#3276)
- Bump lxml from 4.5.0 to 4.6.2 (#3274)
- Upgrade ocw-data-parser to 0.20.0 (#3270)
- separate digest email queue
- Bump cairosvg from 2.1.3 to 2.5.1
- Do not publish courses without runs (#3269)
- Fix insecure nokogiri dependency for github pages
- Upload OCW course JSON to S3 regardless of publish state (#3264)
- Bump ini from 1.3.5 to 1.3.7 (#3256)
- define __str__ for course
- fix reclassify spam for moderator comments
- CELERY_WORKER_MAX_MEMORY_PER_CHILD setting (#3250)
- moderator post notifications
- Fix flaky test (#3248)
- Split each OCW run into its own course (#3245)
- Fix test issues (#3247)
- Revert "Add OWASP ZAP security scan as Github action (#3229)" (#3234)
- Add Elasticsearch shard count variable (#3228)
- Add OWASP ZAP security scan as Github action (#3229)
- fix styling for long search filters
- Return False if reddit API is_moderator call raises a Forbidden error (#3223)
- ES Course serializer should exclude unpublished runs and list them in reverse chronological order (#3221)
- Import OCW level 3 topics (specialities) (#3218)
- update ocw-data-parser to 0.15.1 (#3216)
- 404 for removed comments
- add back a few things to CI
- Switch from Travis to Github Actions
- fix procfile for celery queues
- speparate celery queue for spam check tasks
- Bump cryptography from 2.8 to 3.2
- update ocw parser
- ab/remove-course-catalog-acks-late
- dont show removed comments and posts in profile
- Update ocw-data-parser (#3193)
- add support for the 'level' facet
- remove PODCAST_FRONTPAGE feature flag
- upgrade course-search-utils
- update ocw-data-parser (#3183)
- Added mappings for some new MITPE topics
- use course-search-utils for CourseSearchPage logic
- add the department_name field to search aggregation transform
- fix podcast date farce
- Add embedded youtube videos as course resources (#3159)
- add spam management commands
- Upgrade pillow to 7.2.0
- Youtube video resource RFC (#3154)
- use latest version of ocw-data-parser (#3162)
- fix spam check admin
- Skip non-course directories (#3151)
- Add attributes for OCW URL components (#3149)
- add post and comment information to spam check admin
- add level and department to search
- Add accessibility links to footers (#3147)
- Changes to ContentFile (resource) index (#3137)
- Bump node-sass from 4.12.0 to 4.13.1
- fix course search textbox behavior
- correct typo in "Mechanical Engineering" (#3126)
- Mock debounce to try to fix flaky tests (#3129)
- Fixed password reset
- Fix flaky test (#3122)
- update to latest version of our eslint config
- update ocw-data-parser in requirements.in and run pip-compile (#3124)
- podcast button styling update
- add cache to rss page
- limit rss feed episodes
- Spam exemptions check and feature flag (#3096)
- pin requests to fix urllib3 error
- add rss to subscribe button
- fix requirements
- remove podcast rss authentication
- Document spam mitigation and modernize docs
- add rss_url to podcast etl
- Bump elliptic from 6.4.0 to 6.5.3
- generate rss for all MIT podcast episodes
- Spam check only if the content changes
- Added server-side 404 page for posts
- do not spam check moderators
- Blocked IP model and middleware (#3082)
- add podcast subscription links
- fix padding issue with the drawer
- python and JS upgrades (#3073)
- Save spam check results (#3076)
- fix read more
- Bump codecov from 3.6.5 to 3.7.1
- add podcast subscribe URLs to podcast ETL
- make learn and search pages tababble
- fix some issues with comment voting
- Bump lodash from 4.17.15 to 4.17.19
- Added spam checking to posts and comments (#3062)
- refactor ExpandedPostDisplay to be a function-based component
- fix audio player drawer padding issue
- Block certain emails during registration (#3051)
- refactor post voting to be more straightforward
- pull method on HomePage.js out as separate component
- ensure the AudioPlayer works across the site
- add a link to the podcast to the LR drawer
- fix micromasters loader
- fix podcast etl
- fix isort version
- remove runs from videos and podcasts
- refactor CommentTree to use a separate Comment component
- show focus outlines for tabbing only
- update requirements with new version (#3012)
- dependency upgrades, add @reduxjs/toolkit
- Added xPro topic mapping
- limit to one recent episode per podcast
- Bump django from 2.2.10 to 2.2.13
- do not select run with missing dates
- add episode count to podcast card
- trim white space
- fix facet filters
- fix off-by-one error
- Fix video loading of offerors and topics
- fix display of favorite icon in 'similar items' panel
- Restrict public list creation (#2988)
- Update ocw data parser (#2989)
- Rename blacklist -> blocklist
- add tooltips to learning resource card
- search restyling
- Various fixes for ETL loading bugs
- change reorder text
- fix a height issue with the author on the podcast card
- fix checked facet highlight
- Bump httplib2 from 0.14.0 to 0.18.0 (#2943)
- add footer to podcast page
- add FilterableSearchFacet component
- /podcasts keyboard accessibility (#2963)
- new facets ui
- Added new topic mapping to SEE
- sort type facet
- Fix the xPRO offered by value
- don't use conditionals on selectors! (#2952)
- index changes for new filters
- don't use conditionals on selectors! (#2952)
- Podcast drawer "view episode details" link (#2945)
- Fixed loading topics when not defined by the input data
- Handle 'January IAP' semester and MITPE empty dates
- PodcastEpisode.episode_link (#2941)
- Ensure ocw subtasks don't ack until task completes
- Revert "upgrade dependencies, add @reduxjs/toolkit"
- Added remapping for edx topics
- Revert "upgrade dependencies, add @reduxjs/toolkit"
- upgrade dependencies, add @reduxjs/toolkit
- fix facets for podcasts
- remove cost and availability facets
- fix podcast card height issues
- combine learning list and learning path
- fix popular resourses view for learning paths
- combine podcast and podcast episode in search facets
- fix an issue with scroll position in the LR drawer
- Remove extra AWS access key and secret environment variables (#2900)
- Snackbar update (#2899)
- hide 'share' button on podcasts, podcast episodes in drawer
- Revert "add link in drawer from podcast episode to all episodes"
- add link in drawer from podcast episode to all episodes
- Precommit hooks (#2859)
- Update Podcasts page title (#2893)
- mobile ui css
- Audio player skip forward / backward progress reset bug fix (#2891)
- Podcasts Series -> Podcasts
- prevent highlighting of text within the audio player (#2889)
- add ability to pause / play podcast from the PodcastPlayButton
- Fix tests for previous commit
- fix-intercations-request
- Change queryset to show empty podcasts (#2833)
- add list of episodes to podcast drawer display
- set the z index of the audio player to sit on top of any drawer (#2873)
- add test coverage for some utility hooks
- Audio player padding adjustments (#2872)
- remove stray console.log
- fix podcast and podcast episode sharing URL
- podcasts search page ui
- Remove check_pip.sh (#2870)
- add the date to the PodcastEpisodeCard
- Audio player Safari / Apple Webkit fix (#2847)
- add basic drawer support for podcasts, podcastEpisodes
- fix parsing of variables inside calc (#2843)
- Bootcamps -> Courses (#2811)
- Audio player (#2782)
- Fix app.json (#2835)
- Add loader to podcast page (#2804)
- make config offered_by field optional
- use podcast image when the podcast episode image is missing
- Add episodes per podcast view (#2815)
- Added podcast indexing upon ingestion
- error catching for unparsable rss file
- add basic tests for podcast frontpage component (#2805)
- Use github access token for authentication
- Add episodes list/detail view REST APIs (#2812)
- update background image asset on /podcasts
- Add episode_count field to episodes REST API (#2810)
- add Podcast cards
- hide 'My List' link according to feature flags
- Remove nested episodes from podcasts API to improve performance (#2799)
- Set strict = true, rename some UWSGI_ env vars (#2775)
- add 'recent episodes' display to /podcasts
- Added podcasts & podcast episodes to index
- Added data models for discussions channels
- fix unpublish code for podcast episodes
- add curved background to /podcasts
- import podcast data
- add suggestions to channel search
- add Podcasts, PodcastEpisodes to the admin
- Add recent podcasts API (#2765)
- CSAIL course import (#2759)
- add podcast-specific top navbar
- Add read-only podcasts API (#2757)
- MIT Professional Education course import (#2744)
- unpublish userlists for removed playlists
- add feature flag for podcast landing page
- index changes to support suggestions in channel search
- Revert "Suggested Terms in Channel Search"
- Suggested Terms in Channel Search
- data model for podcasts
- Import Sloan Executive courses (#2726)
- Make frontend URL parsing more resilient (#2729)
- Filter out blank/null moira list names (#2731)
- Handle text/plain requests (#2719)
- Fix OLL logo image (#2708)
- Improved performance of /learn APIs
- Initial proposal for reddit migration work
- remove fuzzy search
- Update djoser and DRF to fix password reset (#2707)
- OCW webhook (#2687)
- Use file extension to detect mime type, and pass info to tika (#2684)
- More intelligent OLX ingestion, and ingest static files for xPRO (#2631)
- refactor course search state to live in the URL
- Log ProfileDoesNotExist exceptions when updating channel memberships (#2696)
- update ocw-data-parser version to 0.5.0
- Pin redis and nginx versions (#2626)
- Updated /learn to have per-carousel loaders
- raw_json should be write-only on LearningResourceRunSerializer (#2688)
- Moira integration (#2627)
- bump ocw data parser verison
- Support for subscribing users via criteria
- don't overwrite ocw course with old run data
- Improve error reporting (#2620)
- Fix OLL import (#2625)
- script to generate duplicate courses file
- Allow anonymous users to view the profile page and related posts and comments (#2619)
- Redirect discussions.odl.mit.edu to open.mit.edu (#2616)
- Assign a score to child document results (#2608)
- OLX ingestion for xPRO courses (#2599)
- Fixed bug with missing popular resources
- Refresh requirements.txt (#2601)
- Bump codecov from 3.5.0 to 3.6.5
- Dedupe mitx courses with multiple edx records
- OLX/OCW ingestion work (#2574)
- digest_ocw_course() needs to be run after OCWParser.upload_all_media_to_s3() (#2597)
- Upgrade to Python 3.7 (#2594)
- Revert "Upgrade celery, use Python 3.7 in docker (#2592)" (#2595)
- Upgrade celery, use Python 3.7 in docker (#2592)
- Update postgres version and docker-compose setup (#2591)
- Updated sentry and added filter to exclude typical shutdown errors
- Added support for tracking and displaying popular learning resources
- update default sort order
- Bump django from 2.2.9 to 2.2.10
- updates to search index for default search ordering
- Refactor index_items (#2576)
- Chunk up OCW import task and use rapidjson to speed up processing (#2567)
- Upgrade django
- Fixed race condition with profile writes
- Revert "sort default results in search page with no text"
- change URL params for LR sharing to be friendlier
- automatically open "similar items" panel for some LRs
- sort default results in search page with no text
- change copy for userlists to "learning lists"
- grabbed a new webpack version
- prevent course title in search from being cut off
- add created_on to elasticsearch
- fix offered by link in the search page
- fix LR card height when reordering learning path
- fix scrollbar on post sort picker
- Improve ES performance by not validating connection for read operations
- add ability to share learning resources
- Added support for user list items in frontend
- Bump handlebars from 4.1.2 to 4.5.3 (#2514)
- Fix a few typos in tests (#2531)
- ensure course cards have the same height
- allow user to reset search text on the search page
- Dont publish/index blocklisted courses (#2519)
- Supported double-quoted search terms (#2516)
- Update indexing methods to reduce data sent to and from redis via celery (#2520)
- allow specifying list name in config file
- Return search term suggestions (#2510)
- implement new design for learning resource drawer
- mock out HTML height attrs globally
- add play button overlay for video cover images
- display all learning reasourse offered bys if there are multiple
- add all option to video playlist config
- Log an error for YOUTUBE_DEVELOPER_KEY
- update user list reordering UI a little bit
- switch to bookmark icon for learning resource lists menu
- increase LearningResourceOfferor name length
- Don't allow userlists to be added to userlists (#2462)
- fix issue with learningResourceSelector function
- Fix search result subject display (#2488)
- Display similar learning resources in drawer (#2480)
- fix the display of read more / less in the truncated text component
- add history to the learning resource drawer
- add a display of the courses in a program to the program drawer
- Bump django from 2.1.11 to 2.1.15 (#2478)
- Fix bug unchecking lists (#2482)
- Inject 'is_favorite' and 'lists' fields into search results (#2473)
- Fixed routing for /learn/lists/favorites
- Only index lists with items, include item image_src values (#2448)
- List Items API (#2470)
- Exclude large/unused fields from API results (#2468)
- /courses/ -> /learn/
- implement mobile design for userlist dialog
- add visual separation (a line) to list items in the LR drawer
- Added topics generation for videos
- Get rid of n+1 query on content_type.name (#2460)
- Require at least 1 subject for lists/paths (#2449)
- Set DISABLE_SERVER_SIDE_CURSORS=True by default (#2454)
- add re-ordering UI for learning paths
- new videos view
- fix dialog sizing on mobile
- Increase the width of the Course.image_src column
- Add support for next param to login prompt
- Add a sleep to youtube video transcript downloads
- Revert "Calculate and return is_favorite and lists fields in ES search results (#2423)" (#2451)
- Added transcripts to searchable fields
- Calculate and return 'is_favorite' and 'lists' fields in ES search results (#2423)
- fix Select component when removing last selection (#2430)
- Adjust resource item serializers (#2415)
- Add tasks for pulling youtube video transcripts
- fix cropper width issue on channel settings page
- Added free prices to videos
- Prevent users from adding lists to each other (#2416)
- Topics select field for the UserListFormDialog (#2411)
- Support generating user lists from playlists
- Update get_active_aliases to reuse connection so verification doesn't thrash
- display user lists and learning paths in the learning resource drawer
- add ability to create a new list from the "add to list" dialog
- Fixed KeyError in etl loaders
- Topics endpoint API (#2401)
- Support topics CRUD in UserList API (#2397)
- Added video unpublish support
- Fix test (#2400)
- When a resource is deleted, delete any UserListItems for that resource (#2389)
- Show a filled-in star when a resource is in a user's list (#2379)
- show the description for a user list on the detail page
- Simplified serializers for UserListView list response (#2385)
- Filter out unauthored lists on UserListsPage and AddToListDialog (#2383)
- new config file format
- add the favorites as a userlist in the UI
- Search index updates for user lists (#2374)
- Added tasks to fetch youtube videos
- Added drawer for video resources
- add the ability to edit userlist metadata
- add functions to download and process youtube transcripts
- add user list detail page
- UI for adding/removing a list item (#2339)
- use youtube playlist item call to get around search limit
- add the ability to delete user lists
- Allow programs, videos, and user lists to be added as UserList items (#2346)
- Fix favoriting of lists and paths (#2341)
- fix display of the "My Lists" link
- some tweaks to the course search page
- transform function for youtube etl
- add pyyaml to requirements
- add ability to create new UserLists
- Extract function for course catalog youtube video etl
- Added video favoriting functionality
- Added loader code for videos
- Added VideoResource indexing
- Differentiate between user lists and learning paths in the search index (#2329)
- Allow CRUD operations for UserLists via API (#2326)
- add an index page for showing userlists
- Bump pillow from 3.4.2 to 6.2.0
- two tweaks to course search facet
- Added VideoResource model
- Fix caniuse-lite breaking build by upgrading it
- fix bug with the Cell component
- Add support for multiple offered_by
- Don't show any results if no text matches are found (#2295)
- small style tweak to course facets
- fix the learning resources drawer right-to-left behavior
- Prevent embedly from creating animated thumbnails (#2291)
- fix UI issue with showing/hiding options on SearchFacet
- Import xPro program topics and instructors (#2279)
- Add instructors, topics, and program prices to micromasters ETL transform (#2282)
- Added import for xpro courses
- Added Open Learning Library implementation
- Create program runs (#2267)
- Rename CourseRun to LearningResourceRun (#2265)
- Remove OCW courses from search if they are unpublished (#2260)
- fix small layout bug
- Refactor MITx integration to new etl pipeline
- refactor tooltips
- implement mobile view for the course search page
- Set default ordering of CourseRun (#2262)
- Open drawer for programs (#2251)
- fix pluralization of "subject" line on learning resource card
- Populate best date fields during xpro import (#2252)
- Search nested fields including instructors (#2232)
- Add course number to the search index and boost it in queries (#2233)
- Added xpro integration for catalog
- rename 'containers' dir to 'pages'
- a few styling tweaks for the course search page
- Fix occasionally failing test for LearningResourceCard (#2241)
- add 'grid' style loader to the course search page
- Fix 'Offered By' display (#2238)
- Make sure object_type is always merged in when retrieving entities from state (#2230)
- refactor course sidebar component to use hooks
- fix the search loader for the course search
- Default image for learning resource (#2222)
- Facets for price and offered by (#2212)
- Adjust cron job times
- Display the most relevant course run, with dropdown, in course drawer (#2196)
- some styling tweaks for the course search page
- Updated course APIs to filter out courses with no runs
- update babel-eslint
- update course home page
- Added course catalog integration with micromasters
- update display of the currently-active filters on the course search
- Add LearningResourceRun to admin (#2194)
- Show most relevant availability for search result (#2190)
- upgrade react-redux, react-router, redux-query
- restyle the course-search facets
- fix an issue with the responsiveness of the search facets
- Make sure best date fields are writable in serializer (#2186)
- Working availability facet based on course run dates (#2158)
- Support cancelling notifications for disabled notifications
- Added trailing slash to API urls to avoid 301 redirects
- CourseRuns for all courses and bootcamps (#2153)
- update course search and course carousel UI
- bump a few deps
- Pin pytest deps
- upgrade eslint and related dependencies
- fix an issue with unfavoriting on the favorites carousel
- upgrade dependencies
- Added retire_users command and don't email inactive users
- add basic favorites display to the homepage
- Show paths and programs in search results (#2131)
- Upgrade django
- fix a flaky test
- add initial implementation of favorites
- Add course runs to ES index
- Make topic and price sequences again in tests (#2139)
- Include course runs in CourseSerializer (#2136)
- update UI for search box in course page header
- Add Program and UserList to Django admin (#2133)
- Updated course_catalog factories to be generate more data out of the box
- Import courses and course runs for MITx (#2130)
- Added LearningResourceRun model
- Renamed course_catalog.task_helpers to course_catalog.api
- Search for bootcamps (#2102)
- Switch course search to use CourseCard, grid layout
- Remove writing bootcamps to Course model
- Ignore allowed_post_types from django-admin
- implement new course card design
- Bumped django version
- fix styling issues with the drawer
- remove USE_NEW_BRANDING feature flag
- few small dependency upgrades
- Upgrade version of psycopg2 to work with heroku-18 stack
- Fix search query for anonymous users (#2079)
- Add endpoints for users to favorite and view favorited items (#2064)
- Addresses #2068 (#2074)
- add config_change_template (#2050)
- adds offered_by to models and indexing (#2072)
- updates indexing code for course catalog models (#2056)
- restyle the course carousel to match new designs
- add new banner image to the course pages
- tweak to the drawer open / close animation and behavior
- add to README and docstring (#2066)
- install Formik and use it to implement a separate <CommentForm />
- Add tests for course_catalog.views (#2065)
- adds new catalog model FavoriteItem; renames LearningPath model (#2061)
- Serializers, views, factories, and tests for course_catalog models (#2058)
- update the top bar in the courses section
- run black
- Address comments on PR
- fix tests
- Refactor course_catalog course parsing
- upgrade a few dependencies
- persist desktop drawer open / close value to localStorage
- Update bootcamps tasks and tests to use new Bootcamp model
- fix styling of profile page
- Implement proposed changes to new course_catalog models
- upgrade of a few dependencies (nothing serious)
- tweak the two-column layout width and cell ratio
- fix course search page infinite scroll issue
- Periodic bump of drf
- Added workers to pgbouncer
- site 'grid' (basic layout) tweaks
- split out widget-related API functions from main api.js file
- Fix email url to go through static assets
- Update ocw data parser in requirements to use version that removes certain fields from master_json
- remove ANONYMOUS_ACCESS feature flag
- fix URL widget help text font size
- fix rendering height of channel navbar on mobile
- fix drawer animation
- Add functionality to parse Bootcamps data into course_catalog
- add option for custom html on URL widgets
- add channel nav bar to the post detail page
- CSS tweak for links in the markdown widget
- add an animation for the drawer expand / contract on desktop
- remove the SEARCH_UI feature flag
- Fix RSS widgets for invalid urls and add admin ui for them
- Use MM and PE data to tag edx courses with program_name and program_type
- add professional programs data (#1980)
- Improved resilience and sending speed of frontpage notifications
- Send courses in chunks for master json parsing (#1987)
- make desktop drawer collapse instead of hide
- Repair posts if they don't appear in the hot posts list
- Modifies ocw parsing and adds task/management command to upload ocw master json data to S3.
- Updated command to populate user subscriptions to take a list of channels
- fix a flaky test
- Added test for app.json validity
- add sorting to the channel members page
- Revert "Added reporting of validation errors to sentry"
- Upgraded urllib3
- hide manage widgets link on the post page
- Added redirect for handling themove.mit.edu
- Added a redirect rule to handle traffic to the lemelsonx subdomain
- shuffle post overflow menu options around a bit
- Add 'members' page for showing the people who are members of a channel
- refresh the post list after you remove a post
- closes issue #1930
- Add cover image to the course index page
- Modify facet behavior within/between groups (#1928)
- add new courses widget to the home page
- Label course availability by model field instead of dates in UI (#1922)
- Buttons to clear facets (#1916)
- Add course index page
- Show min price instead of max price for courses (#1920)
- Different toolbar and no channel drawer for courses (#1913)
- Search facet improvements (#1906)
- kill some sluggishness with the ArticleEditor
- Fix typo
- update a few JS deps
- Bump django to 2.1.7
- upgrade flow to @latest
- Updated Python runtime version
- RFC for enhanced search facets (#1891)
- Adds new availability field to course_catalog/Course model for Course search
- Display all topics in CompactCourseDisplay, make clickable (#1892)
- Search UI RFC (#1885)
- Added channel invitation backend and frontend
- Course detail view (#1866)
- get rid of the docker setup for JavaScript tests on travis
- Hide embedly title for embedly widgets (#1878)
- Add livestream widget to the homepage
- tweak post pinning so that the UI fully reflects the newly pinned post
- Fix comment dialog dialog bug and refactor PostPage_test (#1875)
- Added opengraph metadata tags for social sharing
- Bumped ocw-data-parser version
- fix an issue with article validation
- Remove comments (#1868)
- Added embedly link preview content to index
- moves log info statement
- adds log info statements, renames variable and adds other case to not upload, per PR review comments
- flips if statement; adds case check to unit tests
- adds error_occurred flag to check for cases where we would not like to upload to s3
- renames "get_edx_data" -> sync_and_upload_edx_data
- Fixed anonymous create post page bug
- Adding caching to RSS widget
- Update README.md
- Course search UI (#1784)
- updates unit test
- adds unit test
- Updates ocw-data-parser package
- updates requirements
- Readme updates
- add validtion to post editing
- fixes bucket; fixes failing tests; adds stub for new test
- format change from running black course_catalog
- Changes permission for edx json export
- minor changes
- Adds functionality to export edx courses into json format and upload it to s3
- Fix tests (#1864)
- Updated Jupyter notebook command in README
- Add channel about page frontend UI
- Add some scrolling to post create page to make errors visible
- Add url to Course model and helper method to determine its value (#1851)
- Limit widget dialog focus to widget type selection (#1854)
- People widget (#1803)
- Created docker container config for running the app in a Jupyter notebook
- Remove automatic focus from dialog radio buttons (#1848)
- New setting to specify if only course images should be uploaded during import (#1839)
- clarified concern for a separate issue
- Added embedly link preview indexing RFC
- RFC: Caching system for third party data
- Create and update course documents in Elasticsearch (#1721)
- Switched search to index posts/comments from db
- Remove accidental file
- Fixed template typo
- Added a few issue templates
- Remove usages of channel description and allow_widget_ui
- replace @task with @app.task (#1832)
- Changed article thumbnail rendering to serve from embedly
- Copy mitodl/course_catalog app into discussions (#1753)
- Added reporting of validation errors to sentry
- Removed EMAIL_AUTH flag
- upgrade to react v16.8
- Fixed bug with preview text for posts including a base64-encoded image
- Bumped ES docker image version to 6.5.4
- Switch backpopulate over to the list() api
- Fix link menu when editing rich text widget (#1816)
- Fix a z-index issue on the post create page
- Show related posts on the post detail page
- Fixed contributor delete permissions and changed logic for showing leave channel option
- Fixed exception with lazy submissions
- Switched backpopulate_posts to a more reliable submission fetch
- Add validation to widget configuration inputs, fix URL validation (#1795)
- Backend to add 'about' field to Channel model
- upgrade react, react-dom, enzyme, and the enzyme adapter
- Fix backpopulate not adding comments
- Implement embedly widget (#1786)
- Added script and tasks to backpopulate all posts and comments
- Fixed subscriber permission to allow self-editing of channel subs
- Collapse and expand widgets (#1759)
- Refactored factories to split model ones vs. reddit ones
- Fixed bug with post summary showing raw markdown
- Added button to follow/unfollow channel
- Updated Post and Comment models with missing fields
- Add support for rending content using Embedly in the article editor
- Bump yarn and node version
- Split comment API functions out into separate module
- Fix flaky test (#1758)
- Improvements for RSS dialog editing (#1750)
- Added storybook command to readme
- Upgrade dependencies to fix browserslist warning (#1751)
- Refactor widgets, restyle RSS widget (#1730)
- Fix search loading height issue (#1738)
- Updated post summary card styling
- fix issue with post delete dialog staying open
- fix dropdown menu click targets
- loading width fix for search pages (#1734)
- Refactor a few class-based components to be stateless components
- some adjustments to the cover image and post creation UI
- use post_type to show UI specific to different post types
- make post pinning work again
- update prosemirror-markdown to latest version
- Fix flaky test (#1725)
- Added posts and comments feed to the profile page
- Fix widget stories (#1716)
- Move cancel/done widget buttons into channel header navbar (#1692)
- Added truncated post content preview to post summary card
- Minimum search query length (#1675)
- Text tweaks on the create post page
- small tweak to the cover image style
- Update subscriber/moderator/contributor APIs to be atomic
- Autofocus the input on the password screen
- Upgrade Django to 2.1.5 (#1695)
- Fix a post page form reset bug
- Allow article cover images to be deleted (#1693)
- Widget style changes (#1674)
- round out article cover image UI
- delete the icons from the post type buttons
- Create ChannelGroupRoles in populate_user_roles function (#1679)
- Fixed URL patterns to match post slugs with special characters
- Remove unique constraint on title
- refactor API library file to several modules
- Add description for widget instances (#1672)
- Fix a flakey JS test
- Added title and channel_type to Channel to avoid many reddit requests
- Remove text widget class and add wysiwyg widget field editor (#1646)
- Fixed next param for touchstone
- Add cover image to article post
- Add article_text and post_type to REST API (#1633)
- post creation page tweaks
- Remove PyYAML (#1651)
- Search text input focus (#1642)
- Peg python-lazy-fixture to 0.4.2 (#1648)
- Fix handling of widget ids (#1645)
- Article search (#1619)
- Upgrade elasticsearch lib
- Revert "Implement mobile widget view (#1617)" (#1629)
- Implement adding and editing widgets (#1598)
- Fix recreate_index error handling (#1620)
- Implement mobile widget view (#1617)
- Change page width from 12 to 8 on withSingleColumn HOC (#1625)
- Reduce version conflict errors in ES when updating profiles (#1618)
- Split serializers
- Make channel title in header a link (#1621)
- Filter out removed/deleted posts and comments from search (#1614)
- Display cover image thumbnail on compact post display (#1608)
- Fix other calls to fetch()
- ask for confirmation when the user switches post types
- Remove the widget list from the channel admin
- Fixed performance issues around proxies and DB queries
- Cover image for articles - backend (#1599)
- Fixed article n+1 query
- Implement moving and removing a widget (#1588)
- Location for profiles (#1571)
- Updated frontend to support allowed post types
- Fix post type assignment in backpopulate_missing_posts command (#1586)
- Add editing capability to article posts
- Add popup to channel settings link (#1582)
- Refactor widgets and style read-only widgets (#1574)
- Added backend support for allowed post types
- Fixed unverified user login bug
- Django management command to create missing Post objects (#1567)
- Added widgets backend
- Remove errorHandling, use async/await, refactor API functions (#1562)
- Add django-hijack (#1535)
- Add CKEditor for creating Article posts
- Small tweaks to embedly 'link' display
- Enable comment voting in search results (#1560)
- Prevent non-superusers from editing a channel title
- Add widget JS to open-discussions (#1558)
- Hide Share button on comment cards in search (#1561)
- Hide reply and menu icons on search post/comment result cards (#1555)
- Added UI for adding/deleting user websites
- Enable post voting in search results (#1545)
- Don't try to reindex profile more than once on image change (#1529)
- Add channel header to post detail and channel settings (#1504)
- Updated DRF to 3.9.0
- Update comment style colors (#1530)
- Update index when channel is updated (#1526)
- Added proxying for frontpage emails as well (#1523)
- Enable profile search (#1516)
- Do not try to update the profile index for the indexing user (#1521)
- API to retrieve channel followers (subscribers) (#1500)
- Remove zendesk help and replace with "Contact us" email link (#1506)
- remove the logo from intro card on phones
- Add the site name to the mobile drawer header
- Adds article post_type
- Add english analyzer to Elasticsearch mapping, and update search to use it (#1502)
- Implement site search (#1481)
- Add support anonymous users in search, and add support for public and restricted channels who are not already contributors or moderators (#1493)
- Query database to get lists of channels, posts, comments for indexing (#1415)
- Added backend support for adding/deleting user websites
- Updated README and added references to common web app guide
- remove micromasters references from mail header (#1473)
- Fix stacking issue with z-index banner and compact post buttons
- Updated mobile navbar and drawer header styling
- Upgrade requests lib
- add validation for super long text posts
- Add page for channel search (#1422)
- Handle PRAW errors during backpopulate (#1478)
- Upgrade our eslint config to the latest version
- add profile admin (#1476)
- Remove unused markdown2 dependency
- Store channel memberships (subscriber, moderator, contributor) in django (#1449)
- Set membership_is_managed to False when creating channels from app (#1440)
- Add components for search results (#1444)
- Add search textbox component (#1437)
- Add search filter component (#1438)
- Split profiles into chunks for indexing (#1435)
- Add indexing user as first moderator to every channel if not already a moderator (#1409)
- Enabled newrelic for our workers
- Refactor channel header (#1433)
- Add author_headline to post, comment docs and update them when headline is changed (#1418)
- Use iterator when retrieving profiles (#1428)
- Fix login page button label
- Always align sort menu to right (#1416)
- Storybook updates for post and comment (#1396)
- Add post_slug to post and comment docs in Elasticsearch index (#1412)
- Index user profiles in Elasticsearch (#1373)
- Fixed channel header layout on mobile
- Fixed signup page UI issues
- Allow link type posts to be pinned
- Use word-break css on anchor tags in expanded post displays. (#1393)
- Fix placement of reported comment dropdown (#1394)
- Fix underline for compact post display title
- Revert "Added hover highlight on post card" (#1390)
- Fixed error when trying to use confirmation link a second time
- Fixed register API for existing MM users
- Channel design updates
- Fixed template context for email confirmation emails
- Add REST API for search (#1377)
- Configuration for black code formatter
- Implement new pinned post UI
- Added fixes for email template font issues
- Add URL validation to create post form, fix issue with cancel button
- Fix styling of intro card on small phones
- 'Open Discussions' -> 'Open Learning' (#1355)
- add checkbox to PR template for mobile screenshots (#1362)
- Split posts and comments into separate Elasticsearch indices (#1341)
- Added a screenshots section to PR template (#1348)
- Hide useless asteroid warnings when running tests (#1340)
- Added hover highlight on post card
- Third pass of email templates
- Fix spacing for top of channel loading animation
- dang buttons
- Added new authentication class to ignore expired JWTs
- Upgrade react, react-dom to latest
- Link and button styling changes
- Change the message shown in the image upload dialog box
- Added home page intro cards for logged in and anonymous users (#1268)
- Add moment as a dependency
- Fixes the dialog buttons submitting the form
- Channel-specific analytics should trigger on direct URL load (#1315)
- Shorten menu options (#1303)
- Install storybook and set up a few basic stories
- Fixed the --name arg to the set_channel_allow_top command
- Added login popup/tooltip to drawer compose button
- Styling tweaks for CompactPostDisplay
- Move edit icon to channel banner, add gradient for readability
- Fixed anonymous user signup prompt for post upvote button
- Updated login tooltip prompt for anon users
- Bumped django version
- Fix styling issues on channel members tab
- Added support for next param
- Refactored form update logic on post creation page
- Added support for conditional logo
- Added base_url to password reset email
- Sort channels alphabetically (#1286)
- Replace underscores with dashes in post slugs (#1279)
- Fix issue with z-index on mobile drawer
- Replace percent with viewport dimensions (#1285)
- Revert "Added support for next param"
- Added support for next param
- update remove post dialog message to better match behavior (#1283)
- Removed JWT logic and made login url conditional on email auth flag
- Fix author line display on post page
- Tweaks for channel settings page
- Avoid squeezing snackbar message at narrow widths (#1282)
- Updated email templates and added mail debugger
- Fix auth card widths on various screen sizes
- Show post type buttons after switching channels if empty (#1248)
- Hid social sharing buttons for private channel comments
- Remove "Show thread" from comment dropdown (#1239)
- Fixed styling for incomplete profile indicator
- Fixed scrollbar-on-hover for the drawer
- Fix appearance of quoted text in post body
- Make MIT logo in <Footer /> a link
- Enabled scrollbar-on-hover behavior for the drawer
- Convert "days ago" text to post/comment link (#1234)
- a few CSS fixes
- Increased comment text size
- Increased size of upvote & comment icons
- Add channel header, title, headline to channel page
- Fixed login button width for narrow widths
- remove 'MicroMasters' from community guidelines (#1174)
- ## Reports instead of Reported ## times (#1229)
- Changed HTTP response error handling to behave like form validation
- Show LoginPopup in comment textarea via focus/change events (#1220)
- fix issue with comment share URL
- Updated top nav styling
- Simplify exception handling for emails (#1206)
- Fix line-break issue in the navigation sidebar
- Added privacy policy and TOS
- Prevent comment dropdown menu from hovering over top bar
- Grouped channel post view tests together w/ common test scenario, other refactors
- Better handling of non-existent channels (#1184)
- Added new (unused as of yet) feature flag for branding changes (#1178)
- Allow reddit errors to fail user creation
- fix small style regression
- Add description to basic channel form (#1199)
- Site redesign
- Always show current user at top of mods list (#1191)
- Refactored tests and added pytest-lazy-fixture
- Added random channel avatars and script to generate them
- Add subscriber when a moderator adds another moderator (#1190)
- Move channel moderation page (#1183)
- Added banner message for PSA error messages
- Add tests for ChannelModerationPage, fix remove post error (#1176)
- Validate a new link post URL before calling embedly (#1180)
- Added empty post loading animation when posts are being loaded
- Extract correct channel name from edit pages (#1175)
- Don't show an error page if comment posting fails (#1165)
- Recaptcha for new signups (#1159)
- Implement infinite scroll (#1104)
- Fix image uploads on Edge and iOS (#1155)
- Added link tags with rel=canonical to improve SEO and analytics
- LoginPopup for comment reply buttons and post reply form (#1131)
- Added back button to login pages
- Add title and headline fields to edit channel appearance page (#1148)
- fix app.json
- Add handling for AuthorizationFailed on expired JWTs
- create new helper function for simple component tests
- Added command and tasks to backpopulate a default channel's subscribers
- Add Raven.js (#1142)
- Configured login flow to show greeting for external auth providers
- Fixed overflow scrolling to only be vertical
- Use material dropdown instead of browser-native select
- Changed API to pass allow_top and added mgmt command to update it (#950, #948)
- Upgrade to Babel v7
- Fixed incorrect password UI bug
- Swapped order of authentication classes
- LoginPopup for Follow button (#1106)
- remove some CSS which was creating another scrolling issue
- update comment UI for new designs
- Revert "Replace withLoading with Loading component (#1111)"
- Fix sidebar scrolling
- Replace withLoading with Loading component (#1111)
- Switch over to the material grid
- Make home link full width (#1108)
- Show snackbar when user adds/removes a moderator/contributor (#1099)
- Login popup for anonymous user vote buttons on post detail page (#1102)
- Move footer into sidebar (#1089)
- Add channel avatar to sidebar (#1082)
- Add support for editing posts with the <Editor /> component
- Upgrade dependencies
- Add avatar_small and avatar_medium (#1086)
- Upgrade to Django 2.0 (#1092)
- Show domain and link icon next to title of link post (#1090)
- Implement WYSIWYG editor for Posts
- Use embedly image api to resize thumbnails in Embedly component (#1083)
- Banner message if creating a post on reddit fails (#1055)
- Remove IS_OSX since it's unnecessary with Docker for Mac (#1079)
- Fix profile image upload bug (#1081)
- Made JWT redirect conditional on non-expired JWT
- Update edit profile form to match Invision design (#1073)
- Remove edit button from profile image on profile view page (#1071)
- Add upload_to to banner and avatar (#1070)
- Implement uploading channel avatar and banner (#983)
- Updated staff permission to check user.is_staff for authenticated users
- Added well-named urls to urls.py
- fix typo in error log (#1021)
- Changed login UI to show image & name when email entered
- Enable channel-specific google analytics tracking (#1019)
- Display author headline near name on post cards, limit length of headline text (#1030)
- Fixed contributor and moderator factories for username collisions
- Silence warning with empty profile fields (#1044)
- Fixed snackbar UI bugs
- Login button on header
- Move container level form code out of ProfileImage (#1031)
- Added WrappedComponent to our HOCs and taught the helper render how to traverse them
- Changed unrecognized email UX to a validation message
- Improvements to moderator/contributor UI (#1024)
- Added redirect to MM on login
- Added redirect for new JWT tokens to /complete/provider
- Fixed indent in PR template
- Added some PR template checkboxes
- Add can_remove field to serializers (#1017)
- Added a setting to change the default for feature flags
- Added API change to support prompting the user to login via MM
- Touched up account settings UI and added SAML auth type
- Add links to profile to comment, post displays
- Hide comment section header when post has no comments
- Notify user via snackbar when URL is copied
- Set snackbar message when posts/comments are followed/unfollowed
- Add avatar and banner fields to serializer and models (#996)
- Use urls with post slugs in emails (#1009)
- Update the urlHostname function to remove www. from beginning of domains (#1014)
- fix profile dot location, user menu click area
- Fix save, cancel button alignment (#991)
- Profile image improvements - generate initials png avatars and use as default url via gravatar API (#975)
- fix rich embed display width
- Updated user api to create social auth if provider_username is present
- Refactor profile upload to use withForm (#978)
- Added banner component and changed "email sent" snackbar notification to use it
- Display link post thumbnails in list view (#956)
- Removed email suggestion
- Implement adding and removing moderators and contributors (#916)
- Added login & signup links to the signup & login pages
- Save embedly thumbnail URL's (#944)
- Fix a bug with the create post page
- Filter out indexing user from moderator and contributor lists (#958)
- Allow readonly contributor view for moderators for managed channels (#962)
- Add membership notice and alert tab visibility based on channel type (#955)
- Release date for 0.37.1
- General page layout tweaks
- Support confirming email on a different device/browser
- Fix adding contributors and moderators by email (#953)
- Tweak embedly display
- Release date for 0.37.0
- Refactor moderator and contributor forms (#941)
- Implement adding contributors and moderators by email (#946)
- Check on server that channels are not managed before letting users moderate them (#940)
- make post body optional (frontend work)
- Rename /register -> /signup
- Make touchstone button & MIT email invalidation contingent on FEATURE_SAML_AUTH flag (#920)
- Added command to backpopulate social auth
- Refactor user create code and create social auth record for MM users
- Don't silence 403 status for reddit moderator API (#939)
- Remove duplicates when adding a new moderator or contributor (#914)
- Add readonly moderator and contributor tabs (#906)
- Fix flow issues with component prop typing
- Added password change UI
- Make text post body optional (#910)
- Fixed password reset UI and refactored redirect/load logic
- Add functions to add and remove moderators and contributors (#913)
- Implement new submit post design
- Add reducer and API function for contributors (#902)
- Make contributors API moderator-only and add moderator-only serializer for contributors (#898)
- Don't fetch from moderators list to check whether user is mod (#901)
- Change sandbox.create to createSandbox (#904)
- a few small CSS tweaks
- Description metatag (#884)
- Touchstone login UI (#895)
- Add membership field to Channel and REST API serializer (#881)
- Hide user menu if user is not logged in
- Added logout url back in after accidental removal
- Upgrade javascript dependencies (#863)
- Added password reset UI
- Replace 'channel' with 'c' in URLs, redirect old URLs to new ones (#876)
- Add scss to our fmt commands for prettier
- Update post detail page to new design
- Remove KEEP_LOCAL_COPY feature flag (#879)
- Include reddit slug in post/comment URLs (#873)
- Scope fixed-width form styles to auth pages
- Added login/register UI
- Add UI to edit post types (#852)
- Added link url to search serializer
- Hide post button for channels not allowing it (#857)
- Add preventDefault to toolbar click handler (#862)
- Redesign post listing
- Remove a flow workaround
- fix 'submit post' button color
- Add UI for editing channel types (#846)
- Use gravatar for new profiles without images (#848)
- Added and updated APIs to support DRF-based social auth
- Pin dockerfile pytohn version to 3.6.4
- fix profile url (#849)
- View/edit profile (#828)
- Add autouse fixture to prevent requests from executing during tests (#822)
- Use feature flag to determine whether to show profile incompleteness red dot (#838)
- Delete indices one by one to avoid use of _all (#829)
- Fix a layout bug on the channel page
- Add models to store id information for posts, channels and comments (#742)
- Refactored Elasticsearch serializers to use DRF post/comment serializers
- Update drawer and toolbar layout!
- Profile image uploader (#816)
- Added channel API middleware and moved channel API imports out of serializers
- Fix silly bug with embedly display
- Fix logging of errors and exceptions to sentry (#813)
- Add a fancy loading animation to link posts
- Require uwsgi to honour stdin locally for debugging
- Fixed locally failing lint
- Set requestedAuthnContext to False (#810)
- Add required environment variables to app.json (#808)
- Added user full name to ES document
- Add MAILGUN_SENDER_DOMAIN to app.json so it gets used by review apps (#807)
- Form utilities
- X-Forward settings (#804)
- Nginx headers for Touchstone (#803)
- Minor serializer test refactor
- Added ES comment document indexing
- Backend modifications for resizing an uploaded image (#729)
- Fix comment serialization error, Celery error handling (#782)
- apt buildpack should be first (#800)
- Add security config and entityID setting (#797)
- Fixed id assignment during indexing
- Fixed faulty downvote logic and added tests
- Refactored lib/auth*.js files
- Update to latest version of React and a few other packages
- Remove authentication requirement for viewing SAML metadata (#773)
- Remove redundant profile image and move 'incomplete' dot
- Fix iframe styling issue
- Fix link post creation preview message bug
- Red dot next to incomplete profiles (#712)
- Fix for non-breaking code text in discussions (#753)
- Aptfile for heroku (#756)
- SAML login support (#735)
- Fix issue with twitter embeds
- Fix heroku deploy (#752)
- Update some JS linting and code formatting dependencies
- Add management command to index comments and posts (#651)
- Add a user menu in the upper right
- Use keyword so post_link_url won't be tokenized (#737)
- Refactored authentication code to its own app
- Add tooltip for anonymous users for the voting buttons
- embedly styling (#715)
- Added jwt/micromasters python-social-auth backends
- Profile ImageFields (#708)
- Add a unique CSS class for every page in the app
- Fix issues with html returned from Embed.ly link type
- Hide the comment reply form if the user is anonymous
- Fix bug related to fetching subscriptions in App.js
- Hide the reply and follow buttons if the user is anonymous
- Enable anonymous acces to the embedly API
- Added login/register via email
- Added Elasticsearch document and added indexing handlers for posts
- Increased uwsgi buffer size
- Hide the report button for anonymous users
- Additions to Profile model and DRF API (#695)
- Hide settings and post link for anons
- Add a link preview to the link post creation screen
- README for OSX without docker-machine (#698)
- Add Zendesk widget
- Add embedly frontend code
- Don't HTML escape subject lines for frontpage emails
- Simplified layout for notification email (#661)
- Upgrade celery (#652)
- Added handling for praw errors in email notifications
- Update frontend to allow anonymous access (#629)
- Don't run celery on Travis (#648)
- Add empty search Django app and elasticsearch Docker container (#645)
- Allow access for anonymous users to see moderator list (#627)
- Handle anonymous access for frontpage and posts (#628)
- Add API for embedly
- Fixed race condition with NotificationSettings trigger_frequency
- Handle anonymous users for comments (#621)
- Remove email_optin logic (#631)
- Allow anonymous access for channels (#626)
- Post / Comment follow settings UI
- Add post and comment follow buttons
- Fix failing test
- Add missing environment variable for Travis (#622)
- Added comment notifications
- Fix some style issues with outlook
- Add error page for 403 error
- Setup Cloudfront for serving static assets
- Fixed safe_format_recipients to quote display name
- Adds a read more button to digest email (#594)
- changing logo in micromasters digest emails (#591)
- Add a link, in the sidebar, to the Settings page
- Fix missing profile picture in email
- Fix 401 auth errors (#579)
- Some small font, margin, and profile image size tweaks (#580)
- Changed digest email subject line and other small changes (#578)
- Fixes some layout issues with the email template (#574)
- Fixed shrinking profile images in discussions (#571)
- Add the 'remove post' button to the channel view
- Ensure new users get the default NotificationSettings
- Fix settings page
- Added email tasks to crontab
- Fixed issue with request KeyError on email send
- Fixed query error on populate command
- Added model and API to subscribe to comments and posts
- Updated populate_notification_settings to add for comments and respect email_optin
- Added responsive frontpage email
- Added cancelation and better error handling to email sending
- Upgrade Django to 1.11, other upgrades (#530)
- Fixed celery log levels with sentry
- Fix travis errors
- Add the current user's name and profile image
- Refactored and added user_activity middleware
- Add settings page for adjusting notification prefs
- Added frontpage digest email tasks (#460, #461)
- Fix calculation of loaded and notFound on the post page
- Add report links to frontpage and channel page
- Updated UI and views to use AuthenticatedSite (#444)
- A little renaming
- Added stateless token auth to notification settings api
- Add the material radio component
- Proposed design for email notifications
- Added notifications settings (#459)
- Add more details to the README on env. settings and integration with MicroMasters
- fix comment permalink 404 issue
- Added report counts to report page (#495)
- Fix 403 error on post page (from moderator API)
- Added mail app supporting sending of emails (#449)
- Add preventDefault wrapper to report post dialog
- Fix error with non-moderators editing posts
- Added Site models (#444)
- Fixed error page on comment error (#477)
- Fix non-moderator comment editing
- Add profile image to CompactPostDisplay
- Omit status check for code coverage to prevent blocking of deploys (#479)
- Automatically render plain URLs in Markdown as <a> tags
- Add comment sorting UI
- Add channel moderation page
- Added email and email_optin fields to user API (#447)
- add UI for choosing post sort method
- Updated post/comment APIs to enable ignoring future reports (#427)
- Add comment permalinks
- Added Comment sort api
- Added report counts to post/comment serializers (#432)
- Added sorting to posts and frontpage APIs (#192)
- Add a footer
- Added API for listing reported content (#398)
- Fixes spacing with upvote arrows being too close together (#428)
- Add a 404 message to the channel page
- Added post/comment reporting UI (#235)
- Add check_pip.sh (#419)
- Add a 404 page for Posts
- Added api to report posts and comments (#197)
- Have update-docker-hub update local dockerfiles (#418)
- Refactored channels/views*.py into separate modules
- Fixed loading spinner on channel page
- Changed public_description to be optional on channel creation
- Css tweaks to community guidelines page (#409)
- Upgrade node.js version to 9.3 ⬆️
- Added user comment deletion
- Pin astroid to fix pylint issue (#406)
- Some dependency upgrades
- Add user post deletion
- Added comment removal UI
- Add support for dealing with dialogs in the UI reducer
- install the mdl-react-components package
- fix for url breaking layout problem (#394)
- upgrade the hammock package
- Added comment removal API
- Fix post pinning issue
- Add UI for pinning posts
- Refactored CommentTree to make it classy
- Added UI to remove posts as a moderator
- Make stickied not required (#378)
- Add spinner for Load more comments link (#371)
- Added editing of channel description
- fixed styling of channel page (#360)
- Add pinning support to post API
- Comments pagination (#298)
- Fix field name for channel description (#366)
- Added requests for channel moderators
- s/self/text/ on guidelines page
- Add post editing
- Fix channel navigation error
- Add 'edited' boolean to Post and Comment APIs
- Change copy for content guideline rules
- Updated posts API to handle remove moderation
- Default to empty description for new channel if not provided (#349)
- Fixed regression in CSS for new post page (#346)
- Added channel description to API and UI
- Add comment editing UI
- Added content policy page (#314)
- Remove iflow-lodash, add flow-typed (#339)
- Add subreddit title to the API and frontend
- Split the PostDisplay component into two separate components
- Switched factories to class-based model and added created field
- Stabilized factory serialization
- Refactored User/Profile factories to be UserFactory-centric
- Added factories for reddit objects
- Handle Forbidden exception (#293)
- Refactor docker-compose layout (#324)
- Monkey patch prawcore's rate limit to not limit
- Use application log level for Celery (#313)
- Handle ALREADY_MODERATOR error (#292)
- Use ExtractTextPlugin to split CSS into separate file (#300)
- Mark AWS environment variables as not required (#312)
- Use try/finally in context managers (#311)
- Add https to placeholder
- Set focus on comment reply forms, add key combo to submit
- Bump psycopg version to 2.7
- Refactor betamax cassette code to automatically create cassettes (#305)
- Use yarn install --frozen-lockfile (#303)
- Added caching for refresh and access tokens
- Switched to static reddit OAuth for local
- Add the domain after the tile for URL posts
- Fix a bug with the MDC Drawer component
- Added docs with gh-pages style.
- Added a setting for the JWT cookie name
- Highlight current channel in the nav sidebar
- Add validation when creating a post and make 'title' field a textarea
- Limit max depth of comments (#284)
- Add MicroMasters link to toolbar (#259)
- Smaller avatars in comments section (#277)
- Fix root logger location (#266)
- Added pagination for frontpage (#199)
- Add check for presence of mailgun variables (#249)
- Fixing problems for realease
- Make public_description not required when creating a channel (#254)
- Numerous small tweaks to UI (#252)
- Upgrade eslint config (#260)
- Move collectstatic into docker-compose to match cookiecutter (#250)
- Fix issue w/ comment submit button being disabled during upvoting
- Fix logging configuration (#242)
- Added page for users who aren't logged in (#225)
- Tweaks to post display byline
- Small refactor to discussion flow types
- Add profile name to comment, post APIs
- Update URL in place instead of adding a new URL when new channel is selected (#224)
- Fix the channel select when creating posts in firefox
- Added flag to not check for praw updates
- Set document title
- Fix linting erros (#217)
- Mark posts and comments with missing users as deleted (#198)
- Change is_subscriber to return correct result if the user is a subscriber but not a contributor to a private channel (#189)
- Add script to import models for Django shell (#205)
- switch to using common eslint package
- Added access token header and settings (#164)
- Fix a little npm run fmt error
- set eslint prefer-const rule and fix violations
- Change create post form to have a channel select dropdown
- Add CORS whitelist
- Only redirect to auth on a 401 response (#182)
- Added add/remove subscriber
- Prevent submission of empty posts
- Disable submit buttons when requests are in flight
- Get scroll behavior on page transitions to work in the normal way
- Responsive tweaks to Profile image and comment layout (#173)
- Remove error when clicking 'cancel' on create post page
- Add profile image to post + comment serializers and to UI
- Added JWT session renewal
- Fixed app.json to not require S3