Commit Graph
37 Commits
Author SHA1 Message Date
Evan JarrettandClaude Opus 5 13edb7184d appview: stop writing last_seen and last_used on every event
Neither is a correctness problem; both are round trips on hot paths for
timestamps nothing reads at that resolution.

UpdateUserLastSeen ran per Jetstream event for cached users, so once per indexed
record. DeviceStore.UpdateLastUsed ran per /auth/token call, so once per docker
push and pull including each layer's re-auth. Cheap against a local file, a
network round trip each against a remote primary, and the second sat on the
authentication path.

Both are now throttled to once per five minutes per subject. The MAU queries and
the admin views work in hours or days, so nothing loses meaning. The throttle
state is per-process and lost on restart, costing at most one extra write per
subject per boot; only the lease holder runs the consumer, so exactly one process
is doing the first of these at a time.

UpdateLastUsed stamps the throttle before writing rather than after, so a slow or
failing write cannot let every concurrent layer upload through to pile on more of
them.

Verified by disabling the throttle: 50 back-to-back calls then rewrite the
timestamp every time.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-12 09:14:45 -05:00
Evan Jarrett 902fba4553 convert alert to modal. go fix the codebase 2026-05-16 11:59:47 -05:00
Evan Jarrett 966e391a91 fix some connection issues with jetstream causing a crashloop 2026-05-09 15:47:19 -05:00
Evan Jarrett 7c6b8945ed improve backfill and jetstream db connections 2026-04-19 18:01:17 -05:00
Evan Jarrett 136c0a0ecc billing refactor, move billing to appview, move webhooks to appview 2026-02-26 22:28:09 -06:00
Evan Jarrett 7ba42080c5 more admin panel fixes, allow for fallback relays and jetstreams, improve star lexicon to allow for repo_page backlinks 2026-02-09 21:53:02 -06:00
Evan Jarrett 055b34af71 varies fixes for indigo xrpc calls, avatars broken on bsku profile change, opengraph card fixes, other ui improvements 2026-01-14 23:14:43 -06:00
Evan Jarrett b1767cfb6b publish xrpc endpoint lexicons. fix backfill and jetstream to actually validate records match schema 2026-01-12 21:11:55 -06:00
Evan Jarrett 3409af6c67 implement hold discovery dropdown in settings. implement a data privacy export feature 2026-01-07 22:41:14 -06:00
Evan Jarrett 56dd522218 more lint cleanup 2026-01-06 23:08:37 -06:00
Evan Jarrett efef46b15a various linting fixes 2026-01-04 22:02:01 -06:00
Evan Jarrett 1df1bb57a4 clean up logs, delete cached data when atproto account is deleted 2025-12-31 12:21:17 -06:00
Evan Jarrett f19dfa2716 move download stats to the hold account so it can persist across different appviews 2025-12-31 11:04:15 -06:00
Evan Jarrett d11356cd18 more improvements on repo page rendering. allow for repo avatar image uploads (requires new scopes) 2025-12-21 21:51:44 -06:00
Evan Jarrett b18e4c3996 implement io.atcr.repo.page. try and fetch from github,gitlab,tangled README.md files if source exists. 2025-12-20 16:32:41 -06:00
Evan Jarrett 9d773d484a dark mode! fixes #1 2025-10-28 22:05:37 -05:00
Evan Jarrett 93b1d0d4ba add identity invalidation to logstream. refresh avatar urls on login 2025-10-28 10:12:34 -05:00
Evan Jarrett c79d0ac3ab more slogggggggg 2025-10-25 13:38:39 -05:00
Evan Jarrett bf93dfba03 slog slog slog slog slog 2025-10-25 13:30:07 -05:00
Evan Jarrett 9eb69e2ea7 more linting fixes 2025-10-24 01:05:19 -05:00
Evan Jarrett a118904cb8 refactor jetstream code to unify shared functionality between that and backfill. add tests 2025-10-22 00:08:21 -05:00
Evan Jarrett 16f354b7b9 fix some backfill and db queries 2025-10-21 20:52:51 -05:00
Evan Jarrett abf48407cc clean up db migrations and schema. implement a way to fetch readmes for documentation 2025-10-21 10:28:48 -05:00
Evan Jarrett ce7160cdca add backlinks to tags 2025-10-21 09:29:40 -05:00
Evan Jarrett 965e73881b try and support multi-arch manifest types. add more unit tests. add scope for oras blobs for future proofing 2025-10-19 22:26:47 -05:00
Evan Jarrett f5e6e6954f fix credential helper to read insecure-registries. fix device registration flow 2025-10-10 19:55:15 -05:00
Evan Jarrett fb5e09489e fix tag and manifest deletion 2025-10-10 17:04:23 -05:00
Evan Jarrett 3fad473910 use presigned urls for s3 to avoid hold bandwidth 2025-10-10 09:43:26 -05:00
Evan Jarrett 6080e9f0ee backfill cleanup 2025-10-09 17:24:49 -05:00
Evan Jarrett e337495b4c fix pull counts, add pingpong to jetstream 2025-10-08 21:53:12 -05:00
Evan Jarrett 6b3223cf04 bugfixes for stars. implement migration schema 2025-10-08 14:49:30 -05:00
Evan Jarrett 454298645c implement stars and pull tracking rename registry -> appview 2025-10-08 12:31:51 -05:00
Evan Jarrett de60510097 add user page, clean up UI. begin label spec implementation 2025-10-07 20:50:40 -05:00
Evan Jarrett 5bcedac3c1 update docker credential helper to remove configure and store devices, not api keys. improve ui, fetch profile image 2025-10-07 19:52:26 -05:00
Evan Jarrett 2d16bbfee3 cleanup more auth 2025-10-07 10:58:11 -05:00
Evan Jarrett 678a11d1b7 backfill via com.atproto.sync.listReposByCollection 2025-10-06 21:24:46 -05:00
Evan Jarrett e56634d6c8 more jetstream and ui improvements 2025-10-06 17:39:21 -05:00