-
Notifications
You must be signed in to change notification settings - Fork 15
Collision Detection
Sarah opens VWU-080 and starts writing a reply about the VPN. A minute later you open the same ticket, see nobody has answered, and start writing your own. The customer gets two replies that don't quite agree, and one of you has wasted ten minutes.
It happens on every busy morning, and most of all in Unassigned, where several people triage the same list at once. Until now nothing in FreeITSM said a word about it.
Now the ticket tells you.
Open a ticket somebody else already has open, and a line appears under the ticket header:
JS James Smith is also viewing this ticket
That's the quiet version β someone is reading, which is worth knowing and nothing more. It sits just above the action buttons, so it's in your eye-line on the way to Reply.
If they are actually writing β a reply, a forward or a note β the same line turns amber and says so:
JS James Smith is writing a replyβ¦
That's the moment your work becomes duplicated effort, so it gets the louder treatment.
Several people at once are all listed, with the writers named first: "Sarah Williams is writing a reply⦠Raj Patel and Laura Brown are also viewing this ticket."
If you click Reply while a colleague is mid-reply, the composer repeats the warning above the To field:
β οΈ James Smith is writing a reply to this ticket right now β check with them before you send.
It appears and disappears live, because the person you'd collide with may start or finish typing while you're drafting.
Nothing is greyed out. Nothing is locked. You can send anyway.
That's deliberate. Two analysts genuinely do sometimes both need to write on one ticket β someone sends a holding reply while someone else escalates to the supplier β and a lock would be wrong most of the times it fired. It would also need an owner, a timeout, a way to take it off somebody who went to lunch, and a way to explain a greyed-out button to the person staring at it.
So FreeITSM tells you what it knows and leaves the decision with you. Usually you'll message the other person; occasionally you'll carry on. Both are fine, and only you know which.
- It updates on its own. A colleague opening the ticket, starting to type, finishing, or closing it shows up within a few seconds without you refreshing anything.
- You never see yourself. The strip only ever lists other people.
- Ghosts clean themselves up. If someone closes the tab, their browser crashes, their laptop sleeps or the network drops, they simply stop being shown a few seconds later. Nothing is left sitting on a ticket claiming to be there, and nobody has to clear anything.
- A tab you've switched away from doesn't count as being there. A ticket left open in a background tab all afternoon won't announce you to the rest of the desk. Come back to it and you reappear.
- It respects company access. On a multi-company install you are never shown a colleague's name against a ticket you couldn't open yourself. See Multi-Tenancy.
- A note counts as writing. Not just replies β a colleague adding an internal note is doing work you might be about to duplicate.
- It's not a history. FreeITSM does not keep a record of who looked at which ticket. The information behind this feature is overwritten every few seconds and thrown away β it can tell you who is here now, and can never answer "who read this ticket last Tuesday". That's a different feature with very different questions attached, and it isn't this one.
- It's not on the ticket list. The strip appears when you open a ticket, not as a marker on rows in the list.
- It's Tickets only for now.
- It doesn't stop two people replying β see above. It tells you; it doesn't decide.
There's no setting. It costs nothing when you're the only person on a ticket (no strip appears at all), and the whole point is that it's there on the one morning it matters. If it ever became a nuisance for your desk, say so and it can be given a switch.
- Tickets β the inbox this lives in
- Collision detection β Developer Guide β how it works under the hood
- Selecting several tickets β the other way to stop duplicating effort on a busy morning
- Snoozing tickets β getting the tickets you can't work out of the way
FreeITSM β an open-source IT Service Management platform Β· github.com/edmozley/freeitsm Β· MIT licence
- Installation
- β° Scheduled tasks (cron jobs)
- Architecture
- AI Providers
- Internationalisation (i18n)
- Timezones & Time Handling
- Theming & Dark Mode
- β¨οΈ Command palette (βK)
- π Searching inside tickets
- π Attached documents
- MobileβFriendly
-
Security
- Layer 1 β which modules you can enter
- β³ π§© Module Access Control
- β³ π οΈ Module Access β Developer Guide
- Layer 2 β what you can administer
- β³ π Roles & Permissions
- β³ π οΈ Roles β Developer Guide
- β³ π€ Why capabilities are constants
- Layer 3 β the System module
- β³ π Admin Access Control
- Hardening
- β³ π Security review response 2026-08
- β³ π‘οΈ Security hardening 2026-08
- β³ π οΈ Security hardening 2026-08 β Developer Guide
- β³ π‘οΈ Round three β plain English
- β³ π οΈ Round three β Developer Guide
- Single Sign-On (SSO)
- ποΈ LDAP & Active Directory
- Browser Extension
- API Reference
-
π REST API β how it works
- β³ π« REST API: Tickets
- β³ π» REST API: Assets
- β³ π΄ REST API: Problems
- β³ π REST API: Changes
- β³ π REST API: Knowledge
- β³ β REST API: Tasks
- β³ ποΈ REST API: CMDB
- β³ π REST API: Contracts
- β³ ποΈ REST API: Calendar
- β³ πΏ REST API: Software
- β³ π¦ REST API: Service Status
- β³ βοΈ REST API: Morning Checks
- β³ π REST API: Forms
- β³ βοΈ REST API: Workflow
- β³ πΊοΈ REST API: Network Mapper
- β³ π§ Using the API docs page
- β³ π OpenAPI specification
- β³ β OpenAPI: kept correct
- β³ π οΈ Maintaining the catalogue
- Watchtower
-
Tickets
- β³ Mailbox Authentication
- β³ π€ Email send log
- β³ Basic IMAP mailboxes
- β³ Email rendering & images
- β³ SLA Management
- β³ WhatsApp channel
- β³ π¬ Web chat channel
- β³ π£ Slack channel
- β³ π Linking tickets
- β³ ποΈ Canned responses
- β³ βοΈ Limiting replies to particular senders
- β³ βοΈ Email signatures
- β³ π The public web address
- β³ π Raising a ticket for someone else
- β³ π Merging tickets
- β³ β Splitting tickets
- β³ β Selecting several tickets
- β³ π οΈ Snoozing tickets β Developer Guide
- β³ π₯ Collision detection
- β³ β±οΈ Time tracking
- Problem Management
- Tasks
- Assets
- Knowledge
- Change Management
- Calendar
- Morning Checks
- Reporting
- Software
- Forms
- Contracts
- Service Status
- π Notifications
- π¨ War Room
- Self-Service Portal
- LMS
- Process Mapper
- CMDB
- Network Mapper
- Workflows
- Issue trackers (Jira, Azure DevOps)
- System
-
Overview
- β³ π Progress tracker
- β³ Concepts & vocabulary
- β³ Email routing & mailboxes
- β³ Settings: global vs per-company
- β³ Users & self-service
- β³ Staff cross-company access
- β³ Worked examples
- β³ Pitfalls & gotchas
- β³ Scope: what it's for
- β³ π οΈ Developer Guide (make a module multi-company)
- β³ ποΈ Case study: CMDB (a linked graph)
- β³ π§ͺ Test harness (prove it's isolated)