GoWeBaKnowledge Center

title: "Addendum 19 — WebaScan & WebaDrive: Bug Fixes & Improvements" date: "2026-09-01" author: "GoWeBa Platform Team" tags: ["webascan", "webadrive", "extraction", "webaform", "pdf", "fixes"]

Addendum 19 — WebaScan & WebaDrive: Bug Fixes & Improvements

Overview

Following an in-depth audit of WebaScan and WebaDrive, 8 anomalies were identified and resolved across 8 Work Packages grouped into 5 releases. These fixes improve the reliability of batch extraction, role assignment in forms, folder statistics display, and consolidated data management.


WP-1 — Progressive Batch Extraction ⚡

Problem: Bulk document extraction was consistently failing due to HTTP timeouts (>60s for large projects).

Solution: "Fire-and-forget" architecture with asynchronous tracking:

  • The POST /api/storage/projects/aggregated-data/extract immediately returns a jobId
  • The client periodically polls GET /api/storage/projects/aggregated-data/extract-status?jobId=...
  • Real-time progress bar with percentage and file counter
  • Final summary: files processed vs. errors

Files: extract/route.ts, extract-status/route.ts, extraction-jobs.ts, aggregated-data-export.tsx


WP-2 — Fill Assistant with Roles 👥

Problem: The "Fill a Form" dialog did not allow users to specify who plays which role (buyer, seller, notary, etc.), forcing them to manually correct each field.

Solution: Two-step dialog:

  1. Step 1 — Form template selection (private + public library)
  2. Step 2 — Role assignment (10 common roles: buyer, seller, notary, lender, guarantor, witnesses 1–2, fiduciario (trustee), beneficiary, representative)
  • Trilingual labels (fr/en/es) with emoji icons
  • The AI receives the role context and automatically places the right people in the right fields
  • "Skip Roles" option for filling without party context

Files: fill-project-form-dialog.tsx, app/api/forms/fills/route.ts


WP-3 — Folder Counters 📊

Problem: The completion panel was displaying the number of checklist items instead of the actual number of files.

Solution: Two distinct displays:

  • Files: actual number of files in the folder
  • Subfolders: actual number of subfolders
  • Differentiated visual icons (File vs. FolderOpen)

Files: folder-completion-panel.tsx, webadrive-client.tsx


WP-4 — Collapsible Consolidated Data 📋

Problem: The inline consolidated data table took up the entire screen, making navigation difficult.

Solution: Collapsible table with toggle:

  • "Show/Hide Data" button with field counter
  • Animated ChevronDown/ChevronUp
  • Table hidden by default for a cleaner display

Files: aggregated-data-export.tsx


WP-5 — Improved Master PDF 📄

Problem: The master PDF displayed "(No consolidated field)" when a field had no value.

Solution: User-friendly message:

  • Explanatory text in italics indicating that the value will be available after the next extraction
  • Adapted to the project language (fr/en/es)

Files: pdf-master/route.ts


WP-6 — "Other / Custom" Kit 🧰

Problem: No generic kit was available for projects that do not match any of the specialized kits.

Solution: Addition of the custom-generic kit to the catalogue:

  • Trilingual name: "Autre / Custom / Otro"
  • "Universal" category with generic fields (parties, amount, dates, address, description, notes)
  • Available to all organizations

Files: webaject-templates.ts


WP-7 — Individual Re-Analyze Button 🔄

Problem: It was impossible to re-run extraction on a single file that had failed (status "EXtrc ❌").

Solution:

  • "Re-Extract" button displayed next to each file in error
  • POST call to /api/storage/projects/aggregated-data/extract-single
  • Loading spinner during processing
  • Confirmation or error toast

Files: extract-single/route.ts, webadrive-client.tsx


WP-8 — Side-by-Side Conflict Resolution ⚖️

Problem: When multiple documents contained different values for the same field, no resolution mechanism was offered.

Complete solution:

  • Summary banner at the top of the table: number of conflicts detected, or a "all resolved" confirmation
  • ⚠ N variants badge on each conflicting field — click to expand
  • Side-by-side panel (responsive 2–3 column grid) displaying each variant value with:
    • The source document (name + number)
    • The value itself
    • A "Choose" or "Confirm" button (if it is the current value)
  • Immediate save: the chosen value replaces the consensus value in projectData.aggregatedData
  • ✓ Resolved badge with green icon after resolution
  • User responsibility: the AI extracts and cross-references; the human decides in case of doubt

Endpoint: POST /api/storage/projects/aggregated-data/resolve-conflict

  • Body: { folderId, fieldKey, chosenValue }
  • Validates that the chosen value is among the known variants
  • Records resolvedBy (userId) and resolvedAt for traceability

Files: consolidated-data-viewer.tsx, resolve-conflict/route.ts


Technical Summary

WPDescriptionStatus
WP-1Progressive batch extraction✅
WP-2Fill Form Wizard + roles✅
WP-3Folder counters✅
WP-4Collapsible data✅
WP-5Improved master PDF✅
WP-6Generic Custom kit✅
WP-7Individual Re-Analyze✅
WP-8Side-by-side conflict resolution✅

Commits: d6b672d (WP-1/3/4/5/6/7), 28a21d0 (WP-2), c70412e (WP-8)

© 2024–2026 GOWEBA INC. — Make it Simple, Make it Possible, Make it Real.