CoffeeKnyte
0cc706e066
fix(playback): resolve group-merged cap in async stream enforcer
...
The enforcer's LimitFunc read the raw users.max_streams column, which is 0
("inherit from group") for every standard account since migrations
20260702180000/20260702190000 moved the real cap into the Default Group.
The enforcer treats limit <= 0 as unlimited, so the async over-cap brain
never trimmed anyone on a default install — only per-process synchronous
admission held, leaving the cross-node backstop it was built for a no-op.
Extract admission's limit lookup into a shared SessionLimitProvider
(GetByID + access.EffectivePolicyForUser) and feed the enforcer through
it, so admission and the enforcer can never disagree about a user's
effective cap again.
Part of #306 .
2026-07-29 12:28:06 +00:00
..
2026-07-14 11:51:27 -04:00
2026-07-14 11:51:27 -04:00
2026-06-18 12:16:27 -04:00
2026-07-10 08:21:26 -04:00
2026-07-10 08:21:26 -04:00
2026-07-26 00:12:29 -04:00
2026-05-22 23:26:56 -04:00
2026-07-09 08:53:52 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-07-20 13:25:46 -04:00
2026-07-20 13:25:46 -04:00
2026-07-14 11:51:27 -04:00
2026-07-14 11:51:27 -04:00
2026-07-24 14:22:12 -04:00
2026-07-24 14:22:12 -04:00
2026-07-24 14:22:12 -04:00
2026-07-24 14:22:12 -04:00
2026-07-24 14:22:12 -04:00
2026-07-24 14:22:12 -04:00
2026-07-24 14:22:12 -04:00
2026-07-24 14:22:12 -04:00
2026-07-27 08:15:25 -04:00
2026-07-27 08:15:25 -04:00
2026-07-10 22:30:04 -04:00
2026-07-09 08:53:52 -04:00
2026-06-07 21:27:56 -04:00
2026-07-14 11:51:27 -04:00
2026-06-06 22:29:26 -04:00
2026-07-09 08:53:52 -04:00
2026-07-14 11:51:27 -04:00
2026-07-14 12:13:16 -04:00
2026-07-27 08:15:25 -04:00
2026-07-01 22:05:36 -04:00
2026-07-10 08:21:26 -04:00
2026-07-14 11:51:27 -04:00
2026-07-14 11:51:27 -04:00
2026-07-27 08:15:25 -04:00
2026-07-26 00:12:29 -04:00
2026-05-22 23:26:56 -04:00
2026-05-23 23:48:25 -04:00
2026-05-29 23:59:12 -04:00
2026-07-20 13:25:46 -04:00
2026-07-28 21:27:58 -04:00
2026-07-02 14:23:14 -04:00
2026-07-27 08:15:25 -04:00
2026-07-27 08:15:25 -04:00
2026-06-10 19:25:07 -04:00
2026-06-10 19:25:07 -04:00
2026-07-02 14:23:14 -04:00
2026-05-22 23:26:56 -04:00
2026-07-24 14:22:12 -04:00
2026-07-29 12:23:48 +00:00
2026-07-29 12:28:06 +00:00
2026-05-22 23:26:56 -04:00
2026-07-10 08:21:26 -04:00
2026-07-10 08:21:26 -04:00
2026-07-09 09:02:45 -04:00
2026-07-09 09:02:45 -04:00
2026-07-14 11:51:27 -04:00
2026-07-14 11:51:27 -04:00
2026-07-09 08:53:52 -04:00
2026-07-14 11:51:27 -04:00
2026-07-14 11:51:27 -04:00
2026-07-14 11:51:27 -04:00
2026-05-22 23:26:56 -04:00
2026-05-22 23:26:56 -04:00
2026-07-14 11:51:27 -04:00
2026-07-14 11:51:27 -04:00
2026-07-18 17:12:36 -04:00
2026-07-14 11:51:27 -04:00
2026-07-16 14:48:00 -04:00
2026-07-02 14:23:14 -04:00
2026-07-02 14:23:14 -04:00
2026-07-28 21:27:58 -04:00
2026-07-20 13:25:46 -04:00
2026-07-20 13:25:46 -04:00
2026-07-20 13:25:46 -04:00
2026-07-14 11:51:27 -04:00
2026-07-14 12:13:16 -04:00