Commit Graph

12 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
069475fa0c Address PR feedback: simplify HTML, rename error, update API/SQL
Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>
2026-02-05 05:57:44 +00:00
Copilot
7d1247848b Add organization transfer feature (#240)
* Initial plan

* Initial plan for organization transfer feature

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Add organization transfer feature with UI, DB layer, and integration test

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

* Address PR feedback: verify old owner in property transfer, swap org membership, show masked email in audit, add negative tests

Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ribtoks <505555+ribtoks@users.noreply.github.com>
2026-01-08 20:25:09 +02:00
Taras Kushnir
cbdc994e0d Add Org scope to API keys. closes PrivateCaptcha/issues#237 2025-12-22 18:54:47 +01:00
Taras Kushnir
3475c9c1e2 Add API to batch-update properties. related PrivateCaptcha/issues#45 2025-12-18 14:28:55 +01:00
Taras Kushnir
05e653631e Add pagination support for org properties. related PrivateCaptcha/issues#45 2025-12-17 18:32:41 +01:00
Taras Kushnir
653b91f86e Add API support to delete properties. related PrivateCaptcha/issues#45 2025-12-17 12:55:49 +01:00
Taras Kushnir
b959c00af8 Add create properties bulk API. related PrivateCaptcha/issues#45 2025-12-15 15:43:05 +01:00
Taras Kushnir
9b3aa0ea94 Add functionality to move property. closes PrivateCaptcha/issues#151 2025-11-11 18:16:40 +02:00
Taras Kushnir
1d62e7f150 Start migration from allow_replay to max_replay_count logic 2025-08-23 14:53:32 +03:00
Taras Kushnir
bf0598c1a9 Make siteverify API more resilient for unauthorized access
- more aggressive caching of API keys and added cache warmup
- remove direct DB access in APIkey() middleware immediately
- decrease resources usage for test puzzles
- decrease cache collision possibility for cached solved puzzles
- cosmetic improvement in rate limiter and leaky bucket Updater logic
- move user limits check and API key backfill to a separate goroutine
2025-06-21 14:16:28 +03:00
Taras Kushnir
9ec1ef8d65 Refactor caching layer
Main reason being otter/v2 release with APIs for sliding expiration.

- added new cache API to use Loader logic from otter/v2 (fetch from DB)
- main direction of work is improving "negative caching" performance
  (currently it is still intertwined with the main cache)
- expose new Prometheus metric for cache hit ratio
2025-06-21 14:16:28 +03:00
Taras Kushnir
4951055189 Initial commit 2025-05-31 10:56:00 +03:00