Changelog — March 12, 2026
1. Make.com Workflows Migrated to n8n
Make.com automation workflows have been migrated to n8n, a self-hosted workflow automation platform. This removes the dependency on the Make.com SaaS service and gives full control over automation workflows.
2. Password Bypass on Container Unloading & Client Pickup
The “Do not ask for a password for the next 10 minutes” checkbox feature has been enabled on the Container Unloading and Client Pickup screens. Previously this feature only worked on Receiving, Check In, Unloaded Not Checked In, and Unprocessed screens.
Changes Made
ContainerUnloading.dart — deleteOrMarkMissingPackage() and showEditForm():
- Uncommented the checkbox UI that was already wired up but disabled
- The timer check (Temp/timer) and startNoPasswordPeriod cloud function call were already in place
ClientPickUp.dart — deletePackage() and showEditForm():
- Added Temp/timer check to skip password if within 10-minute bypass window
- Added checkbox UI with “Do not ask for a password for the next 10 minutes for this action.”
- Added startNoPasswordPeriod cloud function call on correct password + checkbox checked
- Added loading spinner during password verification
- Added cloud_functions import (was missing)
How It Works
- User edits or deletes a package
- App checks Firestore Temp/timer.isPasswordExpired
- If false (within 10-min window) — skip password modal entirely
- If true — show password modal with bypass checkbox
- On correct password + checkbox — calls startNoPasswordPeriod cloud function
- Cloud function sets isPasswordExpired=false and expiresAt=now+10min
- Scheduled function resetPasswordExpiry resets after expiry
Pages Now Supporting This Feature
| Page | File | Status |
|---|---|---|
| Receiving | lib/features/receiving/pages/Receiving.dart | Already had it |
| Check In | lib/CheckIn.dart | Already had it |
| Container Unloading | lib/ContainerUnloading.dart | Enabled (was commented out) |
| Client Pickup | lib/ClientPickUp.dart | Added from scratch |
| Unloaded Not Checked In | lib/UnloadedNotCheckedIn.dart | Already had it |
| Unprocessed | lib/Unprocessed.dart | Already had it |
Deployed to production on March 12, 2026.