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);
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);
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}`);
}
capture("maxun-oss-run-created-manual", {
runId: data.runId,
user_id: data.userId,
status: "success",
robot_type: "scrape",
formats,
});
await destroyRemoteBrowser(browserId, data.userId);
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}`);
}
capture("maxun-oss-run-created-manual", {
runId: data.runId,
user_id: data.userId,
status: "failed",
robot_type: "scrape",
formats,
});
await destroyRemoteBrowser(browserId, data.userId);
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}`);
capture(
'maxun-oss-markdown-robot-created',
'maxun-oss-robot-created',
{
robot_meta: newRobot.recording_meta,
url: url,
recording: newRobot.recording,
}
);
)
return res.status(201).json({
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);
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);
throw error;

View File

@@ -731,54 +731,60 @@ export const RobotIntegrationPage = ({
width: "100%",
}}
>
<Button
variant="outlined"
disabled={isScrapeRobot}
onClick={() => {
if (isScrapeRobot) return;
if (!recordingId) return;
setSelectedIntegrationType("googleSheets");
setSettings({ ...settings, integrationType: "googleSheets" });
const basePath = robotPath === "prebuilt-robots" ? "/prebuilt-robots" : "/robots";
navigate(`${basePath}/${recordingId}/integrate/googleSheets`);
}}
style={{
display: "flex",
flexDirection: "column",
alignItems: "center",
background: 'white',
color: isScrapeRobot ? "#aaa" : "#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" }} />
Google Sheets
</Button>
<Button
variant="outlined"
disabled={isScrapeRobot}
onClick={() => {
if (isScrapeRobot) return;
if (!recordingId) return;
setSelectedIntegrationType("airtable");
setSettings({ ...settings, integrationType: "airtable" });
const basePath = robotPath === "prebuilt-robots" ? "/prebuilt-robots" : "/robots";
navigate(`${basePath}/${recordingId}/integrate/airtable`);
}}
style={{
display: "flex",
flexDirection: "column",
alignItems: "center",
background: 'white',
color: isScrapeRobot ? "#aaa" : "#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" }} />
Airtable
</Button>
{!isScrapeRobot && (
<Button
variant="outlined"
onClick={() => {
if (!recordingId) return;
setSelectedIntegrationType("googleSheets");
setSettings({ ...settings, integrationType: "googleSheets" });
const basePath = robotPath === "prebuilt-robots" ? "/prebuilt-robots" : "/robots";
navigate(`${basePath}/${recordingId}/integrate/googleSheets`);
}}
style={{
display: "flex",
flexDirection: "column",
alignItems: "center",
background: "white",
color: "#ff00c3",
}}
>
<img
src="https://ik.imagekit.io/ys1blv5kv/gsheet.svg"
alt="Google Sheets"
style={{ margin: "6px" }}
/>
Google Sheets
</Button>
)}
{!isScrapeRobot && (
<Button
variant="outlined"
onClick={() => {
if (!recordingId) return;
setSelectedIntegrationType("airtable");
setSettings({ ...settings, integrationType: "airtable" });
const basePath = robotPath === "prebuilt-robots" ? "/prebuilt-robots" : "/robots";
navigate(`${basePath}/${recordingId}/integrate/airtable`);
}}
style={{
display: "flex",
flexDirection: "column",
alignItems: "center",
background: "white",
color: "#ff00c3",
}}
>
<img
src="https://ik.imagekit.io/ys1blv5kv/airtable.svg"
alt="Airtable"
style={{ margin: "6px" }}
/>
Airtable
</Button>
)}
<Button variant="outlined" onClick={() => {
if (!recordingId) return;