mirror of
https://github.com/penpot/penpot.git
synced 2026-10-30 06:20:32 +00:00
An object whose :storage-target id is not in the S3 routes configuration can no longer be located. Reads and serving now fail with :invalid-storage-target instead of silently using the default bucket, and garbage collection refuses to delete the row: it logs an error and parks the row (deleted_at +1 day, no deletion attempts, no give-up) until the target is configured again. Legacy rows (no target) and the default target keep working and deleting normally. Also addresses review findings: per-target dedup isolation and stale-repair coverage, legacy-row GC coverage through the real task paths, a single declared-target schema, closing already-built S3 clients when target init fails, and loader edge pins. Docs and memory updated. Closes #11630 AI-assisted-by: deepseek-flash
Penpot Docs
Penpot documentation website.
Usage
To view this site locally, first set up the environment:
# only if necessary
nvm install
nvm use
corepack enable
pnpm install
And launch a development server:
pnpm start
You can then point a browser to http://localhost:8080.
Tooling
- Eleventy (11ty)
- Diagrams with plantuml. See also real-world-plantuml.
- Diagrams with svgbob and mermaid.
- arc42 template.
- c4model for software architecture, and an implementation in plantuml.