See your AperioFlow monitor statuses, browse projects, phases and tasks, change task statuses with a note, and write messages, without leaving VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Three panes in one place in the Activity Bar, top to bottom:
Statuses: a line saying how things are ("All systems up", "2 down") and one row for each monitor. Refreshed every minute while the pane is open.
Projects: your projects, each opening into its phases, tasks and subtasks.
Filter by status and find text in names, task keys and owners (the buttons in the pane title). A phase with nothing that matches is hidden; a matching subtask keeps its task visible.
Change a task or subtask's status with the pencil beside it (or right-click). You are asked for an optional note, which is saved as a message on the task.
A phase's status follows its tasks in AperioFlow, so it is shown but cannot be changed here.
Messages: pick a task or subtask above and read its messages; write a new one at the bottom (Ctrl+Enter sends).
AperioFlow keeps messages on tasks and subtasks only. A phase has none, so picking one says so.
Signing in
Run AperioFlow: Sign in (or use the button in the Statuses pane). You need an API key:
In AperioFlow open Account, API keys and make a key while signed in as yourself. A key that is not tied to a person can read but cannot write messages.
Paste it when asked. It is kept in VS Code's secret storage, never in settings, and is only sent to the address you gave (https, or http for localhost). Redirects are refused so the key cannot be sent elsewhere.
AperioFlow: Sign out removes the key from this computer. To stop it working altogether, revoke it in AperioFlow.
What the key can do is what its role allows: a viewer key can look but not change anything.
Needs on the AperioFlow side
Statuses need MONITORS=on; messages need COMMENTS=on. When one is off, its pane says so.
Developing
No build step and no dependencies.
cd vscode-extension
npm test # unit tests: logic, the API client, and the three panes with a fake VS Code
npm run package # makes a .vsix with @vscode/vsce (needs network the first time)
To try it, open this folder in VS Code and press F5 (Run Extension). The tests do not start VS Code itself.