The vSphere Activity tab titled every vCenter event with its class name
("HostConnectedEvent", "HostProfileAppliedEvent"). Its When column
clipped the time on every row at 390, 768, 1024, 1280 and 1440px.
**Why the events read as class names**
Pulse never asked vCenter for the readable text. `QueryEvents` leaves
out each event's `fullFormattedMessage` unless the filter sets
`disableFullMessage` ([Broadcom VI JSON
reference](https://developer.broadcom.com/xapis/virtual-infrastructure-json-api/latest/data-structures/EventFilterSpec/):
"If the property is not set, the collected events do not include the
full formatted message"). On a real vCenter, the drawer's Message row
was therefore always empty too.
**What changes**
- **Readable events.** The client now sends `disableFullMessage: false`.
The provider titles an event change with vCenter's message, falling back
to the class when vCenter sends none, so Patrol's change context gets a
readable reason as well.
- **Stored records.** Events stored before this change still carry the
class as their title, so the page model prefers the message when it has
one.
- **Nothing lost.** The class stays in `vmwareEventType`. Activity
search still finds it, and the drawer shows it as a new Event type row.
The drawer no longer repeats the title in its Message row.
- **When.** It now reads as an age ("1d ago"), as Kubernetes events do,
with the exact time on hover and in the drawer. A vCenter time before
2000, vCenter's marker for an unset time, still shows "-".
- **Registry.** The Activity table moves from the date-time
shared-template rule to the relative-time rule, and the guardrail tests
follow.
**Verification**
- **Private mock stack, before and after.** Event rows read vCenter's
sentence, including records stored before the change. When clips at no
width, where it clipped at five of seven.
- **Trade-off.** The longer sentences truncate on phones and tablets,
with the full text on hover and in the drawer.
- **Drawer.** Checked in light and dark mode.
- **After rebasing onto main** (which now has #2559 and #2560): the
Activity sweep is unchanged, and the Datastores and Networks Health
columns measure exactly as verified in #2559.
- **Tests:** 1,802 frontend tests, the `internal/vmware` package, the
shared-template audit and the completion guard pass.
- **New tests cover:**
- the request flag;
- message-or-class titling;
- the stored-record fallback;
- search by class;
- the drawer rows;
- the relative When and its exact-time hover;
- the pre-2000 guard.
- **Review.** A second reviewer read the change twice and found one
stale assertion, which is fixed. Its first read is what surfaced the
missing `disableFullMessage`.
Pulse documentation
Start here for installation, platform setup, security, operations, and Pulse Intelligence. Commands, configuration keys, image names, API fields, and product identifiers remain untranslated in localized guides.
Start here
- Install Pulse — signed Proxmox/Linux installation, Docker, Docker Compose, Kubernetes, and first-run setup.
- Production deployment and security — least-privilege Proxmox setup, root-agent boundaries, discovery, supply-chain verification, plan limits, scale evidence, and a rollout checklist.
- Upgrade from Pulse v5 — migration prerequisites, rollback, agent continuity, and post-upgrade checks.
- Releases and update channels: choosing Stable or Preview, beta and RC expectations, and how releases are tested and promoted.
- Configure Pulse — authentication, notifications, discovery, retention, and system settings.
- Deployment models — data locations, lifecycle, and differences between supported deployment paths.
- Troubleshooting and FAQ — common failures, diagnostics, and operator questions.
Localized getting started guides: Deutsch · Español
Platforms and agents
- Proxmox Backup Server
- Proxmox Mail Gateway
- Docker and Podman
- Kubernetes and Helm
- TrueNAS SCALE and CORE
- Unified Agent
- Agent security
- VM disk monitoring
- ZFS monitoring
- Temperature monitoring
VMware vSphere support is early access. Current builds expose dedicated vSphere inventory and recovery context, but operators should validate the integration against their own vCenter before production use.
Monitoring and operations
- Metrics history
- Recovery data
- Webhooks
- Automatic updates
- Centralized agent management (Pro)
- Operational trust model
- Current product screenshots
Pulse Intelligence
- Assistant, Patrol, and external-agent overview
- Patrol modes and safety
- Assistant safety model
- External agent HTTP and MCP substrate
Patrol watch-only analysis is available on Community with a local model or the operator's own provider. Investigation and governed fixes require the relevant Pulse Pro capabilities.
Security, privacy, and access
- Production deployment and security
- Security review scope
- Authentication and credential storage review packet
- Security guide
- Privacy and telemetry disclosure
- OIDC and SSO
- Proxy authentication
- Role-based access control (Pro)
- Audit logging (Pro)
- Reverse proxy configuration
- Code-signing policy
Plans and managed access
- Community, Relay, and Pro capabilities
- Relay and Pulse Mobile handoff
- Multi-tenant organizations (Enterprise/custom)
- Provider-hosted MSP operations (request-assisted)
Pulse Cloud is not generally available. Ordinary self-hosted Pulse remains the primary installation path; MSP and Enterprise access are explicit commercial paths rather than defaults in self-hosted setup.
Development and reference
Detailed design notes and dated migration specifications may remain in this directory for maintainers, but they are not operator setup guides unless they are linked from the sections above.
Previous versions and migrations
- Upgrade from v4 to v5
- Retired unified-navigation migration — historical context only; current Pulse uses platform-shaped navigation.
- Move a Pulse installation
Found a bug? Use the issue forms. For setup questions, use GitHub Discussions.