Omniscio documentation
Browse all documentation
  1. Getting Started13
  2. Sessions & Agents115
  3. Inbox & Notifications59
  4. Projects & Tasks95
  5. Automation & Scheduling75
  6. Knowledge & Memory26
  7. AI Features60
  8. Integrations100
  9. Plugins & Marketplace33
  10. Cloud & Teams56
  11. Settings & Customization58
  12. Account & Billing28
  13. Troubleshooting84
  14. CLI & API Reference22
  15. Legal & Policies4
  16. Uncategorised22

PM Voting

Per-item upvoting on Mission Control board items to signal priority: users toggle their vote and counts are read per board. Covers where the vote badge and button appear, how duplicate toggles are prevented, and the channels and feature flag behind it.

What it is

PM Voting is per-item upvoting on board items to signal priority. Users toggle their vote on any board item, and the vote count and voter list are fetched per board -- so you can see at a glance which items the people on a board care about most.

Where to find it

It appears twice on the board. A vote badge sits inline on kanban cards and table rows, so you can vote without opening anything, and a vote button sits in the item detail header. Both carry the running count and open the voter list.

How it behaves

The feature is gated behind the collab-voting board feature flag, so on a board where that flag is off, neither the badge nor the button appears.

The vote toggle is deduplicated -- createRequestDedup keyed on {itemId, boardId, userId} prevents concurrent duplicate toggles from double-counting. Every handler verifies the active user via authService before any database operation.

Toggling also requires an editor role (owner, admin or member -- not viewer) on the board the ITEM belongs to, not on the board the caller names: the sent boardId is cross-checked against the item's own board and a mismatch is refused, and the board recorded on the vote row is the resolved one. The vote count is computed by item alone, so before that check any caller could inflate any item's count.

There is no dedicated toggle beyond that flag; the feature also requires Mission Control to be enabled.

For agents

Defined in src/shared/ipc-channels/pm.ts:

  • pm:vote:toggle -- toggle the current user's vote on an item
  • pm:vote:data -- fetch vote data for all items on a board

Both handlers gate on requirePmEnabled() and validate input with Zod schemas (pmVoteToggleSchema, pmVoteDataSchema).

UI components

Two UI anchors in voting.ui-anchors.ts:

  • mc-vote-badge (action kind) -- inline on kanban cards and table rows
  • mc-vote-button (action kind) -- item detail header

Both are gated on the collab-voting board feature flag.

Settings

No dedicated toggle. The feature is controlled by the collab-voting board feature flag and requires missionControlEnabled.

Related

The boards these votes are cast on are described in mission-control.md, the parent page. The sibling that puts a different kind of marker on an item card is pm-stickers.md, and if it is your own items you want to sort rather than the board's, pm-my-work.md is the closer match. The full behavioural contract is recorded in pm-voting-contract.md, and every other page in this library is listed in INDEX.md.

Last verified 2026-09-27