Bugs Found in Workdeck SaaS

Workdeck is an all-in-one platform designed to streamline workflows and boost productivity. The service combines everyday work tools to improve coordination and ease of use.
Workdeck’s comprehensive functionality includes real-time collaboration tools, a shared workspace, task management, meeting scheduling, and integrated storage to meet modern business needs. It also supports remote teams by fostering connection and communication across borders.
The QAwerk team conducted a thorough bug crawl of Workdeck and found several issues, mostly related to error messaging. We invite you to review our findings and gain a deeper understanding of the platform’s functionality.
‘Timesheet’ checkbox triggers schema validation error
Critical
- The user is logged in to the app.
- The user is editing an existing project.
Mark the ‘Timesheet checkbox.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
When the user marks the ‘Timesheet’ checkbox, the API call fails with 409 Conflict. The frontend displays a raw, unformatted validation error message: ‘Invalid value “true” supplied to … timesheet: number …’
Checking the ‘Timesheet’ box should save that setting on the project; no errors should be displayed.
User whose account was deleted mid-session sees raw ‘Unexpected error’ (501) instead of being logged out
Critical
- User 1 (admin) creates a new account named ‘User 2’ on the ‘Users’ tab.
- User 2 then logs in and has an active session.
- Navigate to the ‘Settings’ section as User 1,
- Switch to the ‘Users’ tab.
- Open ‘User 2 Details’.
- Click the ‘Delete User’ button.
- As User 2 (still in the active session), perform any action in the app.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
A raw error message appears: ‘Error! Unexpected error’.
Console shows: GET https://api.workdeck.com/quer… [HTTP/1.1 501 Not Implemented]
Response body: { _type: “NOT_IMPLEMENTED”, _updatedAt: …, _validationErrors: undefined, _dbErrors: [1] […], _mockErrors: undefined, _code: 501 }.
The moment the backend detects the session belongs to a deleted/nonexistent user, the app should gracefully log the user out and redirect to the Login screen.
Clicking ‘Close’ button on task navigates to malformed/double-encoded URL, resulting in 404 page
Critical
The user is logged in to the app.
- Navigate to the ‘Time’ tab.
- Navigate to the ‘My Calendar’ tab.
- Click the ‘Here’ link in the new task creation section.
- Verify that the user is redirected to the ‘My tasks’ tab.
- Fill in the required fields, e.g., ‘Task title’.
- Click the ‘Save’ button.
- Click the ‘Close’ button.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
After clicking the ‘Close’ button, the browser navigates to a malformed URL with encoded query parameters embedded in the path. The page renders a generic 404 error message: ‘Sorry, the page you requested was not found.’ The console shows accompanying errors: ObjectUnsubscribedError (×2), io client disconnect.
Clicking the ‘Close’ button should return the user to the ‘My Calendar’ screen they came from, with a valid, correctly formatted URL.
‘Travel Profile’ tab shows ‘Entity Not Found’ error message and fails to load
Critical
The user is logged in to the app.
- Navigate to the ‘My Profile’ section.
- Switch to the ‘Travel Profile’ tab.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
Red error message appears: ‘Error! Entity not found’. Page content area remains blank.
The ‘Travel Profile’ tab should load without errors, showing either your existing travel details or a clear message inviting you to set them up.
Published project still shows ‘Activate Projects’ option, which produces no visible effect when clicked
Major
- The user is logged in to the app.
- A published project exists.
- Navigate to the ‘Work’ tab.
- Verify that the ‘Project’ tab is open.
- Select the ‘Active projects’ filter.
- Mark an active project.
- Check the action buttons displayed after you select the checkbox.
- Click the ‘Activate Projects’ button.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
The ‘Activate Projects’ action is displayed for an already activated project. Clicking the button produces no reaction, error, or confirmation. ‘Activate/Deactivate’ buttons disappear entirely from the screen with no explanation.
The ‘Activate Project’ button should not appear for an already activated project.
Clicking ‘Create Policy’ with empty ‘Policy Name’ sends duplicate API requests and shows raw ‘Invalid request’ error message instead of field validation
Major
The user is logged in to the app.
- Navigate to ‘Settings’ → ‘Policies’.
- Open the ‘New Expense Policy’.
- Leave the ‘Policy Name’ field empty.
- Set an ‘Approval Setting’ value (e.g., 10 EUR).
- Click the ‘Create Policy’ button.
- Observe the result.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
Two identical POST requests are sent, both returning 400 (Bad Request) with {_type: ‘INVALID_REQUEST’, …}.
Two duplicate ‘Error! Invalid request’ error messages stack on screen. The error message gives no indication that the issue is specifically the missing ‘Policy Name’, so the user must guess the cause.
The system should catch the missing ‘Policy Name’ immediately and stop the form from submitting, showing a clear message next to the field (e.g., ‘Policy Name is required’) so the user knows exactly what to fix.
Warning message on ‘Allocated-Task hours’ field is unreadable (shows raw untranslated key instead of guidance)
Major
- The user is logged in to the app.
- A task has been created.
- Navigate to an existing task.
- Enter an ‘Allocated-task hours’ value next to the ‘Form/To’ fields.
- Set the ‘Allocated-Task hours’ field (left side) to a value lower than the ‘Allocated hours’ already set for a participant (right side).
- Hover over the red hint that appears next to the ‘Allocated-Task hours’ field.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
The following text of the hint is displayed:
‘work.projects.edit.mainDetails.allocatedHoursWarni’.
The warning message should display readable, human-friendly text explaining the issue.
‘Undo changes’ confirmation dialog appears upon canceling, even when no changes were made to project
Minor
- The user is logged in to the app.
- The user has created a project.
- Open an existing project.
- Click the ‘Edit Project’ button.
- Don’t make any changes.
- Click the ‘Cancel’ button.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
A confirmation modal appears: ‘Undo ‘Qawerk Test Project’ — Are you sure you want to undo the changes to ‘Qawerk Test Project’?’ with the ‘Cancel/Accept’ options, even though no changes were made.
Since no changes were made, clicking the ‘Cancel’ button should close the edit view immediately with no confirmation prompt (nothing to discard/undo).
No highlight in red and no validation message next to empty required ‘Telephone’ field
Minor
The user is on the ‘Free Trial’ signup form.
- Leave the ‘Telephone’ field empty.
- Click the ‘Send’ button.
Google Chrome Version 152.0.7977.83
Firefox 155.0.1
Edge Version 153.0.4234.32
The ‘Telephone’ field remains with a plain grey/default border, and no error message is displayed.
Since ‘Telephone’ is marked as a required (*) field, it should be highlighted with the same red error outline as the other empty required fields (e.g., Mail, Your company, Your company sector, Number employees) when the form fails validation.
Overall, testing Workdeck went well — the app is functional and the core logic behind projects, tasks, and time tracking is solid. Most of the issues I found relate to unclear error messaging. I would recommend improving how the app guides and communicates with users overall. I also suggest regression testing at this stage to help catch any remaining gaps.
