Skip to content

Drop editor in favor of ord-app#172

Draft
skearnes wants to merge 3 commits into
mainfrom
drop-editor
Draft

Drop editor in favor of ord-app#172
skearnes wants to merge 3 commits into
mainfrom
drop-editor

Conversation

@skearnes
Copy link
Copy Markdown
Member

@skearnes skearnes commented May 4, 2026

Summary

  • Removes the Flask-based editor under ord_interface/editor/ — its job is now handled by the standalone ord-app, which the Contribute link in the Vue header already points to.
  • Tears out everything that existed only to support the editor: the interface.py Flask entrypoint, the flask upstream + /editor/ location in nginx, the flask gunicorn worker, the closure-library/protoc/closure-compiler/jquery-externs build chain in the Dockerfile, the editor schema/migrate step in build_test_database.sh, the node editor/js/test.js JS tests, the --ignore=ord_interface/editor pytest flag and puppeteer install in CI, and the flask/pygithub deps in setup.py.
  • Drops the orphaned app/src/views/contribute/ Vue views (already not wired into the router) and the orphaned static about.html (Vue's About.vue serves /about).
  • Switches the AWS Copilot front-end healthcheck from /editor/healthcheck to /, drops the now-unused GH_CLIENT_ID/GH_CLIENT_SECRET secrets there and in docker-compose.yml.
  • Adds an nginx 301 from /editor (and /editor/*) to https://app.open-reaction-database.org/ so old bookmarks land on the new editor instead of a blank SPA shell.
  • Bumps the test_app CI runner from ubuntu-22.04 to ubuntu-latest now that puppeteer is gone.
  • Removes a stray dump.rdb Redis dump from the repo root and adds it to .gitignore.

Follow-ups (out of scope for this PR)

  • Delete the now-unused SSM parameters under /copilot/ord-editor/secrets/ (GH_CLIENT_ID, GH_CLIENT_SECRET) and the GitHub OAuth app behind them.
  • Consider switching the Copilot healthcheck from / to a FastAPI route (e.g. /api/datasets) so a backend outage actually fails the health check; currently / is green even if FastAPI is down.

Test plan

  • ./run_tests.sh builds the slimmed-down image and the pytest suite passes — verified locally, 39/39 passed
  • Docker image starts cleanly (no flask socket; only fastapi behind nginx) — only /run/fastapi.sock exists; gunicorn runs ord_interface.api.main:app only
  • Vue SPA loads, /browse, /search, /about, /ketcher all work — all return HTTP 200 via nginx
  • Header Contribute link still points to app.open-reaction-database.org — confirmed at app/src/components/HeaderNav.vue:39
  • Copilot front-end healthcheck at / returns 200 — confirmed via curl -I http://localhost:8080/
  • /editor, /editor/, /editor/foo, /editor/healthcheck all return 301 → https://app.open-reaction-database.org/; /editorx falls through to the SPA

🤖 Generated with Claude Code

The Flask-based editor under ord_interface/editor/ has been replaced by
the standalone ord-app (https://app.open-reaction-database.org). This
removes the editor and everything that existed only to support it.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@skearnes skearnes requested review from bdeadman and connorcoley May 4, 2026 02:29
skearnes and others added 2 commits May 3, 2026 22:33
- nginx: 301 /editor and /editor/* to https://app.open-reaction-database.org/
  so existing bookmarks land on the new editor instead of a blank SPA shell.
- CI: bump test_app runner from ubuntu-22.04 to ubuntu-latest now that the
  puppeteer-incompatibility note no longer applies.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bdeadman
Copy link
Copy Markdown
Collaborator

bdeadman commented May 5, 2026

@skearnes - yes we should do this to clean up the code, but I hesitate to rip the old editor out of the production instance without communicating a clear timeline for the user community to remove any important data. The latest statement we have made on the old editor is from the announcement of the new editor here https://www.linkedin.com/pulse/next-generation-reaction-editor-here-open-reaction-database-tfste.

Comment thread ord_interface/about.html
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My understanding is that this 'about' file no longer needed since the website uses this file (https://github.com/open-reaction-database/ord-interface/blob/8731895b44a960f0448a72042fa9981df2846c22/app/src/views/About.vue) instead for the about page.

Copy link
Copy Markdown
Collaborator

@bdeadman bdeadman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to approve the code changes as they are, but I'd like to have a conversation about how we manage the retirement of the legacy editor from the production instance.

@skearnes skearnes marked this pull request as draft May 12, 2026 22:47
skearnes added a commit that referenced this pull request May 12, 2026
- Drop the placeholder "How to Deploy" section.
- Fix the project layout: api/ is the FastAPI server (not /client),
  and the description was missing it entirely. Mark editor/ as
  legacy (being removed in #172).
- Tighten setup instructions and folder descriptions; trim filler.
- Flag the host-port 5432 collision for `docker compose up`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
skearnes added a commit that referenced this pull request May 13, 2026
* Remove stale config and accidental commits

- .pylintrc, .style.yapf: legacy linter/formatter configs replaced by
  ruff in #173.
- copilot/: AWS Copilot CLI manifest, replaced by Pulumi/ECS in the
  ord-infrastructure repository.
- dump.rdb: accidentally committed Redis snapshot.
- README.md, CONTRIBUTING.md: setup.py / pip install instructions
  rewritten in terms of uv now that #173 has landed.
- .gitignore: add .pytest_cache/, .ruff_cache/, .venv/, dump.rdb so
  these stop showing up in future working trees.

Editor-tree `# pylint:` / `# pytype:` comments are intentionally left
alone; the editor is excluded from ruff/ty and is being removed in #172.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Refresh README

- Drop the placeholder "How to Deploy" section.
- Fix the project layout: api/ is the FastAPI server (not /client),
  and the description was missing it entirely. Mark editor/ as
  legacy (being removed in #172).
- Tighten setup instructions and folder descriptions; trim filler.
- Flag the host-port 5432 collision for `docker compose up`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* Apply review feedback on cleanup PR

- CONTRIBUTING.md: sweep remaining `ord-schema` references to
  `ord-interface` (title, issue-tracker URLs, fork instructions). The
  goals/non-goals readthedocs link is left as-is and rephrased to
  point at "the broader Open Reaction Database" so it's clear the
  reference is intentional.
- README.md: add a brief Deployment section pointing at the
  ord-infrastructure repo (Pulumi/ECS) now that the old "How to
  Deploy" placeholder is gone.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* .gitignore: add trailing slashes to directory-only patterns

Make the pre-existing directory patterns consistent with the new ones
added in this branch (`.pytest_cache/`, `.ruff_cache/`, `.venv/`) and
the already-slashed ones above (`.idea/`, `docs/_build/`, `.vscode/`).

Trailing slash restricts a pattern to match directories only, which
is what we actually want for `__pycache__`, `*.egg-info`,
`.ipynb_checkpoints`, `build`, `dist`, `ketcher`, `standalone`,
`node_modules`, and `coverage`. A future file accidentally named one
of these wouldn't be silently ignored.

`**/.pnp` is left as-is because Yarn 2+ uses `.pnp.cjs` files while
Yarn 1 used a `.pnp` directory; the un-slashed form matches both.

Verified `git check-ignore` still resolves the existing
`.venv/`, `ord_interface.egg-info/`, `ord_interface/__pycache__/`
directories through the new rules.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants