feat(backend): handle processing errors and add PWA routes
- Block file downloads and previews with a 424 StatusFailedDependency if file processing failed or the box has issues. - Register routes for `/service-worker.js` and `/share-target` to support PWA features. - Update README.md with an AI usage disclosure.
This commit is contained in:
@@ -50,6 +50,36 @@ func TestGenerateMissingThumbnailsForBox(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestGenerateMissingThumbnailsForTroubleBoxSkipsWork(t *testing.T) {
|
||||
service := newThumbnailTestUploadService(t)
|
||||
result := createThumbnailTestBox(t, service)
|
||||
box, err := service.GetBox(result.BoxID)
|
||||
if err != nil {
|
||||
t.Fatalf("GetBox returned error: %v", err)
|
||||
}
|
||||
box.Trouble = true
|
||||
box.TroubleReason = "storage backend failed"
|
||||
if err := service.SaveBox(box); err != nil {
|
||||
t.Fatalf("SaveBox returned error: %v", err)
|
||||
}
|
||||
|
||||
jobResult, err := generateMissingThumbnailsForBox(service, slog.New(slog.NewTextHandler(io.Discard, nil)), box)
|
||||
if err != nil {
|
||||
t.Fatalf("generateMissingThumbnailsForBox returned error: %v", err)
|
||||
}
|
||||
if jobResult != (ThumbnailJobResult{}) {
|
||||
t.Fatalf("job result = %+v, want no work for trouble box", jobResult)
|
||||
}
|
||||
|
||||
updated, err := service.GetBox(result.BoxID)
|
||||
if err != nil {
|
||||
t.Fatalf("GetBox after job returned error: %v", err)
|
||||
}
|
||||
if updated.Files[0].Thumbnail != "" {
|
||||
t.Fatalf("thumbnail was generated for trouble box: %+v", updated.Files[0])
|
||||
}
|
||||
}
|
||||
|
||||
func TestCreateTextThumbnailRendersMarkdownAsJPEG(t *testing.T) {
|
||||
data, err := createTextThumbnail(services.File{
|
||||
Name: "notes.md",
|
||||
|
||||
Reference in New Issue
Block a user