-
Notifications
You must be signed in to change notification settings - Fork 3
Release 0.30.7 #2091
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 0.30.7 #2091
Conversation
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update dependency @mui/lab to v6.0.0-beta.28 * update lockfile --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: shankar ambady <[email protected]>
* Update dependency @sentry/nextjs to v9 * update lockfile --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: shankar ambady <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update dependency @dnd-kit/sortable to v10 * updating lockfile --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: shankar ambady <[email protected]>
* workaround for mui select focusVisible issue tmp * use legend for checkboxfield overall description * make focus outlines a bit more visible * add a comment about the typecasting
* Fix SCIM view tests * Fix user migrations for scim fields
* add MITOL_LOGOUT_SUFFIX to github actions * add dockerfile build arg * fix typo
* switch to using next_run * adding test * adding fallback for missing next runs * adding test * checking published * fixing test flakiness
* serialize contentfiles like we do with learning resources * fixing contentfile serialization * optimize loop and data fetch Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * fixing n+1 queries * adding block id to embedded metadata * adding block id as filter parameter * regenerate spec * fixing test: * some consolidation --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* make LinkAdapter use shallow * tie AskTim to drawer query param * display syllabus chat based on query param
* fix: env based _JAVA_OPTIONS for opensearch container
dba49c5
to
d69a09e
Compare
|
GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
---|---|---|---|---|---|
13777606 | Triggered | Generic Private Key | 131c04e | config/keycloak/tls/tls.key.default | View secret |
13777608 | Triggered | Generic High Entropy Secret | 131c04e | config/keycloak/realms/default-realm.json | View secret |
13777609 | Triggered | Generic Password | 131c04e | config/keycloak/realms/default-realm.json | View secret |
13777610 | Triggered | Generic High Entropy Secret | 131c04e | config/keycloak/realms/default-realm.json | View secret |
10259317 | Triggered | Generic Password | 131c04e | docker-compose.services.yml | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secrets safely. Learn here the best practices.
- Revoke and rotate these secrets.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hello @odlbot, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
Summary of Changes
This pull request represents a release (0.30.7) that includes a variety of fixes, updates, and improvements across the MIT Learn platform. Key areas of focus include accessibility enhancements, SCIM user management, APISIX integration, and dependency updates. Several configuration files and workflows have been modified to reflect these changes.
Highlights
- APISIX Integration: Introduces APISIX as an API gateway, including configuration files and documentation for local Keycloak/APISIX setup.
- SCIM User Management Fixes: Addresses issues related to user search URLs, user migrations, SCIM view tests, and SCIM API sort and pagination.
- Dependency Updates: Updates several dependencies including
@dnd-kit/sortable
,@sentry/nextjs
,@mui/lab
, andtldextract
. - Workflow Improvements: Modifies CI and production workflows to remove the 'next' prefix from the app origin and add
MITOL_LOGOUT_SUFFIX
to GitHub Actions. - Opensearch Container Fixes: Fixes environment variable-based
_JAVA_OPTIONS
and ARM64 architecture compatibility for the Opensearch container.
Changelog
Click here to see the changelog
- .github/workflows/ci.yml
- Removes the 'next' prefix from the ORIGIN environment variable.
- .github/workflows/production.yml
- Updates the
akhileshns/heroku-deploy
action to a new digest. - Adds
MITOL_API_LOGOUT_SUFFIX
to the environment variables. - Adds
NEXT_PUBLIC_MITOL_API_LOGOUT_SUFFIX
as a build argument.
- Updates the
- .github/workflows/release-candidate.yml
- Updates the
akhileshns/heroku-deploy
action to a new digest. - Removes the 'next' prefix from the ORIGIN environment variable.
- Adds
MITOL_API_LOGOUT_SUFFIX
to the environment variables. - Adds
NEXT_PUBLIC_MITOL_API_LOGOUT_SUFFIX
as a build argument.
- Updates the
- .pre-commit-config.yaml
- Excludes keycloak TLS and realm configuration files from pre-commit checks.
- .secrets.baseline
- Excludes keycloak TLS files from secret scanning.
- Dockerfile
- Changes
mkdir
tomkdir -p
for staticfiles to ensure parent directories are created if they don't exist.
- Changes
- Dockerfile-litellm
- Removes the Dockerfile for litellm.
- README-keycloak.md
- Adds documentation for Keycloak and APISIX integration, including default settings and instructions for making it work.
- RELEASE.rst
- Adds release notes for version 0.30.7, summarizing the changes included in this release.
- config/apisix/apisix.yaml
- Adds configuration file for apisix.
- config/apisix/config.yaml
- Adds configuration file for apisix.
- config/apisix/debug.yaml
- Adds configuration file for apisix.
- config/keycloak/providers/README.md
- Adds a README file for keycloak providers.
- config/keycloak/realms/default-realm.json
- Adds a default realm configuration for Keycloak, including users, roles, and clients.
- config/keycloak/tls/README.md
- Adds a README file for keycloak TLS configuration.
- config/keycloak/tls/tls.crt
- Adds a TLS certificate file for keycloak.
- config/keycloak/tls/tls.crt.default
- Adds a default TLS certificate file for keycloak.
- config/keycloak/tls/tls.key
- Adds a TLS key file for keycloak.
- config/keycloak/tls/tls.key.default
- Adds a default TLS key file for keycloak.
- config/litellm_config.yml
- Removes the config file for litellm.
- config/postgres/init-keycloak.sql
- Adds SQL script to create the keycloak database.
- docker-compose.litellm.yml
- Removes the docker-compose file for litellm.
- docker-compose.opensearch.base.yml
- Adds environment variable based _JAVA_OPTIONS for opensearch container.
- docker-compose.services.yml
- Adds keycloak and apisix services, including environment variables, ports, and volumes.
- Adds postgres volume config.
- Removes restart policy for qdrant.
- docker-compose.yml
- Adds env files for docker compose.
- env/backend.env
- Changes MITOL_COOKIE_NAME from discussions to mitlearn.
- env/backend.local.example.env
- Adds APISIX/Keycloak settings and _JAVA_OPTIONS for Opensearch container.
- env/frontend.env
- Adds NEXT_PUBLIC_MITOL_API_LOGOUT_SUFFIX.
- env/shared.env
- Adds MITOL_API_LOGOUT_SUFFIX, NGINX_PORT, APISIX_PORT, KEYCLOAK_PORT, and KEYCLOAK_SSL_PORT.
- Provides example of apisix and keycloak settings.
- env/shared.local.example.env
- Adds MITOL_NEW_USER_LOGIN_URL.
- frontends/api/src/generated/v0/api.ts
- Adds edx_block_id as a parameter to the VectorContentFilesSearch API.
- frontends/main/Dockerfile.web
- Adds NEXT_PUBLIC_MITOL_API_LOGOUT_SUFFIX as an environment variable.
- frontends/main/package.json
- Updates @sentry/nextjs dependency to v9.
- frontends/main/src/app-pages/ChatPage/ChatPage.tsx
- Adds credentials: 'include' to the fetch request.
- frontends/main/src/app-pages/ChatSyllabusPage/ChatSyllabusPage.tsx
- Adds credentials: 'include' to the fetch request.
- frontends/main/src/app-pages/DashboardPage/DashboardPage.tsx
- Adds focus-visible styling to the tabs container.
- frontends/main/src/common/metadata.ts
- Updates import to use RESOURCE_DRAWER_PARAMS instead of RESOURCE_DRAWER_QUERY_PARAM.
- frontends/main/src/common/urls.ts
- Adds MITOL_API_LOGOUT_SUFFIX and updates LOGOUT URL.
- Updates RESOURCE_DRAWER_QUERY_PARAM to RESOURCE_DRAWER_PARAMS and adds RECOMMENDER_QUERY_PARAM.
- frontends/main/src/page-components/AiChat/AiChatWithEntryScreen.tsx
- Adds data-testid to the entry screen.
- frontends/main/src/page-components/AiChat/AiRecommendationBotDrawer.tsx
- Refactors AiRecommendationBotDrawer to use RoutedDrawer and adds credentials: 'include' to the fetch request.
- frontends/main/src/page-components/AiChat/AskTimDrawerButton.test.tsx
- Adds tests for AskTimDrawerButton.
- frontends/main/src/page-components/AiChat/AskTimDrawerButton.tsx
- Refactors AskTIMButton to use ButtonLink and update URL parameters.
- frontends/main/src/page-components/LearningResourceDrawer/LearningResourceDrawer.test.tsx
- Adds tests for LearningResourceDrawer.
- frontends/main/src/page-components/LearningResourceDrawer/LearningResourceDrawer.tsx
- Updates LearningResourceDrawer to use RoutedDrawer and handle chat expansion based on URL parameters.
- frontends/main/src/page-components/LearningResourceDrawer/useResourceDrawerHref.ts
- Updates useResourceDrawerHref to use RESOURCE_DRAWER_PARAMS instead of RESOURCE_DRAWER_QUERY_PARAM.
- frontends/main/src/page-components/LearningResourceExpanded/AiChatSyllabusSlideDown.test.tsx
- Adds tests for AiChatSyllabusSlideDown.
- frontends/main/src/page-components/LearningResourceExpanded/AiChatSyllabusSlideDown.tsx
- Refactors AiChatSyllabusSlideDown to use props for open state and toggle function and adds credentials: 'include' to the fetch request.
- frontends/main/src/page-components/LearningResourceExpanded/LearningResourceExpanded.test.tsx
- Adds tests for LearningResourceExpanded.
- frontends/main/src/page-components/LearningResourceExpanded/LearningResourceExpanded.tsx
- Updates LearningResourceExpanded to handle chat expansion and adds a useEffect hook to manage URL parameters.
- frontends/ol-components/package.json
- Updates @dnd-kit/sortable and @mui/lab dependencies.
- frontends/ol-components/src/components/Checkbox/Checkbox.tsx
- Adds focus outline styling to checkbox.
- frontends/ol-components/src/components/Checkbox/CheckboxChoiceField.tsx
- Adds a label to the CheckboxChoiceField.
- frontends/ol-components/src/components/Link/Link.tsx
- Removes BaseLink and updates Link to use LinkAdapter.
- frontends/ol-components/src/components/LinkAdapter/LinkAdapter.tsx
- Adds LinkAdapter component for handling shallow routing.
- frontends/ol-components/src/components/RoutedDrawer/RoutedDrawer.tsx
- Adds documentation for RoutedDrawer.
- frontends/ol-components/src/components/SelectField/SelectField.test.tsx
- Adds tests for Select component.
- frontends/ol-components/src/components/SelectField/SelectField.tsx
- Adds pointer-open class to menu when opened via pointer.
- frontends/ol-components/src/components/SimpleSelect/SimpleSelect.tsx
- Removes display: none MenuItem.
- frontends/ol-components/src/components/ThemeProvider/ThemeProvider.tsx
- Updates ThemeProvider to use LinkAdapter.
- frontends/ol-utilities/package.json
- Updates @dnd-kit/sortable dependency.
- learning_resources/models.py
- Updates for_serialization to prefetch related objects for runs.
- main/factories.py
- Adds scim_external_id and scim_username to UserFactory.
- main/middleware/apisix_user.py
- Adds ApisixUserMiddleware for handling APISIX-specific headers.
- main/middleware/apisix_user_test.py
- Adds tests for apisix middleware.
- main/settings.py
- Updates VERSION to 0.30.7 and adds ApisixUserMiddleware to MIDDLEWARE.
- Adds Keycloak API settings.
- openapi/specs/v0.yaml
- Adds edx_block_id as a parameter to the VectorContentFilesSearch API.
- poetry.lock
- Updates dependencies in poetry.lock.
- profiles/admin.py
- Removes scim_id, scim_username, and scim_external_id from ProfileAdmin.
- profiles/forms.py
- Removes scim_id, scim_username, and scim_external_id from ProfileForm.
- pyproject.toml
- Updates tldextract dependency.
- scim/adapters.py
- Updates SCIMUser adapter to use User model fields instead of Profile fields.
- scim/urls.py
- Adds re_path for users-search.
- scim/views.py
- Adds SearchView for /.search endpoint.
- scim/views_test.py
- Adds tests for SCIM user search and updates tests to use User model fields instead of Profile fields.
- users/admin.py
- Adds UserAdmin for User.
- users/migrations/0004_add_scim_and_timestamp_fields.py
- Adds scim and timestamp fields to User model.
- users/migrations/0005_set_user_scim_id.py
- Adds migration to set user SCIM ID.
- users/models.py
- Updates User model to inherit from AbstractSCIMUserMixin and TimestampedModel.
- vector_search/constants.py
- Adds edx_block_id to QDRANT_RESOURCE_PARAM_MAP and QDRANT_CONTENT_FILE_PARAM_TYPE_MAP.
- vector_search/serializers.py
- Adds edx_block_id to ContentFileVectorSearchRequestSerializer.
- vector_search/tasks.py
- Updates start_embed_resources and embed_learning_resources_by_id to use next_run or latest run for content files.
- vector_search/tasks_test.py
- Adds tests for embedded content from next run and latest run if next is missing.
- vector_search/utils.py
- Adds edx_block_id to _process_content_embeddings and updates _content_file_vector_hits to include all Contentfile metadata to chunk responses.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command>
or @gemini-code-assist <command>
. Below is a summary of the supported commands.
Feature | Command | Description |
---|---|---|
Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/
folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Trivia time!
What is the primary purpose of SCIM (System for Cross-domain Identity Management)?
Click here for the answer
SCIM is designed to simplify user provisioning and deprovisioning across different systems and applications, ensuring consistent identity management.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request updates the version number in the release notes and settings file. The changes are straightforward and seem correct.
Merge Readiness
The pull request is ready to be merged. The changes are simple and directly address the version update. I am unable to directly approve the pull request, and users should have others review and approve this code before merging.
Chris Chudzicki
Arslan Ashraf
Nathan Levesque
Shankar Ambady
Matt Bertrand
renovate[bot]