Merge branch 'markdownify' of https://github.com/getmaxun/maxun into markdownify

This commit is contained in:
amhsirak
2025-11-20 20:57:06 +05:30
5 changed files with 105 additions and 51 deletions

View File

@@ -761,6 +761,14 @@ async function executeRun(id: string, userId: string, requestedFormats?: string[
); );
} }
capture("maxun-oss-run-created-api", {
runId: plainRun.runId,
user_id: userId,
status: "success",
robot_type: "scrape",
formats
});
await destroyRemoteBrowser(plainRun.browserId, userId); await destroyRemoteBrowser(plainRun.browserId, userId);
return { return {
@@ -800,6 +808,14 @@ async function executeRun(id: string, userId: string, requestedFormats?: string[
); );
} }
capture("maxun-oss-run-created-api", {
runId: plainRun.runId,
user_id: userId,
status: "failed",
robot_type: "scrape",
formats
});
await destroyRemoteBrowser(plainRun.browserId, userId); await destroyRemoteBrowser(plainRun.browserId, userId);
throw error; throw error;

View File

@@ -268,6 +268,14 @@ async function processRunExecution(job: Job<ExecuteRunData>) {
logger.log('warn', `Failed to send webhooks for markdown robot run ${data.runId}: ${webhookError.message}`); logger.log('warn', `Failed to send webhooks for markdown robot run ${data.runId}: ${webhookError.message}`);
} }
capture("maxun-oss-run-created-manual", {
runId: data.runId,
user_id: data.userId,
status: "success",
robot_type: "scrape",
formats,
});
await destroyRemoteBrowser(browserId, data.userId); await destroyRemoteBrowser(browserId, data.userId);
return { success: true }; return { success: true };
@@ -296,6 +304,14 @@ async function processRunExecution(job: Job<ExecuteRunData>) {
logger.log('warn', `Failed to send run-failed notification for markdown robot run ${data.runId}: ${socketError.message}`); logger.log('warn', `Failed to send run-failed notification for markdown robot run ${data.runId}: ${socketError.message}`);
} }
capture("maxun-oss-run-created-manual", {
runId: data.runId,
user_id: data.userId,
status: "failed",
robot_type: "scrape",
formats,
});
await destroyRemoteBrowser(browserId, data.userId); await destroyRemoteBrowser(browserId, data.userId);
throw error; throw error;

View File

@@ -500,12 +500,12 @@ router.post('/recordings/scrape', requireSignIn, async (req: AuthenticatedReques
logger.log('info', `Markdown robot created with id: ${newRobot.id}`); logger.log('info', `Markdown robot created with id: ${newRobot.id}`);
capture( capture(
'maxun-oss-markdown-robot-created', 'maxun-oss-robot-created',
{ {
robot_meta: newRobot.recording_meta, robot_meta: newRobot.recording_meta,
url: url, recording: newRobot.recording,
} }
); )
return res.status(201).json({ return res.status(201).json({
message: 'Markdown robot created successfully.', message: 'Markdown robot created successfully.',

View File

@@ -321,6 +321,14 @@ async function executeRun(id: string, userId: string) {
); );
} }
capture("maxun-oss-run-created-scheduled", {
runId: plainRun.runId,
user_id: userId,
status: "success",
robot_type: "scrape",
formats
});
await destroyRemoteBrowser(plainRun.browserId, userId); await destroyRemoteBrowser(plainRun.browserId, userId);
return true; return true;
@@ -352,6 +360,14 @@ async function executeRun(id: string, userId: string) {
); );
} }
capture("maxun-oss-run-created-scheduled", {
runId: plainRun.runId,
user_id: userId,
status: "failed",
robot_type: "scrape",
formats
});
await destroyRemoteBrowser(plainRun.browserId, userId); await destroyRemoteBrowser(plainRun.browserId, userId);
throw error; throw error;

View File

@@ -731,11 +731,10 @@ export const RobotIntegrationPage = ({
width: "100%", width: "100%",
}} }}
> >
{!isScrapeRobot && (
<Button <Button
variant="outlined" variant="outlined"
disabled={isScrapeRobot}
onClick={() => { onClick={() => {
if (isScrapeRobot) return;
if (!recordingId) return; if (!recordingId) return;
setSelectedIntegrationType("googleSheets"); setSelectedIntegrationType("googleSheets");
setSettings({ ...settings, integrationType: "googleSheets" }); setSettings({ ...settings, integrationType: "googleSheets" });
@@ -746,20 +745,23 @@ export const RobotIntegrationPage = ({
display: "flex", display: "flex",
flexDirection: "column", flexDirection: "column",
alignItems: "center", alignItems: "center",
background: 'white', background: "white",
color: isScrapeRobot ? "#aaa" : "#ff00c3", color: "#ff00c3",
opacity: isScrapeRobot ? 0.5 : 1,
cursor: isScrapeRobot ? "not-allowed" : "pointer",
}} }}
> >
<img src="https://ik.imagekit.io/ys1blv5kv/gsheet.svg" alt="Google Sheets" style={{ margin: "6px" }} /> <img
src="https://ik.imagekit.io/ys1blv5kv/gsheet.svg"
alt="Google Sheets"
style={{ margin: "6px" }}
/>
Google Sheets Google Sheets
</Button> </Button>
)}
{!isScrapeRobot && (
<Button <Button
variant="outlined" variant="outlined"
disabled={isScrapeRobot}
onClick={() => { onClick={() => {
if (isScrapeRobot) return;
if (!recordingId) return; if (!recordingId) return;
setSelectedIntegrationType("airtable"); setSelectedIntegrationType("airtable");
setSettings({ ...settings, integrationType: "airtable" }); setSettings({ ...settings, integrationType: "airtable" });
@@ -770,15 +772,19 @@ export const RobotIntegrationPage = ({
display: "flex", display: "flex",
flexDirection: "column", flexDirection: "column",
alignItems: "center", alignItems: "center",
background: 'white', background: "white",
color: isScrapeRobot ? "#aaa" : "#ff00c3", color: "#ff00c3",
opacity: isScrapeRobot ? 0.5 : 1,
cursor: isScrapeRobot ? "not-allowed" : "pointer",
}} }}
> >
<img src="https://ik.imagekit.io/ys1blv5kv/airtable.svg" alt="Airtable" style={{ margin: "6px" }} /> <img
src="https://ik.imagekit.io/ys1blv5kv/airtable.svg"
alt="Airtable"
style={{ margin: "6px" }}
/>
Airtable Airtable
</Button> </Button>
)}
<Button variant="outlined" onClick={() => { <Button variant="outlined" onClick={() => {
if (!recordingId) return; if (!recordingId) return;