Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Submit feedback
    • Contribute to GitLab
  • Sign in
U
upgrade-data-crawler-fe
  • Project
    • Project
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 0
    • Issues 0
    • List
    • Board
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • ThinhNC
  • upgrade-data-crawler-fe
  • Merge Requests
  • !10

Merged
Opened Sep 07, 2026 by ThinhNC@ThinhNC
  • Report abuse
Report abuse

feat(crawler): add table row navigation, duplicate rerun debounce and export enhancements

Overview

This pull request improves the user experience across the Crawler dashboard and detail pages. It enables table row navigation, debounces rerun actions to prevent duplicate job dispatching, automatically redirects upon rerun from the detail page, and polishes quota usage & export states.


Key Changes

1. Table Row Click Navigation

  • Crawler Table (crawler-task-table.tsx):
    • Made the entire table row clickable (cursor-pointer hover:bg-muted/30), redirecting users directly to the job detail view (/crawl-jobs/[id]).
    • Added e.stopPropagation() to all nested interactive elements (checkboxes, copy buttons, status badges, action dropdowns, and external links) to prevent unwanted navigation triggers.

2. Double-Click & Duplicate Rerun Debouncing

  • Debounce Mutex (use-crawl-jobs.ts): Added a module-level rerunInFlight tracker to eliminate duplicate requests fired within 2.5 seconds.
  • UI State (crawler-task-table.tsx): Disabled rerun actions and displayed spinning indicators while an operation is in progress.
  • Detail View Auto-redirect (crawl-jobs/[id]/page.tsx): Triggering a rerun from the job detail view now smoothly redirects the user to the newly created job page (/crawl-jobs/[new-id]).

3. Partial Export & Progress Sync

  • Enabled export actions and export modal triggers for stopped/canceled jobs having successPages > 0.
  • Synchronized progress bar calculations between discovered total pages and real-time processed pages.

4. UI Cleanups & Quota Widget

  • Cleaned up confusing "100% resource limit reached" warning placeholder on the home dashboard.
  • Standardized translations in translations.ts.

Check out, review, and merge locally

Step 1. Fetch and check out the branch for this merge request

git fetch origin
git checkout -b feat/crawler-row-navigation-and-rerun-guard origin/feat/crawler-row-navigation-and-rerun-guard

Step 2. Review the changes locally

Step 3. Merge the branch and fix any conflicts that come up

git fetch origin
git checkout origin/develop
git merge --no-ff feat/crawler-row-navigation-and-rerun-guard

Step 4. Push the result of the merge to GitLab

git push origin develop

Note that pushing to GitLab requires write access to this repository.

Tip: You can also checkout merge requests locally by following these guidelines.

  • Discussion 0
  • Commits 1
  • Changes 11
Assignee
No assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
0
Labels
None
Assign labels
  • View project labels
Reference: ThinhNC/upgrade-data-crawler-fe!10

Revert this merge request

This will create a new commit in order to revert the existing changes.

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.

Cherry-pick this merge request

Switch branch
Cancel
A new branch will be created in your fork and a new merge request will be started.