Frequently Asked Questions (FAQ)
Common questions and answers about Lager Guru.
Multi-Tenant Basics
What is a tenant?
A tenant is a separate organization or company using the Lager Guru system. Each tenant has:
- Isolated data (via Row-Level Security)
- Own users and roles
- Independent configuration
- Separate billing
How does multi-tenancy work?
Lager Guru uses a multi-tenant SaaS architecture where:
- All tenants share the same database
- Row-Level Security (RLS) policies enforce data isolation
- Each tenant's data is automatically filtered based on tenant context
- Service role can access all tenants for administrative operations
See Multi-Tenant Overview for detailed information.
Can tenants see each other's data?
No. Row-Level Security (RLS) policies ensure complete data isolation. Each tenant can only access their own data, even if they share the same database instance.
SSO & Login Problems
How do I set up SSO?
SSO setup requires:
- Configure SSO provider (OIDC or SAML)
- Set up provider in Lager Guru admin panel
- Configure user provisioning
- Test authentication flow
See SSO Setup for detailed instructions.
Why can't I log in with SSO?
Common issues:
- Provider not configured: Ensure SSO provider is set up correctly
- User not provisioned: User must exist in Lager Guru system
- Tenant mismatch: User must be associated with correct tenant
- Certificate issues: Check SAML certificate validity
See SSO Troubleshooting for solutions.
Can I use both email/password and SSO?
Yes. Lager Guru supports multiple authentication methods:
- Email/password (default)
- OIDC SSO
- SAML SSO
Users can authenticate using any configured method.
How to Create First Admin
Creating the First Super Admin
Via Supabase Dashboard:
- Navigate to Authentication → Users
- Create a new user
- Assign admin role via SQL or admin panel
Via Bootstrap Script:
bashnpm run bootstrap:adminVia SQL:
sqlINSERT INTO public.user_roles (user_id, role) VALUES ('user-uuid', 'admin');
See Admin Guide for detailed instructions.
What permissions does a super admin have?
Super admins have:
- Full system access across all tenants
- Ability to create and manage tenants
- Access to all administrative features
- System-wide configuration access
Why RLS Blocks Requests
What is Row-Level Security (RLS)?
RLS is a PostgreSQL feature that automatically filters data based on policies. In Lager Guru, RLS ensures:
- Tenant data isolation
- User access control
- Security enforcement at database level
Why am I getting "permission denied" errors?
Common reasons:
- Missing tenant context: User not associated with a tenant
- Insufficient permissions: User role doesn't have required access
- RLS policy mismatch: Policy doesn't allow the requested operation
- Service role required: Operation requires service role (bypasses RLS)
How do I check RLS policies?
-- View all policies for a table
SELECT * FROM pg_policies
WHERE tablename = 'your_table_name';See RLS Policies for detailed information.
Why Some Users Can't See Certain Zones
Zone Access Control
Zone visibility is controlled by:
- User roles: Different roles have different zone access
- Zone permissions: Drivers may have restricted zone access
- Tenant context: Users can only see zones from their tenant
How to grant zone access?
For Drivers:
- Navigate to Driver Zone Permissions
- Assign zones to specific drivers
- Drivers can only access assigned zones
For Workers:
- Workers typically have access to all zones in their tenant
- Check user role and permissions
See Zone Management for details.
How Inventory Updates
Real-Time Inventory Updates
Inventory updates work through:
- Real-time subscriptions: Supabase Realtime for live updates
- IndexedDB caching: Offline support with background sync
- Optimistic updates: Immediate UI updates with server confirmation
- Conflict resolution: Automatic handling of concurrent updates
Why is my inventory not updating?
Possible causes:
- Cache issues: Clear browser cache or IndexedDB
- Realtime connection: Check WebSocket connection status
- RLS blocking: Verify user has permission to view/update inventory
- Tenant context: Ensure correct tenant context is set
How to force inventory refresh?
// In your component
const { refetch } = useInventoryItems();
refetch(); // Force refreshWhy Pick Lists Don't Auto-Assign
Auto-Assignment Requirements
Auto-assignment requires:
- Auto-assignment enabled: Feature must be enabled in settings
- Available workers: Workers must be online and available
- Worker capacity: Workers must have capacity for new tasks
- Zone permissions: Workers must have access to required zones
How to enable auto-assignment?
- Navigate to Admin → Auto-Assignment Settings
- Enable auto-assignment
- Configure assignment rules
- Set worker capacity limits
See Auto Assignment Engine for details.
Why is my worker not getting assignments?
Check:
- Worker status (must be online)
- Worker capacity (not at max assignments)
- Zone permissions (access to required zones)
- Assignment rules (meet criteria)
Common Troubleshooting for Workers/Drivers
Worker Can't See Tasks
- Check role: Worker must have appropriate role
- Check tenant: Worker must be in correct tenant
- Check permissions: Verify zone and task permissions
- Refresh page: Clear cache and reload
Driver Can't See Shipments
- Check assignment: Shipment must be assigned to driver
- Check status: Driver must be online
- Check tenant: Driver must be in correct tenant
- Check zone permissions: Driver must have zone access
Scanner Not Working
- Check permissions: Browser camera permissions required
- Check device: Ensure device supports camera access
- Check connection: Verify network connectivity
- Try manual entry: Use manual entry as fallback
Location Tracking Not Working
- Check permissions: Browser location permissions required
- Check GPS: Ensure GPS is enabled on device
- Check network: Verify network connectivity
- Check settings: Location tracking must be enabled
General Questions
How do I reset my password?
- Go to login page
- Click "Forgot Password"
- Enter your email
- Follow instructions in email
How do I change my tenant?
Tenant switching is typically done by:
- Logging out and logging in with different tenant credentials
- Using tenant switching feature (if available for your role)
- Contacting your administrator
How do I report a bug?
- Use the in-app feedback feature
- Contact support via email
- Create an issue in the support portal
Related Documentation
- Troubleshooting Guide - Detailed troubleshooting
- Admin Guide - Administrative help
- User Guides - User-specific guides
- Multi-Tenant Overview - Multi-tenant concepts