Egenverk Babbla

Ändringslogg för Egenverk Babbla

Vad som ändrats i varje tillägg, senaste först.

Ändringsloggens text är på engelska, som i tillägget.

Atom-flöde

Version 0.1.0

Tillagt

  • Plugin skeleton: activation/upgrade hooks, HPOS compatibility declaration, WooCommerce presence check.
  • Storage: wctc_channels, wctc_messages, wctc_reads tables (WCTC_Install), seeded with a public general channel.
  • WCTC_Repository: channel visibility (public, private per-user agent, DM), message pages, read markers, unread counts, lazy DM and agent channel creation.
  • REST API wctc/v1: GET /channels, GET /channels/{id}/messages, POST /channels/{id}/messages (idempotent, rate-limited), POST /channels/{id}/read, GET /unread, POST /channels/dm, GET /users. Contract documented in docs/rest-contract.md.
  • uninstall.php purge, opt-in via the wctc_purge_on_uninstall option.
  • README.md for GitHub: status, features and roadmap, requirements, access model, privacy, hooks, development gates.
  • composer php:compat gate (PHPCompatibility, testVersion 7.4-) next to PHPStan's PHP 7.4 target.

Ändrat

  • Message bodies are stored as plain text (valid UTF-8, normalised line breaks, control characters removed) instead of through sanitize_textarea_field, which HTML-escaped a lone < and dropped %xx sequences.
  • Read markers are written atomically (INSERT IGNORE + conditional UPDATE) and the stored value is returned, so concurrent POST /read calls no longer collide on the primary key and the marker never moves backwards.
  • Idempotency keys are scoped per user and channel; a failed insert returns 500 wctc_store_failed instead of a 201 with an empty message.
  • DM and agent channel lookups read before inserting, so GET /channels no longer consumes an AUTO_INCREMENT value on every call.