// import puppeteer from 'puppeteer';
import puppeteer from "puppeteer-extra";
import StealthPlugin from "puppeteer-extra-plugin-stealth";

puppeteer.use(StealthPlugin());
const browser = await puppeteer.launch({
  headless: process.env.ENVIRONMENT === "prod" ? "new" : false,
  // userDataDir: CONSTANTS.PROFILE_PATH, // Thư mục lưu profile
  timeout: 60000,
  args: [
    "--no-sandbox",
    "--disable-setuid-sandbox",
    "--disable-dev-shm-usage",
    "--disable-gpu",
    "--disable-software-rasterizer",
    "--disable-background-networking",
    "--disable-sync",
    "--mute-audio",
    "--no-first-run",
    "--no-default-browser-check",
    "--ignore-certificate-errors",
    "--start-maximized",
    "--disable-site-isolation-trials", // Tắt sandbox riêng cho từng site
    "--memory-pressure-off", // Tắt cơ chế bảo vệ bộ nhớ
    "--disk-cache-size=0", // Không dùng cache để giảm bộ nhớ
    "--enable-low-end-device-mode", // Kích hoạt chế độ tiết kiệm RAM
    "--disable-best-effort-tasks", // Tắt tác vụ không quan trọng
    "--disable-accelerated-2d-canvas", // Không dùng GPU để vẽ canvas
    "--disable-threaded-animation", // Giảm animation chạy trên nhiều thread
    "--disable-threaded-scrolling", // Tắt cuộn trang đa luồng
    "--disable-logging", // Tắt log debug
    "--blink-settings=imagesEnabled=false", // Không tải hình ảnh,
    "--disable-background-timer-throttling", // Tránh việc throttling các timer khi chạy nền.
    "--disable-webrtc",
    "--disable-ipc-flooding-protection", // Nếu có extension cần IPC, cái này giúp tối ưu.
  ],
});

export default browser;
