Sorry to bore people with my excitement about this, but man⌠just the fact that we can do THIS is SO helpful:
The response:
Let me sync the latest dev version and then compare it to live.
Changes Made (dev vs live)
1. Condition on the âMake changes to Thingâ (step 4)
You added a condition: âOnly when Result of step 1âs aws_url is not emptyâ â so it wonât write an empty URL to the Sample record. Since it references âResult of stepâ, it will wait for the AWS copy to finish before evaluating. Good safeguard.
2. Re-set selectedsample_ after the Make Changes (new step 5)
After saving the AWS URL, you now re-set the selectedsample_ custom state to the Result of step 4 (the Make Changes action). This refreshes the custom state reference to the updated Sample, ensuring downstream references see the latest data.
3. New âSample_CheckUploadâ custom event (step 6, 2-second delay)
Scheduled 2 seconds after the upload completes, this custom event receives the Sample as a parameter and:
- Terminates early if AudioFile-Original is not empty (file saved successfully â all good)
- Shows an error message to the user via the Infobox: âThe sample upload didnât upload correctlyâŚâ
- Clears the
selectedsample_custom state to avoid referencing a broken record - Deletes the orphaned Sample record that has no audio file
- Resets the Samples panel so the list refreshes without the deleted record
This is a solid safety net â the user gets told something went wrong and the broken record is cleaned up automatically.
4. New âDeleteBubbleFileâ backend workflow (step 7)
You moved the Bubble temp file deletion from a client-side scheduled event to a backend workflow, scheduled +50 seconds in the future. This means:
- The file deletion runs server-side regardless of whether the user closes their browser
- The 50-second delay (up from 7) gives the AWS copy plenty of time to complete
- The file URL is passed as a parameter, so itâs self-contained
5. Reset and cleanup (steps 8-10)
The pause, reset group, and set upload stage to 0 are preserved at the end, just reordered to accommodate the new steps.
Assessment
These changes address the issues well. A few observations:
Whatâs covered:
- Empty AWS URL no longer silently written to the record (condition gate on step 4)
- Orphaned records are detected and cleaned up (the check event)
- User gets feedback when something fails (Infobox error)
- Bubble temp file deletion is now reliable regardless of browser state (backend workflow)
- Generous 50-second delay before temp file deletion prevents premature cleanup
One thing to watch:
The âSample_CheckUploadâ event runs on a 2-second delay on the client side (Schedule a custom event, not Schedule API Workflow). If the user closes their browser within those 2 seconds after the upload completes, the check wonât fire and the orphaned record wonât be cleaned up. In practice this is a narrow window and unlikely, but worth being aware of. If you want belt-and-suspenders coverage, you could run that check as a backend workflow too â but given the 2-second window, itâs probably not worth the added complexity.
Overall, these are well-thought-out changes that should significantly reduce the empty file issue.
![]()
![]()
![]()
![]()
![]()
![]()












