Commit Graph

7475 Commits

Author SHA1 Message Date
Rohit Rajan c9ce803eb1 fix: click action url safeguards 2026-09-13 13:23:10 +05:30
Rohit Rajan 7ef6ee7c58 fix: register click with url 2026-09-13 13:12:14 +05:30
Karishma Shukla 221d70dcea Merge pull request #1213 from getmaxun/centre-queue
fix: centralize run queuing logic
2026-09-12 00:38:24 +05:30
Rohit Rajan 4a095ea548 fix: address coderabbit review 2026-09-12 00:33:59 +05:30
Rohit 902593cebc Merge branch 'develop' into centre-queue 2026-09-12 00:20:19 +05:30
Karishma Shukla ede0cc8833 Merge pull request #1211 from VyomVirani/fix/internal-socket-auth
fix(server): authenticate the sockets the backend opens to itself
2026-09-12 00:18:38 +05:30
Rohit Rajan 2e7f5b03e2 fix: centralize run queuing logic 2026-09-12 00:13:40 +05:30
Vyom Virani 223710f409 fix(server): authenticate the sockets the backend opens to itself
API, SDK and scheduled runs have hung since socket auth was added.

`authenticateSocket` is applied to every namespace via `io.on('new_namespace')`,
and it requires a token in `handshake.auth` or a `token` cookie. Browser clients
carry the httpOnly cookie, so the UI is unaffected. But the backend also joins
its own `/<browserId>` namespace as a socket.io *client* when a run is started
by something other than a browser, and that connection has neither a cookie nor
an auth token. It is refused.

The refusal is not what makes this hard to spot. `connect_error` is logged and
the socket cleaned up, but the run is never failed - so the browser eventually
falls back to a dummy socket, `ready-for-run` never reaches the caller, and the
run sits there. It reads as "slow", not as "broken".

Both server-opened connections are affected and they are the three paths people
report: `api/record.ts` (API and SDK) and `workflow-management/scheduler`
(scheduled runs).

Fixed by minting a short-lived token with the same `id` claim the HTTP login
issues, so the gate needs no special case and `socketOwns` keeps working: the
connection authenticates as the user the run already belongs to, not as a
privileged internal caller. A 60-second expiry because it is used once,
immediately - a login token is deliberately long-lived, which is right for a
session and wrong for a handshake.

Verified by A/B on one stack, same database, only the image changing:

  before   run hangs, 120s deadline exceeded
           "Socket connection error for API run ...: Unauthorized"
           "proceeding with dummy socket" -> "[SDK] Error executing robot: Run not found"
  after    run completes in 18.6s
           0 Unauthorized socket errors, 0 dummy socket fallbacks

And the gate itself, against `/queued-run`: no auth is refused, a minted token
connects, a token signed with the wrong secret is refused.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 10:49:42 +02:00
Karishma Shukla 8020af5405 Merge pull request #1206 from be-student/codex/1168-current-robot-name
fix(runs): display current robot names in group headings
2026-09-08 22:46:39 +05:30
Karishma Shukla 5c22d8e2b1 Merge pull request #1202 from byannayang-y-y/feature/image-ocr-support-august
Feature - Add JPG/PNG image support with OCR to document robots, Issue #1110
2026-09-08 20:53:40 +05:30
Karishma Shukla f6963174c9 Merge pull request #1203 from mbajji/issue1182
Fix for Issue1182
2026-09-08 20:52:56 +05:30
Karishma Shukla 1bda99a871 fix: table alignment 2026-09-08 17:12:41 +05:30
Karishma Shukla 5e387bbc46 fix: table alignment 2026-09-08 17:02:16 +05:30
Karishma Shukla cdb05d5948 chore: sync sponsors 2026-09-08 16:58:22 +05:30
Karishma Shukla c0902f4f48 chore: sync sponsors 2026-09-08 16:52:25 +05:30
eunwoo song be66d2f080 fix(runs): preserve historical-name search 2026-09-08 08:09:17 +09:00
Ishan Karpe 03bd5d4051 Merge branch 'develop' into feature/image-ocr-support-august 2026-09-07 13:17:34 -07:00
Rohit Rajan 7127284343 fix: search filter by run group name only 2026-09-07 23:33:36 +05:30
Karishma Shukla 2f673e4397 Merge pull request #1207 from getmaxun/scrape-monitoring
fix: match chip sizes for run status
2026-09-07 15:40:37 +05:30
amhsirak b47621fc9b fix: remove size small 2026-09-07 15:36:19 +05:30
eunwoo song 00e6833fcd fix(runs): display current robot names in group headings 2026-09-06 10:59:52 +09:00
Karishma Shukla 794e2ee237 Merge pull request #1181 from Wootark-Kim/develop
feat: run comparison for Scrape robots (text content)
2026-09-05 16:57:26 +05:30
Karishma Shukla dedd8de3d1 fix: select only necessary attributes in run comparison
Optimize query by selecting specific attributes to reduce data load.
2026-09-05 16:53:38 +05:30
Rohit Rajan 5fe3340ae3 fix: address run comparison review comments 2026-09-05 00:17:12 +05:30
Karishma Shukla 415f1acae5 fix: banner size 2026-09-04 17:40:08 +05:30
Karishma Shukla 71cc806bd2 chore: sync sponsors 2026-09-04 17:21:35 +05:30
Maheswari Bajji 29ccf620c3 Enhance instructions for generate-env.sh usage
Added examples for running generate-env.sh script.
2026-09-02 22:53:18 -07:00
jceychen 84a6f04465 Merge branch 'develop' into develop 2026-09-02 19:24:30 -07:00
Maheswari Bajji badfd3116b Fix path for generate-env.sh in documentation
Updated the command to run the environment generator script with the correct path.
2026-09-02 12:02:06 -07:00
Karishma Shukla b7dcd36c8d chore: add document ext 2026-08-30 21:43:25 +05:30
joshjyu 0c44554106 fix(document): let table-only OCR results reach structured extraction 2026-08-28 09:37:52 -07:00
joshjyu 8321ee9366 fix(document): keep PaddleOCR tables when text extraction is empty 2026-08-28 09:23:24 -07:00
joshjyu 5cdff1319b fix(document): apply the email boundary to all link patterns 2026-08-28 09:21:32 -07:00
joshjyu e8209b891d fix(document): bound image size before script detection
Called downscaleIfOversized immediately after writing the temp file.
Also switched the resized dimensions from Math.round to Math.floor so the integer result cannot exceed MAX_OCR_PIXELS.
2026-08-27 23:13:21 -07:00
joshjyu fb2f23c866 fix(document): escape OCR text in HTML output
Added an escapeHtml helper and apply it to paragraph text and both table
cell paths. Paragraph text is escaped before newlines become <br>, so
the inserted breaks survive. Table structure, page sections, and the
DOCX sourceHtml passthrough are unchanged, and toMarkdown is untouched
since markdown output is not HTML.
2026-08-27 23:06:57 -07:00
joshjyu 8579ea0503 fix(document): stop truncating multi-label domains in link extraction 2026-08-27 22:56:49 -07:00
joshjyu c8c3236031 fix(document): make the OCR pixel guard fail closed
Note this also affects the PDF path: ocrPDF calls preprocessPageImage per rasterized page, so a page that cannot be measured or downscaled now fails that page's OCR instead of silently continuing.
2026-08-27 22:52:35 -07:00
Maheswari Bajji 98c7db260b Revise self-hosting Docker documentation
Updated instructions for generating .env file and docker-compose setup.
2026-08-27 18:13:40 -07:00
Karishma Shukla c777ab974d Merge pull request #1205 from getmaxun/refactor-action-settings
refactor: move nested DisplaySettings component so React does not remount it and lose state on every render
2026-08-28 00:26:19 +05:30
Karishma Shukla 7fa66a13e3 refactor: move nested DisplaySettings component so React does not remount it and lose state on every render 2026-08-28 00:20:49 +05:30
Maheswari Bajji f98cec5c74 test upload code rabbit 2026-08-26 19:51:29 -07:00
Maheswari Bajji b2afe679fe docs: fix generate-env.sh shebang, guards, and script paths 2026-08-26 19:37:12 -07:00
Maheswari Bajji e617a77d41 code rabbit fixes 2026-08-26 19:13:30 -07:00
Maheswari Bajji 0be17fa54e uploaded the script 2026-08-26 18:42:29 -07:00
Maheswari Bajji 07a3fcbe40 created a script to make a .env file 2026-08-26 18:39:13 -07:00
Maheswari Bajji 4f589ddbbc fixed docs to have the correct shell commands to run 2026-08-26 18:16:11 -07:00
joshjyu c6dcbeda5c fix(document): build image temp path from string literals only 2026-08-26 15:47:07 -07:00
Jesse Baugh 453e694820 Clarify document extraction and parsing features
Updated the document extraction and parsing capabilities to specify native parsers for certain document types and clarified OCR support for scanned images.
2026-08-26 15:42:19 -07:00
joshjyu 2ae77fb028 fix(document): bound OCR preprocessing memory by pixel count
This fix addresses the edge case of an image with a large pixel count that is still under the 10 MB upload limit. For example, a 10000x10000 pixel JPEG compresses well under 10 MB but needs >2 GB across the per-pixel buffers in preprocessPageImage. Typed arrays are backed by external memory rather than V8's old space, so --max-old-space-size does not cap them and the process can be OOM-killed instead of failing gracefully.

Blank images are the most egregious case: PaddleOCR bounds its own input via maxSideLength so an image only reaches this code through the Tesseract fallback which is triggered by empty PaddleOCR output.

Read dimensions from the header with sharp (no full decode) and downscale above 25 MP before any allocation. Downscaling rather than rejecting keeps high-DPI scans working, since OCR gains nothing beyond roughly 300 DPI. This also covers the PDF path, where ocrPDF rasterizes pages at 4x and a large-format page could hit the same ceiling.
2026-08-26 15:19:11 -07:00
joshjyu 7c8032b9af Merge: remote-tracking branch 'upstream/develop' into feature/image-ocr-support-august 2026-08-26 12:45:40 -07:00