If you’re new here: OneCamp is a self-hosted workspace (chat, tasks, docs, calls, calendar and AI agents) that you install on your own server. It is open source and free for up to 25 people.
Yesterday I found that the passkey button had done nothing for weeks. Today I found that deleting a doc never worked at all.
You pressed Delete on a doc, the app said it was deleted, and the doc stayed. The server looked the doc up by an ID that the delete never filled in. The lookup matched nothing, so the change applied to nothing. Nothing failed, so it reported success.
The unit tests were green the whole time, because each one checked its own piece and none of them checked the whole action. Nobody had pressed Delete and then looked to see whether the doc was gone.
The fix is one line, and a check now refuses any update that doesn’t say which doc it means, so the same mistake fails loudly instead of quietly. While I was in there I found that the docs lists never hid deleted docs either, so a deleted doc stayed in the list even when the delete had worked. That’s fixed too.
The real fix is that this can’t go unnoticed for weeks again. Each morning, after the demo resets, a browser on the demo server goes through what a buyer does:
It deletes everything it makes. If any step fails, I get an email that names the step, and another when it passes again.
Building it, and running it the first few times, turned up four problems before any of you hit them. It now checks for each one:

When you make an event, tick Focus time. While it runs, your notifications are paused on every device, as if you had paused them yourself. Your avatar shows the paused bell and the menu says Focus time until 12:00 PM.
The pause follows the event. Drag it to the afternoon and the pause moves with it; delete it and the pause ends. There’s nothing to remember to switch off. Focus blocks are drawn hatched, so a week full of meetings shows at a glance where the protected time is.
If someone really needs you, Notify anyway still gets through, once a day.
The picture at the top is a link to a task, pasted into a channel. Under the link, a card shows the task’s name, status, who has it, when it’s due (the date turns red when it’s late) and its project. Docs show their first lines and projects their team. Click the card to go straight there.
Each person sees the card as themselves. If someone in the channel can’t open that task, they see only the plain link, so a card never shows anyone something they couldn’t already see.
These arrived in OneCamp v2.49.0 (with AI) and v1.34.0 (without AI).