A week in Openverse: 2024-09-09 – 2024-09-16

openverse

Merged PRs

APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • #4538: Add low-level TS API client with generated types
  • #4889: Fix unbound access of `log` (when the captured exception is a timeout)
  • #4891: Ensure correct API usage for frontend related media requests
  • #4892: Log when API client apps authorize
  • #4898: Publish changelog for api-2024.09.09.05.40.22

Catalog

  • #4785: Raise exception for misclassified items in MediaStore and get filetype from Wikimedia's API
  • #4886: Create S3 client for smart_open from session
  • #4897: Update dependency apacheApache Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation. Apache is an Open Source software available for free.-airflow to v2.10.1 [SECURITY]
  • #4900: Add catalog changelog

Documentation

  • #4538: Add low-level TS API client with generated types
  • #4841: Re-add Storybook
  • #4866: Update to Vale 3 and refactor setup in light of ov
  • #4876: Update i18n packages
  • #4895: Publish changelog for ingestion_server-2024.09.09.05.40.20
  • #4896: Publish changelog for frontend-2024.09.09.05.40.19
  • #4898: Publish changelog for api-2024.09.09.05.40.22
  • #4900: Add catalog changelog

Frontend

  • #4538: Add low-level TS API client with generated types
  • #4841: Re-add Storybook
  • #4876: Update i18n packages
  • #4891: Ensure correct API usage for frontend related media requests
  • #4896: Publish changelog for frontend-2024.09.09.05.40.19
  • #4903: Refactor k6 development environment to prepare for regular runs in CD
  • #4913: Set `dark_mode_ui_toggle` to on by default
  • #4914: Rename all snapshots to "light"
  • #4921: Implement inverted CC icons for dark mode

Ingestion Server

  • #4895: Publish changelog for ingestion_server-2024.09.09.05.40.20

Management

  • #4841: Re-add Storybook
  • #4866: Update to Vale 3 and refactor setup in light of ov
  • #4899: Make PDM available when linting in release app
  • #4903: Refactor k6 development environment to prepare for regular runs in CD

Closed issues

API

  • #4888: UnboundLocalError: cannot access local variable 'log' where it is not associated with a value

Catalog

  • #4717: Image table contains `.ogv` videos
  • #4894: <Replace this with actual title>

Frontend

  • #4563: Improve display of sensitive images on search result views
  • #4728: Re-add Storybook and re-enable Storybook tests
  • #4890: API token is not sent for related endpoint requests by the frontend
  • #4909: Include a dark version of CC license icons

Management

  • #3883: Update Vale to 3.x

openverse-infrastructure

Merged PRs

API

  • #1037: Rate limit subset of API routes

Catalog

  • #1035: Add IAM permissions for all ES CPU alarms to Airflow instance profile
  • #1042: Bump airflow

Infra

  • #1032: Use boot-time downloaded environment files on immutable EC2 instances
  • #1034: Update action versions for deployment workflows
  • #1037: Rate limit subset of API routes
  • #1038: Configure AWS <-> Grafana integration
  • #1044: Add Grafana K6 token to GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/; remove unused secrets from monorepo
  • #1045: Add back accidentally removed GH-SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. username secret
  • #1046: Stop using shared Cloudflare credentials in Terraform

Ingestion Server

  • #1039: Bump ingestion server to ingestion_server-2024.09.09.05.40.20

Management

  • #1034: Update action versions for deployment workflows

Closed issues

API

  • #1000: Rate limit subset of API routes not used by browser clients in Cloudflare

Infra

  • #667: Migrate to a modern Elasticsearch monitoring collection tool
  • #967: Upgrade Plausible to enable Stats API
  • #1033: Remove ignored properties in deployment script
  • #1036: Import ES 90% CPU alarm into Terraform

#openverse, #week-in-openverse

A week in Openverse: 2024-09-02 – 2024-09-09

openverse

Merged PRs

APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • #4854: Update `ContentSource` to match `MediaMixin`
  • #4875: Fix handful of networking issues including silence errors
  • #4877: Publish changelog for api-2024.09.06.08.57.05

Catalog

  • #4836: DAG for generating and inserting Rekognition labels
  • #4857: Increase Science Museum backoff timeout from 2 minutes to 30 minutes
  • #4858: Added 90% ES CPU alarms to those disabled for the data refresh
  • #4861: Publish changelog for catalog-2024.09.04.19.31.19
  • #4867: Remove retired DAGs from the codebase
  • #4872: Make `additional_where` optional for batched update

Documentation

  • #4831: Update appearance of sensitive image thumbnails
  • #4836: DAG for generating and inserting Rekognition labels
  • #4855: Publish changelog for frontend-2024.09.01.19.19.29
  • #4859: Revert Nuxt updates and pin pinia versions
  • #4860: Publish changelog for frontend-2024.09.04.18.01.14
  • #4861: Publish changelog for catalog-2024.09.04.19.31.19
  • #4867: Remove retired DAGs from the codebase
  • #4868: Publish changelog for frontend-2024.09.05.07.51.39
  • #4869: Update Nuxt to v3.13.1
  • #4877: Publish changelog for api-2024.09.06.08.57.05

Frontend

  • #4831: Update appearance of sensitive image thumbnails
  • #4840: Add the UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. toggle for changing theme
  • #4855: Publish changelog for frontend-2024.09.01.19.19.29
  • #4859: Revert Nuxt updates and pin pinia versions
  • #4860: Publish changelog for frontend-2024.09.04.18.01.14
  • #4864: Fix frontend memory leak
  • #4868: Publish changelog for frontend-2024.09.05.07.51.39
  • #4869: Update Nuxt to v3.13.1

Management

  • #4864: Fix frontend memory leak
  • #4867: Remove retired DAGs from the codebase
  • #4871: Revert minor version removal from Renovate action

Closed issues

API

  • #2488: `ContentProvider.provider_identifier` and `AbstractMedia.provider` have different max lengths despite referring to the same thing
  • #4774: Do not log timeout errors for upstream thumbnail exception

Catalog

  • #4240: Remove retired DAGs
  • #4645: Create a DAG to generate and insert the new Rekognition tags
  • #4826: Add 90% ES CPU alarms to the list of those disabled for the data refresh

Frontend

  • #3379: Endless loading while running dev
  • #3497: More visual disctintion to loading bar
  • #4155: Site theme switcher (dark mode toggle)
  • #4232: Component: Theme switcher
  • #4309: Add UI toggle for dark mode
  • #4777: Improvement over image component

Management

  • #3716: Use a persistent cache for tldextract across CI runs
  • #4870: Renovate action is failing because it needs the full version tag

openverse-infrastructure

Merged PRs

Catalog

  • #1030: Bump catalog version

Infra

  • #1023: Use environmentFiles for ECS services

Management

  • #1026: 🔄 synced file(s) with WordPress/openverseOpenverse Openverse is a search engine for openly-licensed media, including images and audio. Find Openverse on GitHub and at https://openverse.org.

Closed issues

Infra

  • #949: DeployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. Metabase

#openverse, #week-in-openverse

A week in Openverse: 2024-08-26 – 2024-09-02

openverse

Merged PRs

APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • #4844: Update docker.io/mccutchen/go-httpbin Docker tag to v2.14.1

Catalog

  • #4818: fix: Reduce timeouts for batched update
  • #4847: Update dependency elasticsearch to v8.15.0

Documentation

  • #4810: Add color mode to ui store
  • #4812: Publish changelog for frontend-2024.08.26.14.55.41
  • #4821: Revert the Nuxt 3 update
  • #4823: Update Nuxt and deps to v3.13.0; fix server dir location

Frontend

  • #4796: Convert `VButton`, tabs and item group components to script setup
  • #4799: Convert components used for displaying search results to `script setup`
  • #4804: Replace hard-coded strings in Playwright tests
  • #4805: Convert the last components to script-setup
  • #4807: Update Nuxt and related dependencies to v3.13.0
  • #4808: Fix dark theme grays
  • #4809: Add feature flag to display the dark mode UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. toggle
  • #4810: Add color mode to ui store
  • #4812: Publish changelog for frontend-2024.08.26.14.55.41
  • #4816: Fix homepage layout shift
  • #4819: Convert components used on single result pages
  • #4821: Revert the Nuxt 3 update
  • #4823: Update Nuxt and deps to v3.13.0; fix server dir location
  • #4824: Update the recent search disclaimer
  • #4837: Convert some store unit tests to TypeScript
  • #4843: Update dependency prettier-pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party-tailwindcss to v0.6.6
  • #4846: Update dependency @playwright/test to v1.46.1
  • #4849: Update dependency vue-tsc to v2.1.4

Ingestion Server

  • #4847: Update dependency elasticsearch to v8.15.0

Management

  • #4845: Update workflows
  • #4848: Only specify major version for post-v1 actions

Closed issues

API

  • #2468: Audio waveform generation can exceed gunicorn worker timeout
  • #4806: Update the NYPL `domain` in the API

Catalog

  • #1442: Trigger audio waveform generation after the audio refresh
  • #1556: Investigate why images don't have titles in the database
  • #4814: Reduce timeouts for batched update

Frontend

  • #352: Add OpenverseOpenverse Openverse is a search engine for openly-licensed media, including images and audio. Find Openverse on GitHub and at https://openverse.org. cookie information to WP.org cookie policy
  • #475: Storybook configuration is split between Nuxt config and Storybook directory
  • #619: Update e2e tests to not rely on specific text copy, instead use translation tokens
  • #4306: Add a feature flag to show the dark mode UI toggle
  • #4308: Add frontend "color mode" state to the ui cookie
  • #4678: Update the VueVue Vue (pronounced /vjuː/, like view) is a progressive framework for building user interfaces. https://vuejs.org/. components to match Vue 3 conventions
  • #4741: Improve recent searches privacy notice
  • #4815: Homepage images do not take up space until they have loaded in, causing a large layout shift after hydration and SSR
  • #4820: Nuxt 3 update broke the healthcheck route

Management

  • #4020: Update docker-compose files to use the latest version
  • #4108: Reduce unused services in Docker Compose

openverse-infrastructure

Merged PRs

Management

  • #1024: 🔄 synced file(s) with WordPress/openverse

#openverse, #week-in-openverse

A week in Openverse: 2024-08-19 – 2024-08-26

openverse

Merged PRs

APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • #4776: Publish changelog for api-2024.08.16.21.27.09

Catalog

  • #4572: Add distributed reindex steps
  • #4684: Add alter data step to the data refresh DAG
  • #4744: Increase Wikimedia reingestion pull_data timeout
  • #4747: Only cache branch protection within the scope of the function
  • #4770: Fix DAG docstrings so they no longer produce improper HTMLHTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites.
  • #4773: Fix or ignore deprecation warnings in the catalog
  • #4784: Add specifics of Rekognition tag filtering to implementation plan
  • #4795: Add reviewed Rekognition labels to project appendix
  • #4797: Update DAG parsing tests, add tests for ensuring new DAGs are added
  • #4798: Update dependency apacheApache Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation. Apache is an Open Source software available for free.-airflow to v2.10.0 [SECURITY]
  • #4803: Publish changelog for catalog-2024.08.22.20.53.01

Documentation

  • #4770: Fix DAG docstrings so they no longer produce improper HTML
  • #4775: Publish changelog for frontend-2024.08.16.21.27.06
  • #4776: Publish changelog for api-2024.08.16.21.27.09
  • #4784: Add specifics of Rekognition tag filtering to implementation plan
  • #4793: Update documentation to recommend OrbStack for mac users
  • #4794: Add Quick Tip section to rollback docs
  • #4795: Add reviewed Rekognition labels to project appendix
  • #4803: Publish changelog for catalog-2024.08.22.20.53.01

Frontend

  • #4701: Convert the report content popover to a modal
  • #4762: Move the script sections to the top of VueVue Vue (pronounced /vjuː/, like view) is a progressive framework for building user interfaces. https://vuejs.org/. components
  • #4763: Convert headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes.-related components to script setup (23)
  • #4765: Extract `VHeader` as a wrapper for header and banners
  • #4766: Silence pnpm peer dependency version warnings
  • #4771: Update dependency vue to v3.4.38
  • #4775: Publish changelog for frontend-2024.08.16.21.27.06
  • #4780: Update the display of sensitive audio display
  • #4781: Convert single result page components
  • #4782: Update the filters snapshot to fix the CI
  • #4789: Convert audio track components
  • #4792: Fix Google Images external source link
  • #4800: Use a modal for license explanation
  • #4801: Convert components for license explanation modal

Ingestion Server

  • #4684: Add alter data step to the data refresh DAG

Management

  • #4747: Only cache branch protection within the scope of the function
  • #4790: Run `ov just install` as part of `ov init`

Closed issues

Catalog

  • #4148: Implement local distributed reindexing
  • #4541: Add filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. data step to the data refresh DAG
  • #4643: Determine which labels to exclude from Rekognition’s label set

Documentation

  • #4750: `airflow_log_cleanup_workflow` module docs are invalid markdown

Frontend

  • #524: UnhandledRejection on Safari
  • #3513: "Back to Results" button doesn't work when Report content modal is open
  • #3582: Modal popover for report and license definition
  • #3934: Read frontend `API_URL` environment variable at runtime
  • #4733: Peer dependency issue post Nuxt 3
  • #4764: Extract `VHeader` component to encapsulate duplicated code
  • #4778: Improvement over audio component
  • #4779: Improvement over global player component
  • #4802: Big white space in the modal of content report

Ingestion Server

  • #4541: Add filter data step to the data refresh DAG

Management

  • #4046: Update compose file to v3 and get rid of version obsolescense warning
  • #4734: PR review reminder branch protection cache is indefinite

openverse-infrastructure

Merged PRs

Catalog

  • #1021: Bump Airflow version

Infra

  • #1017: Use the bastion to find the public keys for EC2 instances
  • #1019: Update GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ actions pertaining to AWS

Management

  • #1019: Update GitHub actions pertaining to AWS

Closed issues

Catalog

  • #1014: Add Rekognition data bucket to Terraform

Infra

  • #1014: Add Rekognition data bucket to Terraform
  • #1016: New EC2 instances fail to initialize with ansible script

#openverse, #week-in-openverse

A week in Openverse: 2024-08-12 – 2024-08-19

openverse

Merged PRs

APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • #4704: Setup structlog Sentry integration
  • #4736: Generate Wikimedia thumbnail URLs on the fly
  • #4745: Publish changelog for api-2024.08.12.17.31.11
  • #4746: Revert "Decrease thumbnail upstream timeout and add timing logs for thumbnail requests"
  • #4748: Correct response handling for checking dead links
  • #4756: Publish changelog for api-2024.08.14.10.34.40
  • #4757: Do not logger.error timeout errors in dead link checks
  • #4759: Use default of 0 for SENTRY_SAMPLE_RATE
  • #4760: Publish changelog for api-2024.08.14.16.29.10

Catalog

  • #4663: Replace retry with backoff, add backoff to all Freesound requests
  • #4667: Preemptively filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. out Rekognition tags
  • #4715: Add request retries for 5XX errors on Science Museum & Brooklyn Museum
  • #4752: Always use only latest provider tags when reingesting
  • #4753: Fix Wikimedia provider when verbose logging enabled
  • #4767: Publish changelog for catalog-2024.08.15.16.49.58
  • #4772: Filter `filetype` of Wikimedia's images

Documentation

  • #4690: Update colors, add the dark mode palette, and switch to CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. vars
  • #4735: Disallow crawlers from high cardinality collection pages
  • #4742: Publish changelog for frontend-2024.08.12.10.29.09
  • #4745: Publish changelog for api-2024.08.12.17.31.11
  • #4756: Publish changelog for api-2024.08.14.10.34.40
  • #4760: Publish changelog for api-2024.08.14.16.29.10
  • #4767: Publish changelog for catalog-2024.08.15.16.49.58
  • #4768: Publish changelog for ingestion_server-2024.08.15.17.06.40
  • #4769: Add a note about keeping the bucket to the Rekognition project proposal

Frontend

  • #4690: Update colors, add the dark mode palette, and switch to CSS vars
  • #4716: Update nuxtjs/plausible
  • #4730: Fix mobile recent searches modal with banners
  • #4735: Disallow crawlers from high cardinality collection pages
  • #4742: Publish changelog for frontend-2024.08.12.10.29.09
  • #4761: Fix the focus outline for buttons

Ingestion Server

  • #4667: Preemptively filter out Rekognition tags
  • #4768: Publish changelog for ingestion_server-2024.08.15.17.06.40

Management

  • #4704: Setup structlog Sentry integration
  • #4749: Switch to locally available prettier for pre-commit hook
  • #4754: Add dependencies necessary for cffi installation to dev environment

Closed issues

API

  • #4758: Use default of 0 for `SENTRY_SAMPLE_RATE`

Catalog

  • #1663: Unify data refresh/provider cleaning
  • #4594: Flaky 503s when trying to fetch Freesound audioset info
  • #4644: Preemptively filter the Rekognition tags
  • #4710: Science Museum requests can be flaky, add `backoff` to all requests
  • #4712: Brooklyn Museum requests can be flaky, add `backoff` to all requests
  • #4732: Change tag upsert strategy to drop old provider tags

Frontend

  • #2603: Prevent the headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. overlapping the main content when the banners are visible and skip-to-content is clicked
  • #4268: Current and new color system
  • #4304: Rename Tailwind colors to semantic names and switch to CSS variables
  • #4325: Semantics for the new color system
  • #4729: Input is not visible when recent searches are open on mobile and banners are visible
  • #4739: Deprecate frontend `DEPLOYMENT_ENV` and `SENTRY_ENV` in favour of site config's `SITE_ENV`
  • #4755: Button focus outline color is blue instead of pink

Ingestion Server

  • #4644: Preemptively filter the Rekognition tags

Management

  • #4256: Prettier's pre-commit pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party is no longer maintained
  • #4651: Waveform issues are reported to Sentry twice

openverse-infrastructure

Merged PRs

API

  • #1010: Temporarily silence api anomaly resposne time alarms
  • #1011: Revert "Temporarily silence api anomaly resposne time alarms (#1010)"

Catalog

  • #1013: Bump catalog and ingestion server versions

Frontend

  • #1005: Clean up Nuxt environment variables; add site config indexable

Infra

  • #1007: Disable the Cloudflare rule for high cardinality pages

Ingestion Server

  • #1013: Bump catalog and ingestion server versions

Closed issues

Infra

  • #858: CloudWatch Dashboard for per-route frontend timings (based on API dashboard)
  • #974: Discuss high-priority infrastructure incident response (instance replacement warnings, for example)
  • #1006: CI actions outdated

#openverse, #week-in-openverse

A week in Openverse: 2024-08-05 – 2024-08-12

openverse

Merged PRs

APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • #4677: Fix waveform generation for short tracks
  • #4695: Decrease thumbnail upstream timeout and add timing logs for thumbnail requests
  • #4718: Publish changelog for api-2024.08.05.16.42.20

Documentation

  • #4528: Reorganise release and deployment process documentation
  • #4664: Adds `postgresql` and `postgresql-devel` to image `ov`
  • #4705: Remove the use of `import.meta.env`
  • #4718: Publish changelog for api-2024.08.05.16.42.20
  • #4723: Publish changelog for frontend-2024.08.06.13.48.44

Frontend

  • #4689: Update dependency vue to v3.4.36
  • #4700: Convert modal-related components to script setup
  • #4705: Remove the use of `import.meta.env`
  • #4722: Fix audio collection page SSR error
  • #4723: Publish changelog for frontend-2024.08.06.13.48.44
  • #4725: Fix the sources table crash
  • #4731: Fix Playwright test failures when Nuxt context is not available

Ingestion Server

  • #4727: Remove the url cleanup steps from data refresh

Management

  • #4528: Reorganise release and deployment process documentation
  • #4664: Adds `postgresql` and `postgresql-devel` to image `ov`

Closed issues

API

  • #4570: Investigate and decrease image proxy upstream request timeout
  • #4676: Unable to generate waveform for short audio files

Catalog

  • #1411: Check crawled images have the correct URI protocol

Frontend

  • #2108: Save artifacts from failed Playwright test runs
  • #4703: Nuxt 3 frontend is using build-time environment variables (`import.meta.env`) for runtime variables
  • #4721: Audio collection SSR error
  • #4724: Repeated sorting of the sources table causes page freeze
  • #4737: CI failing due to Nuxt context being unavailable during feature flag store setup

Ingestion Server

  • #700: Remove the `URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org` cleanup process from the ingestion server

Management

  • #2108: Save artifacts from failed Playwright test runs
  • #4515: `ov` is missing dependencies required to run `psycopg2` in the container
  • #4637: Add `psql` and `pgcli` to `ov` tooling

openverse-infrastructure

Merged PRs

Frontend

  • #997: Cleanup after Nuxt 3 migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies.
  • #1002: Disallow crawlers from high cardinality collection pages

Management

  • #997: Cleanup after Nuxt 3 migration

Closed issues

Frontend

  • #996: Cleanup after Nuxt 3 migration

#openverse, #week-in-openverse

A week in Openverse: 2024-07-29 – 2024-08-05

openverse

Merged PRs

APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • #4654: Implement bulk moderation actions
  • #4673: Update Django admin views for bulk moderation ergonomics
  • #4674: Publish changelog for api-2024.07.30.17.36.41
  • #4694: Update dependency uvicorn to >=0.30, <0.31
  • #4697: Bump the minimum required PDM version for the API

Catalog

  • #4662: Clarify policy around which demographics to exclude in Rekognition IP
  • #4711: Convert iNaturalist vernacular VARCHAR columns to TEXT

Documentation

  • #4257: Migrate to Nuxt 3
  • #4662: Clarify policy around which demographics to exclude in Rekognition IP
  • #4666: Publish changelog for frontend-2024.07.26.14.38.19
  • #4670: Publish changelog for frontend-2024.07.30.12.38.56
  • #4672: Publish changelog for frontend-2024.07.30.16.33.18
  • #4674: Publish changelog for api-2024.07.30.17.36.41
  • #4707: Nuxt.config documentation improvements

Frontend

  • #4257: Migrate to Nuxt 3
  • #4666: Publish changelog for frontend-2024.07.26.14.38.19
  • #4670: Publish changelog for frontend-2024.07.30.12.38.56
  • #4671: Set site indexability at runtime
  • #4672: Publish changelog for frontend-2024.07.30.16.33.18
  • #4679: Move setup template sections
  • #4682: Update VueVue Vue (pronounced /vjuː/, like view) is a progressive framework for building user interfaces. https://vuejs.org/. and remove modal hotfix
  • #4685: Update dependency @playwright/test to v1.45.3
  • #4686: Update dependency prettier to v3.3.3
  • #4687: Init dark mode with feature flag and body class
  • #4688: Update dependency typescript to v5.5.4
  • #4691: Update dependency vue-tsc to v2.0.29
  • #4702: Fix the flaky pages test
  • #4707: Nuxt.config documentation improvements
  • #4709: Fix test flake in pages.spec.ts

Ingestion Server

  • #4683: Drop Elasticsearch throttling on Ingestion Server

Management

  • #4257: Migrate to Nuxt 3
  • #4669: Remove nonexistent directory from `just` recipe display list
  • #4675: Ensure CODEOWNERS matches from top level rather than anywhere in path
  • #4692: Update workflows
  • #4698: Increase PR count for PR limit bot reminder to 5

Closed issues

API

  • #3840: Create bulk moderation actions
  • #3841: Update admin Media views with new filters and bulk actions
  • #3842: Update admin DeletedMedia view with bulk actions and filters
  • #3843: Update admin SensitiveMedia view with bulk actions and filters
  • #3844: Create the ModerationDecision admin views

Catalog

  • #4642: Clarify policy around which demographics to exclude in Rekognition IP
  • #4696: Image rows with invalid version number for PDM

Frontend

  • #880: "OpenverseOpenverse Openverse is a search engine for openly-licensed media, including images and audio. Find Openverse on GitHub and at https://openverse.org. Syntax Guide" content page missing placeholder for "*"
  • #2169: Upgrade Storybook to v7
  • #2956: Vue removes aria-attributes that evaluate to `false`
  • #3106: Unable to select a new image from the home page after clicking one and returning using browser-back
  • #4303: Add a feature flag to force dark mode
  • #4681: Remove Vue teleport hot-fix
  • #4699: `visual-regression/pages/pages.spec.ts:52:9 › layout color is set correctly › screen at breakpoint lg with width 1024 › change language on homepage and search` is flaky

Ingestion Server

  • #3977: Consider droping off throttling in Ingestion Server filtered index creation

Management

  • #4166: Convert usages of Pipenv to PDM
  • #4668: `ov just` causes infinite printing loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop.

openverse-infrastructure

Merged PRs

Frontend

  • #992: Add Nuxt 3 env variables
  • #993: Fix Nuxt 3 API url
  • #999: Fix Nuxt 3 public runtime config variables for Plausible and Sentry

Infra

  • #992: Add Nuxt 3 env variables

Management

  • #994: Turn off storybook required check
  • #995: 🔄 synced file(s) with WordPress/openverse
  • #998: 🔄 synced file(s) with WordPress/openverse

#openverse, #week-in-openverse

A week in Openverse: 2024-07-22 – 2024-07-29

openverse

Merged PRs

APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • #4603: Limit access for content moderators
  • #4635: Remove client application headers from API responses
  • #4640: Publish changelog for api-2024.07.20.10.58.11
  • #4649: Use a separate logger for dead links check that Sentry will ignore
  • #4650: Publish changelog for api-2024.07.23.07.16.35
  • #4656: Update media list admin view to add ES-powered search

Catalog

  • #4652: Remove env from Airflow alerts, improve ES alert username & icon
  • #4661: Fix update query and increase simultaneous tasks of the `add_license_url` DAG

Documentation

  • #4639: Publish changelog for frontend-2024.07.20.10.58.11
  • #4640: Publish changelog for api-2024.07.20.10.58.11
  • #4650: Publish changelog for api-2024.07.23.07.16.35
  • #4659: Nuxt 3 robots.txt fixes

Frontend

  • #4639: Publish changelog for frontend-2024.07.20.10.58.11
  • #4653: Fix HTMLHTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites. creator crediting incorrect image tags
  • #4659: Nuxt 3 robots.txt fixes
  • #4660: Remove the single-result endpoints from the robots.txt

Infra

  • #4652: Remove env from Airflow alerts, improve ES alert username & icon

Management

  • #4625: Migrate automations to PDM
  • #4626: Migrate `utilities/generate_test_locales` to PDM
  • #4632: Fix version qualifiers in `pyproject.toml` files
  • #4657: Remove the "2 Reviews Needed" column automation from the PR board

Closed issues

API

  • #3640: Finalise access control for Django admin content moderator users
  • #4350: Reenable Science Museum provider in Django admin
  • #4569: Remove client application headers from API responses

Catalog

  • #4477: Airflow should support dark mode

Frontend

  • #2150: Further accessbility improvements to search result titles
  • #4602: Openverse.org embeds are not functioning

Infra

  • #4613: Remove environment name from Airflow Alerts message username

openverse-infrastructure

Merged PRs

Catalog

  • #984: Bump ingestion server and catalog

Infra

  • #986: Use correct variable name for Airflow deployment recovery
  • #991: Fix GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ branch protections

Ingestion Server

  • #984: Bump ingestion server and catalog

Management

  • #988: 🔄 synced file(s) with WordPress/openverseOpenverse Openverse is a search engine for openly-licensed media, including images and audio. Find Openverse on GitHub and at https://openverse.org.
  • #989: Only require a single review
  • #990: 🔄 synced file(s) with WordPress/openverse

Closed issues

API

  • #971: Uncaught `ValueError` in API with malformed URI escape sequences in query string

Infra

  • #985: Airflow deployment unable to rollback copied config if restart fails

#openverse, #week-in-openverse

A week in Openverse: 2024-07-15 – 2024-07-22

openverse

Merged PRs

APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • #4567: Expand `ov` documentation and replace environment setup docs with `ov` instructions
  • #4582: Update pook to v2
  • #4598: Decrease link validation timeout
  • #4605: Remove `proxy` service and make API NGINXNGINX NGINX is open source software for web serving, reverse proxying, caching, load balancing, media streaming, and more. It started out as a web server designed for maximum performance and stability. In addition to its HTTP server capabilities, NGINX can also function as a proxy server for email (IMAP, POP3, and SMTP) and a reverse proxy and load balancer for HTTP, TCP, and UDP servers. https://www.nginx.com/. setup similar to the frontend
  • #4612: Publish changelog for api-2024.07.15.03.59.12

Catalog

  • #4567: Expand `ov` documentation and replace environment setup docs with `ov` instructions
  • #4582: Update pook to v2
  • #4601: Create a dataclass for indexer worker TaskStatus
  • #4610: Add `catalog_cleaner` DAG
  • #4615: Update ingestion server removal IP with EC2 approach
  • #4629: Update dependency apacheApache Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation. Apache is an Open Source software available for free.-airflow to v2.9.3 [SECURITY]
  • #4634: Publish changelog for catalog-2024.07.19.17.07.23

Documentation

  • #4567: Expand `ov` documentation and replace environment setup docs with `ov` instructions
  • #4585: Make running Playwright to update snapshots easier
  • #4605: Remove `proxy` service and make API NGINX setup similar to the frontend
  • #4610: Add `catalog_cleaner` DAG
  • #4611: Publish changelog for frontend-2024.07.15.03.59.13
  • #4612: Publish changelog for api-2024.07.15.03.59.12
  • #4615: Update ingestion server removal IP with EC2 approach
  • #4633: Publish changelog for ingestion_server-2024.07.19.17.07.25
  • #4634: Publish changelog for catalog-2024.07.19.17.07.23

Frontend

  • #4543: Make the sources tables responsive using CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site.
  • #4567: Expand `ov` documentation and replace environment setup docs with `ov` instructions
  • #4585: Make running Playwright to update snapshots easier
  • #4611: Publish changelog for frontend-2024.07.15.03.59.13
  • #4627: Remove unnecessary locales downloads from CI
  • #4628: Update pnpm and use corepack

Infra

  • #4598: Decrease link validation timeout

Ingestion Server

  • #4615: Update ingestion server removal IP with EC2 approach
  • #4631: Bump sentry-sdk from 2.7.1 to 2.8.0 in /ingestion_server
  • #4633: Publish changelog for ingestion_server-2024.07.19.17.07.25

Management

  • #4567: Expand `ov` documentation and replace environment setup docs with `ov` instructions
  • #4585: Make running Playwright to update snapshots easier
  • #4609: Bump jinja2 from 3.1.3 to 3.1.4 in /utilities/generate_test_locales
  • #4622: Migrate `utilities/project_planning` to PDM
  • #4623: Migrate `utilities/dead_link` to PDM
  • #4624: Migrate `utilities/provider_tallies` to PDM
  • #4627: Remove unnecessary locales downloads from CI
  • #4628: Update pnpm and use corepack

Closed issues

API

  • #4332: Limit the number of concurrent dead link requests
  • #4507: Decrease dead link verification request timeout

Catalog

  • #3415: Use the `batched_update` DAG with stored CSVs to update Catalog URLs
  • #4534: Create a dataclass for indexer worker TaskStatus

Frontend

  • #470: Sources table does not show the full URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in mobile size
  • #4621: Stop unnecessary downloads of translations for storybook build

Infra

  • #4507: Decrease dead link verification request timeout

Management

  • #3807: Replace `pnpm/action-setup` with Corepack
  • #4535: Make running Playwright to update snapshots easier

openverse-infrastructure

Merged PRs

API

  • #962: Fix API deployment timeout; add nginx container healthchecks
  • #978: Decomission alternative prod subdomains; blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. malicious traffic

Frontend

  • #978: Decomission alternative prod subdomains; block malicious traffic

Infra

  • #962: Fix API deployment timeout; add nginx container healthchecks
  • #978: Decomission alternative prod subdomains; block malicious traffic
  • #980: Enable ASG-less immutable-ec2-service and convert indexer worker pools to use it
  • #983: Add malicious IP

Closed issues

API

  • #959: Consider dropping production alias domain names

Frontend

  • #959: Consider dropping production alias domain names

Infra

  • #959: Consider dropping production alias domain names

#openverse, #week-in-openverse

A week in Openverse: 2024-07-08 – 2024-07-15

openverse

Merged PRs

Catalog

  • #4552: Split `batched_update` DAG into automated and manual DAGs

Documentation

  • #4552: Split `batched_update` DAG into automated and manual DAGs

Frontend

  • #4584: Fix TypeError by checking if duration is not Finite before setting cu…
  • #4591: Remove all usage of jest

Management

  • #4560: Make `ov` base image updates overall more convenient and take immediate effect
  • #4591: Remove all usage of jest
  • #4606: Bump certifi from 2024.2.2 to 2024.7.4 in /automations/python
  • #4607: Bump tqdm from 4.66.2 to 4.66.3 in /utilities/generate_test_locales
  • #4608: Bump certifi from 2024.2.2 to 2024.7.4 in /utilities/generate_test_locales

Closed issues

Catalog

  • #4457: Separate the batched update DAG into manually and automatically triggered DAGs

Frontend

  • #4156: TypeError: Failed to set the 'currentTime' property on 'HTMLMediaElement': The provided double value is non-…

Management

  • #4545: Install pipx packages outside the dev-env volume

openverse-infrastructure

Merged PRs

Infra

  • #960: Fix Nuxt 3 frontend alarm
  • #966: Add all initial datasources to Grafana
  • #972: BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Internet Archive from single and search views
  • #976: Remove usage of `terraform-aws-modules/vpc/aws`

Management

  • #977: 🔄 synced file(s) with WordPress/openverseOpenverse Openverse is a search engine for openly-licensed media, including images and audio. Find Openverse on GitHub and at https://openverse.org.

Closed issues

Infra

  • #953: Set up Grafana Cloud for initial access and use by Openverse maintainers
  • #969: Remove `terraform-aws-modules/vpc/aws` usage

#openverse, #week-in-openverse