tfrere HF Staff commited on
Commit
fca850a
·
1 Parent(s): f307f28

fix: fall back to local storage when HF dataset upload fails

Browse files

Instead of returning an error when HF upload fails, the publish
pipeline now falls through to local storage. This ensures publish
always works even when the dataset hasn't been created yet.

Made-with: Cursor

Files changed (1) hide show
  1. backend/src/publisher/index.ts +3 -10
backend/src/publisher/index.ts CHANGED
@@ -136,7 +136,7 @@ export async function publishDocument(docName: string, token?: string): Promise<
136
  }
137
  }
138
 
139
- // Upload to HF dataset
140
  if (isHfStorageEnabled()) {
141
  try {
142
  const urls = await uploadPublishedAssets(docName, {
@@ -147,18 +147,11 @@ export async function publishDocument(docName: string, token?: string): Promise<
147
  }, token);
148
  return { ...urls, success: true };
149
  } catch (err) {
150
- console.error("[publish] Upload failed:", err);
151
- return {
152
- htmlUrl: null,
153
- pdfUrl: null,
154
- thumbUrl: null,
155
- success: false,
156
- error: (err as Error).message,
157
- };
158
  }
159
  }
160
 
161
- // Local-only: save to data/published/
162
  const { writeFileSync, mkdirSync } = await import("fs");
163
  const publishDir = join(DATA_DIR, "published", docName.replace(/[^a-zA-Z0-9_-]/g, "_"));
164
  mkdirSync(publishDir, { recursive: true });
 
136
  }
137
  }
138
 
139
+ // Try uploading to HF dataset
140
  if (isHfStorageEnabled()) {
141
  try {
142
  const urls = await uploadPublishedAssets(docName, {
 
147
  }, token);
148
  return { ...urls, success: true };
149
  } catch (err) {
150
+ console.warn("[publish] HF upload failed, falling back to local storage:", (err as Error).message);
 
 
 
 
 
 
 
151
  }
152
  }
153
 
154
+ // Local storage (primary when HF disabled, fallback when HF fails)
155
  const { writeFileSync, mkdirSync } = await import("fs");
156
  const publishDir = join(DATA_DIR, "published", docName.replace(/[^a-zA-Z0-9_-]/g, "_"));
157
  mkdirSync(publishDir, { recursive: true });