📘 Instructions — How to Use the Plugin
1️⃣ Add the Element
Drag Large File Stream Processor onto your page
The element is non-visual and can be hidden anywhere
2️⃣ Upload a File (Fast Detect)
Create a workflow with:
Action: Upload (Fast Detect)
What happens:
Opens the native file picker
Stores the file reference in memory
Sets situation = "detected"
Triggers the event on_file_detected
💡 Tip: Use this step to confirm the file, show UI feedback, or let the user configure filters.
3️⃣ Process the File
Create another workflow (usually on button click or after detection Event):
Action: Process File
Recommended inputs:
chunk_size: 1048576 (1 MB) for best performance
match_mode: contains, exact, or regex
match_list: words or patterns to keep (one per line or comma-separated)
encoding: utf-8 (default)
What happens:
The file is streamed chunk-by-chunk
Lines are reconstructed safely across chunk boundaries
Only matching lines are kept
Progress and counters update in real time
Final results are uploaded to the Bubble CDN
4️⃣ React to Completion
Use the event:
on_process_done
At this point you can:
Read matched_lines_json
Use file_url to download the result
Save results to the database
Trigger next workflows
📊 Available States (for UI & Logic)
status → idle / uploading / processing / done / error
situation → "detected" when a file is selected
progress_percent → processing progress
lines_processed → total lines read
lines_matched → lines that passed your filter
matched_lines_json → final result (JSON string)
file_url → Bubble CDN URL of the output
error_message → any error details
All states are Bubble-safe primitives.
🚀 Performance Tips (Important)
Use chunk sizes ≥ 256 KB (1 MB recommended)
Avoid regex unless necessary — contains is fastest
Test performance in Live mode, not Preview
This plugin is optimized for large files, not tiny ones
⚠️ Notes & Limitations (Honest & Reviewer-Friendly)
Text-based files only (TXT, CSV, LOG, etc.)
Files must be selected locally (browser security)
Editor:
https://bubble.io/page?id=testlpu&test_plugin=1767285266786x697678609972985900_current&tab=Design&name=large_file_stream_processor&type=page&elements=cmqdbDemo:
https://testlpu.bubbleapps.io/version-test/large_file_stream_processor🔹 ACTIONS
Upload
Opens the native file picker and detects a file without uploading or processing it.
Process File
Streams the detected file, filters matching content, and uploads the selected result to Bubble’s CDN.
🔹 EVENT
On_process_done
Fires once when file processing and CDN upload are fully completed.
🔹 EXPOSED STATES
status
Current step of the workflow (idle, processing, uploading, done, error).
progress_percent
Real-time percentage of how much of the file has been processed.
lines_processed
Total number of lines read from the file so far.
lines_matched
Total number of lines that matched the search criteria.
matched_lines_json
All matched lines returned as a JSON string.
matched_lines_csv
All matched lines returned as a comma-separated string.
matched_items_csv
All matched search terms, including duplicates, comma-separated.
matched_items_unique_csv
Only unique matched search terms, returned once, comma-separated.
uploaded_file_name
Name of the file selected by the user.
file_url
Bubble CDN URL of the uploaded processed file.
error_message
Readable error message if processing or upload fails