mirror of
https://github.com/penpot/penpot.git
synced 2026-10-29 05:50:35 +00:00
The backend answers a :conflict refusal (:file-modified, :file-locked) with HTTP 409 since the previous commit. On the frontend that type had no ptk/handle-error method, so the version-restore flow would have fallen to the generic toast instead of the error page the old 500 reached. errors.cljs now maps :conflict to the same exceptional-state handler. The technical guide's audit paragraph said rename, archive and delete report nothing; they report a duration and an outcome. The merge step list now records the re-validation after the repair and its refusal, and the update section names the same refusal. AI-assisted-by: mimo-v2.6-pro, claude-opus-5-5
Penpot Docs
Penpot documentation website.
Usage
To view this site locally, first set up the environment:
# only if necessary
nvm install
nvm use
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.