Common issues and resolutions for RoomVox administrators. For user-facing issues, see the User Troubleshooting.
| Possible cause | Solution |
|---|---|
| Room is inactive | Toggle Active in the room editor |
| Permissions exclude the user/group | Check the room's permissions; remember effective permissions are the union of room + room group |
| Browser cache | Ask user to hard-refresh (Ctrl+Shift+R / Cmd+Shift+R) |
| Debug | GET /apps/roomvox/api/debug/rooms (admin only) lists registered rooms |
CalDAV clients cache resource lists. Force a full resync, or restart the client.
Checklist:
- Email notifications enabled — RoomVox Settings → "Enable email notifications"
- Nextcloud SMTP configured — Settings → Administration → Basic settings → Email server
- Test Nextcloud email — use the "Send email" button in Basic settings
mail_smtpsecureis set — a common omission. Settlsfor port 587 orsslfor port 465
| Configuration | Sender |
|---|---|
Room has @roomvox.local email |
Nextcloud system sender |
| Room has real external email | Room email address |
| Per-room SMTP configured | SMTP username (envelope sender), room email is Reply-To |
Verify the SMTP provider allows sending from the configured address.
The sender domain doesn't exist in DNS or isn't authorized. Check mail_from_address + mail_domain in config.php.
mail_smtpsecure is missing. Set to tls for port 587 (STARTTLS) or ssl for port 465.
- Verify RoomVox Settings → "Enable email notifications" is ON
- Verify organizer and managers have email addresses in their Nextcloud profiles
- Check
nextcloud.logfor RoomVox email errors
See Email Configuration for complete SMTP setup.
Likely cause: Browser cache serving old JavaScript.
Try:
- Hard-refresh:
Ctrl+Shift+R/Cmd+Shift+R - Clear browser cache completely
- Verify the patch was deployed:
ls -la /var/www/nextcloud/apps/calendar/js/
A Nextcloud or Calendar-app update may have overwritten the patched files.
Try:
- Redeploy the calendar patch:
./deploy-calendar.sh <target> - If the Calendar app version changed, review stock changes and update the patch — see Calendar Patch
NC33 hides the resource picker if no room backend is registered.
Try:
- Verify RoomVox is enabled:
occ app:list | grep roomvox - RoomVox registers a room backend automatically — the flag should be true
- If the issue persists, disable and re-enable RoomVox
The user has Viewer role but not Booker. Add them or their group as a Booker.
The user may not have Manager role on any room.
- The booking overview shows bookings across rooms the user can manage
- Verify the user has Manager role on at least one room
- Nextcloud admins always see all rooms and bookings
The iTIP sender may resolve to zero or multiple Nextcloud users (typical for LDAP/AD setups where the same email exists on multiple accounts).
Since v1.1.1, the log is warning level and names the sender email, match count, and resolved UIDs, so duplicate-account configurations are immediately visible. Check nextcloud.log for the warning.
| Cause | Fix |
|---|---|
| Missing or corrupted JS build | cd /var/www/nextcloud/apps/roomvox && npm ci && npm run build |
| Nextcloud JS/CSS cache | sudo -u www-data php occ maintenance:repair |
| JavaScript errors | Check the browser console (F12) |
RoomVox stores everything in IAppConfig. Inspect with:
sudo -u www-data php occ config:app:get roomvox rooms_index
sudo -u www-data php occ config:app:get roomvox room/<roomId>The debug endpoint also exposes the room snapshot: GET /apps/roomvox/api/debug/rooms.
If a specific room is broken, delete and recreate it. Since v1.1.0, no per-room data is silently dropped — responsibleContact is now in the whitelist on both create and update endpoints.
The Bearer token is missing or malformed.
- Include the header:
Authorization: Bearer rvx_your_token_here - The header is case-insensitive (
bearerworks too) - Tokens start with
rvx_
- Check the token exists in Settings → API Tokens
- Check the token's expiration date
- Create a new token if needed
The token's scope is too low for the requested action.
| Scope | Allows |
|---|---|
read |
Listing rooms, reading bookings |
book |
Above + creating bookings |
admin |
Above + statistics + admin operations |
If the token is restricted to specific rooms, it only accesses those rooms.
Reduce the date range to at most 365 days. For statistics, use the default range (last 30 days) or specify a shorter period.
Split the file into smaller parts, or remove unnecessary columns or rows. Export from the source system with fewer fields.
# Nextcloud log (includes RoomVox errors)
tail -f /var/www/nextcloud/data/nextcloud.log
# Filter for RoomVox entries
tail -f /var/www/nextcloud/data/nextcloud.log | grep -i "roomvox"
# Filter for email/SMTP errors
tail -f /var/www/nextcloud/data/nextcloud.log | grep -i "RoomVox.*mail\|smtp"
# Filter for scheduling errors
tail -f /var/www/nextcloud/data/nextcloud.log | grep -i "RoomVox.*schedul"- User Troubleshooting — user-facing issues
- FAQ — common admin questions
- Email Configuration — SMTP setup
- Calendar Patch — patch installation and updates