Á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-17 21:53:29 +00:00
2026-10-19 22:18:27 +02:00
2026-09-29 23:07:26 +02:00
2026-09-10 20:29:44 +02:00
2026-09-23 12:31:50 +02:00
2026-10-20 14:08:40 +02:00
2026-10-15 19:18:04 +02:00
2026-10-17 16:28:59 +02:00
2026-10-19 22:18:27 +02:00
2026-08-25 11:55:10 +02:00
2026-10-19 20:10:20 +02:00
2026-10-07 11:52:48 +02:00
2026-09-23 15:25:21 +02:00
2026-10-06 07:33:12 +02:00
2026-10-15 13:01:18 +02:00
2026-10-06 07:33:12 +02:00
2026-08-25 11:55:10 +02:00
2026-10-06 07:33:12 +02:00
2026-10-19 14:00:13 +02:00
2026-10-22 15:31:16 +02:00
2026-10-28 08:48:36 +01:00
2026-10-19 13:01:35 +02:00
2026-09-09 17:58:09 +02:00
2026-09-29 09:07:34 +02:00
2026-10-13 14:33:32 +02:00
2026-10-17 16:01:04 +02:00
2026-10-17 16:28:59 +02:00
2026-10-07 11:52:48 +02:00
2026-09-10 20:29:44 +02:00
2026-09-24 12:19:29 +02:00
2026-09-15 19:22:56 +02:00
2026-09-14 14:50:32 +02:00
2026-10-13 14:33:32 +02:00
2026-08-25 11:55:10 +02:00
2026-10-17 16:28:59 +02:00
2026-10-01 13:16:12 +02:00
2026-10-06 07:33:12 +02:00
2026-10-11 18:48:02 +02:00
2026-10-11 18:48:02 +02:00
2026-10-07 11:52:48 +02:00
2026-10-15 19:18:04 +02:00
2026-10-27 09:30:28 +01:00
2026-10-02 11:08:13 +02:00
2026-10-15 19:50:06 +02:00
2026-10-16 12:48:49 +02:00
2026-08-25 11:55:10 +02:00
2026-09-10 20:29:44 +02:00
2026-08-25 11:55:10 +02:00
2026-10-06 15:56:55 +02:00
2026-10-19 22:18:27 +02:00
2026-10-06 07:33:12 +02:00
2026-10-27 09:30:28 +01:00
2026-10-08 11:38:13 +02:00
2026-10-16 12:48:49 +02:00
2026-10-22 15:31:16 +02:00
2026-09-09 17:58:09 +02:00
2026-10-20 15:33:37 +00:00
2026-10-13 18:44:40 +00:00
2026-08-25 11:55:10 +02:00
2026-10-19 23:25:44 +02:00
2026-09-22 14:03:02 +02:00
2026-09-23 12:31:50 +02:00
2026-10-17 16:01:04 +02:00
2026-10-13 14:33:32 +02:00
2026-09-29 23:07:26 +02:00
2026-10-15 13:01:18 +02:00
2026-08-25 11:55:10 +02:00
2026-10-06 07:33:12 +02:00
2026-08-25 11:55:10 +02:00
2026-10-06 07:33:12 +02:00
2026-10-15 13:01:18 +02:00
2026-10-06 07:33:12 +02:00
2026-10-23 13:40:44 +02:00
2026-10-17 16:28:59 +02:00
2026-10-17 16:01:04 +02:00
2026-10-07 11:52:48 +02:00
2026-10-20 14:08:40 +02:00
2026-10-17 16:01:04 +02:00
2026-10-17 16:01:04 +02:00
2026-10-06 07:33:12 +02:00
2026-08-25 11:55:10 +02:00
2026-10-07 14:58:32 +02:00
2026-10-17 16:28:59 +02:00
2026-10-15 13:01:18 +02:00
2026-10-19 22:18:27 +02:00
2026-09-24 12:19:29 +02:00
2026-10-20 14:08:40 +02:00
2026-09-22 14:03:02 +02:00
2026-09-22 14:43:04 +02:00
2026-10-15 13:01:18 +02:00
2026-10-19 13:01:35 +02:00
2026-08-25 11:55:10 +02:00
2026-10-16 12:48:49 +02:00
2026-10-16 15:57:32 +02:00
2026-10-06 07:33:12 +02:00
2026-09-23 15:25:21 +02:00
2026-09-23 15:25:21 +02:00
2026-10-19 22:18:27 +02:00
2026-10-05 17:16:47 +02:00
2026-10-19 23:25:44 +02:00
2026-08-25 11:55:10 +02:00
2026-10-07 11:52:48 +02:00
2026-08-25 11:55:10 +02:00
2026-08-25 11:55:10 +02:00
2026-09-01 12:45:17 +02:00
2026-10-22 15:29:37 +02:00
2026-10-11 18:48:02 +02:00
2026-10-07 11:52:48 +02:00
2026-10-07 11:52:48 +02:00