kshitijk4poor
509d0f12d4
fix(web): give the managed-search refusal an accurate reason
...
The refusal named a cause that cannot happen. `_vendor_gateway` never contacts the
network, so "unreachable" was wrong for the no-identity, failed-lookup and
not-entitled cases alike — and a guest was told it had no Nous identity when it
holds a perfectly good one.
Root of the guest case: `_error_info` dropped `account_tier`, so a guest whose
account lookup failed — precisely the state where the tier can no longer be read
from the JWT, because the token is inside its refresh window — came back looking
like a registered identity. Carry the stored tier through the error snapshot, and
both this refusal and every other tier-aware surface see it.
Pick the reason in priority order (guest / no usable identity / unreachable) in
one helper beside `fast_search_entitled`, so the predicate and its explanation
cannot drift, and phrase it as a clause for `selection_error`'s "but …" template —
the canonical `FREE_TIER_NEEDS_ACCOUNT` strings are standalone sentences and read
wrong embedded mid-sentence.
Also record why the `error` clause in `fast_search_entitled` is load-bearing
rather than defensive, so it is not removed as belt-and-braces.
The test helper now mirrors what anon_auth actually persists (the tier alongside
the token), which is what makes the failed-lookup case reproducible at all.
2026-10-01 23:55:54 +05:30
..
2026-09-28 10:21:41 -07:00
2026-09-29 18:49:58 -05:00
2026-09-30 21:15:08 -07:00
2026-09-29 21:48:25 -05:00
2026-10-01 09:44:06 -04:00
2026-09-29 20:57:17 -05:00
2026-09-29 14:36:55 +05:30
2026-09-29 16:47:48 +05:30
2026-09-29 18:49:58 -05:00
2026-09-27 02:55:39 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 20:24:19 -04:00
2026-09-29 07:44:13 +00:00
2026-09-28 03:37:09 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 12:43:03 -07:00
2026-09-29 18:47:44 -05:00
2026-09-27 18:37:01 +05:30
2026-09-29 20:24:19 -04:00
2026-09-29 20:58:24 -05:00
2026-09-29 07:44:13 +00:00
2026-10-01 01:50:16 -05:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-27 18:19:17 +05:30
2026-09-29 23:54:34 +05:30
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-10-01 11:42:35 -04:00
2026-10-01 04:50:26 -05:00
2026-09-29 23:54:34 +05:30
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-10-01 11:42:35 -04:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-26 22:19:53 -05:00
2026-09-28 14:16:18 -07:00
2026-09-29 07:44:13 +00:00
2026-09-30 14:23:52 -05:00
2026-09-30 22:30:35 -04:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-10-01 03:50:55 -05:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-30 23:05:43 -05:00
2026-09-29 20:34:45 +05:30
2026-10-01 03:50:55 -05:00
2026-09-28 02:00:41 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 13:08:49 -07:00
2026-09-29 20:24:19 -04:00
2026-09-28 10:21:41 -07:00
2026-09-28 04:04:23 -07:00
2026-09-29 20:24:19 -04:00
2026-09-28 13:30:57 -07:00
2026-09-30 23:10:24 -05:00
2026-09-28 10:21:41 -07:00
2026-09-28 04:44:29 -07:00
2026-09-29 21:48:25 -05:00
2026-09-29 19:49:52 -05:00
2026-09-26 21:43:07 -05:00
2026-09-28 10:21:41 -07:00
2026-09-29 20:24:19 -04:00
2026-09-28 10:21:41 -07:00
2026-09-28 06:42:00 -07:00
2026-09-27 22:04:26 -07:00
2026-09-29 12:16:43 -04:00
2026-09-29 05:59:25 -04:00
2026-09-29 22:57:48 -04:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 07:44:13 +00:00
2026-09-27 01:04:39 +05:30
2026-09-28 04:04:23 -07:00
2026-09-28 13:30:57 -07:00
2026-09-28 13:30:57 -07:00
2026-09-27 02:57:28 -07:00
2026-09-29 18:49:58 -05:00
2026-09-29 18:49:58 -05:00
2026-09-29 18:09:20 -05:00
2026-09-29 02:37:33 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 12:43:03 -07:00
2026-10-01 04:50:26 -05:00
2026-09-28 10:56:47 -05:00
2026-09-28 10:21:41 -07:00
2026-09-28 14:16:18 -07:00
2026-09-27 18:29:18 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-27 18:29:18 +05:30
2026-09-28 03:37:09 -07:00
2026-09-28 03:37:09 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 12:24:52 -05:00
2026-09-29 21:48:25 -05:00
2026-09-28 04:44:29 -07:00
2026-09-29 19:49:52 -05:00
2026-09-28 06:42:00 -07:00
2026-09-29 15:45:52 +05:30
2026-09-28 14:16:18 -07:00
2026-09-30 21:15:08 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-26 17:04:25 -05:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 05:37:55 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 12:43:03 -07:00
2026-09-29 12:55:46 -07:00
2026-09-29 20:57:57 -05:00
2026-09-29 12:55:46 -07:00
2026-09-30 14:23:51 -04:00
2026-10-01 23:55:54 +05:30
2026-09-28 10:21:41 -07:00
2026-10-01 16:22:28 +05:30
2026-09-28 10:21:41 -07:00
2026-09-29 18:33:44 +05:30
2026-09-28 10:21:41 -07:00
2026-10-01 10:46:45 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-30 22:30:18 -05:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-27 01:42:52 +05:30
2026-09-28 12:18:42 -07:00
2026-09-28 09:22:11 -07:00
2026-09-28 14:16:18 -07:00
2026-09-28 14:16:18 -07:00
2026-09-27 01:42:52 +05:30
2026-09-29 22:57:48 -04:00
2026-10-01 16:22:28 +05:30
2026-09-27 06:26:52 -05:00
2026-09-27 21:29:39 -07:00
2026-09-29 20:24:19 -04:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 04:04:23 -07:00
2026-10-01 01:45:11 -05:00
2026-09-29 20:57:57 -05:00
2026-09-28 04:59:38 -07:00
2026-09-28 12:43:03 -07:00
2026-09-27 03:41:42 -07:00
2026-09-27 00:56:11 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 04:44:29 -07:00
2026-09-28 03:34:07 -07:00
2026-09-28 10:21:41 -07:00
2026-09-26 20:40:40 -05:00
2026-09-28 15:54:01 +05:30
2026-09-28 21:03:09 -04:00
2026-09-27 20:49:04 +05:30
2026-09-27 20:49:04 +05:30
2026-09-28 08:33:43 +00:00
2026-09-28 12:43:03 -07:00
2026-09-28 12:33:01 -07:00
2026-09-30 21:15:08 -07:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 14:16:18 -07:00
2026-09-29 19:49:52 -05:00
2026-09-28 21:02:35 -04:00
2026-10-01 00:15:05 -05:00
2026-09-28 10:21:41 -07:00
2026-09-29 15:28:19 -05:00
2026-09-27 07:43:23 -05:00
2026-09-28 12:33:01 -07:00
2026-09-28 19:02:20 +05:30
2026-09-28 10:21:41 -07:00
2026-09-28 14:16:18 -07:00
2026-09-26 17:09:16 -05:00
2026-09-27 23:53:40 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 20:34:45 +05:30
2026-09-26 21:00:12 -04:00
2026-09-27 14:09:15 -05:00
2026-09-29 18:49:58 -05:00
2026-09-29 20:58:24 -05:00
2026-09-29 21:50:16 -05:00
2026-09-29 18:49:58 -05:00
2026-09-28 10:21:41 -07:00
2026-09-28 05:33:25 -07:00
2026-09-28 04:44:29 -07:00
2026-09-28 12:43:03 -07:00
2026-09-29 18:49:58 -05:00
2026-09-28 12:43:03 -07:00
2026-09-27 02:57:28 -07:00
2026-09-28 04:44:29 -07:00
2026-09-29 21:50:16 -05:00
2026-09-29 20:58:59 -05:00
2026-09-28 05:33:25 -07:00
2026-09-28 21:02:29 -04:00
2026-09-27 14:09:15 -05:00
2026-09-29 20:57:51 -05:00
2026-09-28 12:43:03 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 16:23:22 +05:30
2026-09-29 11:40:36 -05:00
2026-09-29 21:39:17 -05:00
2026-09-28 12:33:01 -07:00
2026-09-28 05:37:55 -07:00
2026-09-28 12:18:58 -07:00
2026-09-29 19:06:35 -05:00
2026-09-28 12:18:58 -07:00
2026-09-28 12:18:58 -07:00
2026-09-30 21:15:08 -07:00
2026-09-28 10:21:41 -07:00
2026-09-28 10:21:41 -07:00
2026-09-29 15:24:15 +05:30