mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-06 14:27:59 +00:00
Merge pull request #3095 from Infisical/secret-sync-handle-larger-messages
Improvement: Increase Max Error Message Size for Secret Syncs
This commit is contained in:
@@ -0,0 +1,31 @@
|
|||||||
|
import { Knex } from "knex";
|
||||||
|
|
||||||
|
import { TableName } from "@app/db/schemas";
|
||||||
|
|
||||||
|
export async function up(knex: Knex): Promise<void> {
|
||||||
|
if (await knex.schema.hasTable(TableName.SecretSync)) {
|
||||||
|
const hasLastSyncMessage = await knex.schema.hasColumn(TableName.SecretSync, "lastSyncMessage");
|
||||||
|
const hasLastImportMessage = await knex.schema.hasColumn(TableName.SecretSync, "lastImportMessage");
|
||||||
|
const hasLastRemoveMessage = await knex.schema.hasColumn(TableName.SecretSync, "lastRemoveMessage");
|
||||||
|
|
||||||
|
await knex.schema.alterTable(TableName.SecretSync, (t) => {
|
||||||
|
if (hasLastSyncMessage) t.string("lastSyncMessage", 1024).alter();
|
||||||
|
if (hasLastImportMessage) t.string("lastImportMessage", 1024).alter();
|
||||||
|
if (hasLastRemoveMessage) t.string("lastRemoveMessage", 1024).alter();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function down(knex: Knex): Promise<void> {
|
||||||
|
if (await knex.schema.hasTable(TableName.SecretSync)) {
|
||||||
|
const hasLastSyncMessage = await knex.schema.hasColumn(TableName.SecretSync, "lastSyncMessage");
|
||||||
|
const hasLastImportMessage = await knex.schema.hasColumn(TableName.SecretSync, "lastImportMessage");
|
||||||
|
const hasLastRemoveMessage = await knex.schema.hasColumn(TableName.SecretSync, "lastRemoveMessage");
|
||||||
|
|
||||||
|
await knex.schema.alterTable(TableName.SecretSync, (t) => {
|
||||||
|
if (hasLastSyncMessage) t.string("lastSyncMessage").alter();
|
||||||
|
if (hasLastImportMessage) t.string("lastImportMessage").alter();
|
||||||
|
if (hasLastRemoveMessage) t.string("lastRemoveMessage").alter();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -134,17 +134,25 @@ export const SecretSyncFns = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const MAX_MESSAGE_LENGTH = 1024;
|
||||||
|
|
||||||
export const parseSyncErrorMessage = (err: unknown): string => {
|
export const parseSyncErrorMessage = (err: unknown): string => {
|
||||||
|
let errorMessage: string;
|
||||||
|
|
||||||
if (err instanceof SecretSyncError) {
|
if (err instanceof SecretSyncError) {
|
||||||
return JSON.stringify({
|
errorMessage = JSON.stringify({
|
||||||
secretKey: err.secretKey,
|
secretKey: err.secretKey,
|
||||||
error: err.message || parseSyncErrorMessage(err.error)
|
error: err.message || parseSyncErrorMessage(err.error)
|
||||||
});
|
});
|
||||||
|
} else if (err instanceof AxiosError) {
|
||||||
|
errorMessage = err?.response?.data
|
||||||
|
? JSON.stringify(err?.response?.data)
|
||||||
|
: err?.message ?? "An unknown error occurred.";
|
||||||
|
} else {
|
||||||
|
errorMessage = (err as Error)?.message || "An unknown error occurred.";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (err instanceof AxiosError) {
|
return errorMessage.length <= MAX_MESSAGE_LENGTH
|
||||||
return err?.response?.data ? JSON.stringify(err?.response?.data) : err?.message ?? "An unknown error occurred.";
|
? errorMessage
|
||||||
}
|
: `${errorMessage.substring(0, MAX_MESSAGE_LENGTH - 3)}...`;
|
||||||
|
|
||||||
return (err as Error)?.message || "An unknown error occurred.";
|
|
||||||
};
|
};
|
||||||
|
|||||||
+3
-1
@@ -208,7 +208,9 @@ export const SecretSyncRow = ({
|
|||||||
<FontAwesomeIcon icon={faXmark} className="ml-1 pr-1.5 pt-0.5 text-sm" />
|
<FontAwesomeIcon icon={faXmark} className="ml-1 pr-1.5 pt-0.5 text-sm" />
|
||||||
<div className="text-xs">Failure Reason</div>
|
<div className="text-xs">Failure Reason</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="rounded bg-mineshaft-600 p-2 text-xs">{failureMessage}</div>
|
<div className="break-words rounded bg-mineshaft-600 p-2 text-xs">
|
||||||
|
{failureMessage}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user