browsertrix/backend/btrixcloud
Ilya Kreymer 8107b054f6
Profiles: Make browser commit API call idempotent (#2728)
- Fix race condition related to browser commit time
- The profile commit request waits for browser to actual finish, and
profile saved. This can cause request to time out, resulting in a retry,
in which the browser has already been closed.
- With these changes, the commit is now 'idempotent' and returns a
waiting_for_browser until the profile is actually committed.
- On frontend, keep pinging commit endpoint with a timeout while 'waiting_for_browser' is returned, actual committed when endpoint returns profile id.

---------

Co-authored-by: sua yoo <sua@suayoo.com>
2025-07-22 17:59:49 -07:00
..
migrations Allow users to run crawls with 1 or 2 browser windows (#2627) 2025-06-03 13:37:30 -07:00
operator concurrent crawls: revert change in #2701, previous logic was already correct (#2726) 2025-07-10 13:34:56 -07:00
__init__.py
auth.py fixes token lifetime bug / improve security (#2490) 2025-03-19 10:07:09 -07:00
background_jobs.py Rework crawl page migration + MongoDB Query Optimizations (#2412) 2025-02-20 15:26:11 -08:00
basecrawls.py Ensure replay.json returns correct origin for pagesQueryUrl (#2741) 2025-07-16 10:48:24 -07:00
colls.py remove deleted collections from crawlconfigs (#2615) 2025-05-20 18:38:40 -07:00
crawlconfigs.py Allow searching by multiple tags & profiles with "and"/"or" options for tags (#2717) 2025-07-11 22:35:52 -04:00
crawlmanager.py Profiles: Make browser commit API call idempotent (#2728) 2025-07-22 17:59:49 -07:00
crawls.py Ensure replay.json returns correct origin for pagesQueryUrl (#2741) 2025-07-16 10:48:24 -07:00
db.py Allow users to run crawls with 1 or 2 browser windows (#2627) 2025-06-03 13:37:30 -07:00
emailsender.py Rework crawl page migration + MongoDB Query Optimizations (#2412) 2025-02-20 15:26:11 -08:00
invites.py Reformat with Black for 2025 ruleset (#2349) 2025-01-29 16:57:06 -05:00
k8sapi.py Optimize single-page crawl workflows (#2656) 2025-06-10 12:13:57 -07:00
main_bg.py move db migrations to initContainers: (#2449) 2025-03-03 13:13:15 -08:00
main_migrations.py move db migrations to initContainers: (#2449) 2025-03-03 13:13:15 -08:00
main_op.py move db migrations to initContainers: (#2449) 2025-03-03 13:13:15 -08:00
main.py Allow users to run crawls with 1 or 2 browser windows (#2627) 2025-06-03 13:37:30 -07:00
models.py Allow searching by multiple tags & profiles with "and"/"or" options for tags (#2717) 2025-07-11 22:35:52 -04:00
ops.py move db migrations to initContainers: (#2449) 2025-03-03 13:13:15 -08:00
orgs.py Use curly quote for default archive name instead of straight quote (#2700) 2025-07-16 11:41:19 -04:00
pages.py Add Org Check for Collection access (#2616) 2025-05-20 15:30:22 -07:00
pagination.py
profiles.py Profiles: Make browser commit API call idempotent (#2728) 2025-07-22 17:59:49 -07:00
storages.py Set fields in AIOConfig to prevent MissingContentLength error on upload (#2665) 2025-06-12 15:27:38 -04:00
subs.py Add API endpoint to check if subscription is activated (#2582) 2025-05-06 17:36:58 -07:00
uploads.py Ensure replay.json returns correct origin for pagesQueryUrl (#2741) 2025-07-16 10:48:24 -07:00
users.py Fix user emails use userout (#2511) 2025-03-24 12:04:39 -07:00
utils.py Ensure replay.json returns correct origin for pagesQueryUrl (#2741) 2025-07-16 10:48:24 -07:00
version.py version: bump to 1.17.4 2025-07-16 10:22:10 -07:00
webhooks.py Better cacheing of presigned URLs + support for thumbnails (#2446) 2025-03-03 12:05:23 -08:00