Álvaro Tejero Cantero fff50b3ef8
✨ Count update-file validation refusals by error code
Record three counters on the update-file path, and add the ids that
operators need to the lines the soft validations write:

- penpot_rpc_update_file_refused_total, labelled by the furthest
  validation step the save reached and by the error code;
- penpot_rpc_update_file_soft_failure_total, labelled by the soft check
  that failed and a bounded reason: the deepest schema key of the
  explain path, or the code of the first reported referential error;
- penpot_rpc_update_file_lagged_total, for saves whose incoming revn is
  behind the stored one and that the server folds on top of changes the
  client has not received.

The soft-failure lines now carry the file id, the incoming and stored
revn, the error code, and the failing path (ids only). Metrics stay
no-ops when the cfg carries no metrics instance.

Closes #12665

AI-assisted-by: claude-opus-5-5, deepseek-v4.1-flash
Signed-off-by: Álvaro Tejero Cantero <alvorithm@teje.ro>
2026-10-28 08:48:36 +01:00
..
2026-10-07 10:41:29 +02:00
2024-05-29 19:05:04 +02:00