Skip to content

v2.6.0

Choose a tag to compare

@mwolff44 mwolff44 released this 25 Jun 16:08
· 5 commits to master since this release
fdc1f8d

Added

  • Connect auto-login — PUT /queues/{queue_name}/connect now handles an agent that has no active wazo-agentd session: instead of failing, the agent is logged in on its own line (resolved from confd) and joined to only the selected queue. A 400 is now returned solely when the agent has no line to log in on. Fixes #17.

  • WDA connectivity pre-check on connect — before connecting, the agent's application (WDA) must be reachable: its device must be registered. If the device is Unavailable (websocket KO), the request is rejected with 409 agent-wda-not-connected so the supervisor can be told to have the agent reconnect first. This also catches an agent that still holds an agentd session while its WDA has dropped. Checked via AMI ExtensionState on the agent's own extension.

  • New ACL amid.action.ExtensionState.create on the wazo-calld service token (etc/wazo-auth-keys/conf.d/call_queue.yml), required by the WDA pre-check. Re-run wazo-auth-keys service update and restart wazo-calld after upgrading.

Fixed

  • is_offline now tracks real device/WDA reachability. It is recomputed on every QueueMemberStatus event (Status 5 / Unavailable → is_offline: true, reachable statuses → false), so an agent still logged into a queue whose WDA has disconnected is correctly reported offline. Previously is_offline could stay false for a disconnected device.

Changed — error mapping on /connect

outcome HTTP
success / already connected 204 (idempotent)
agent has no line to log in on 400
agent's WDA not connected 409 (agent-wda-not-connected)
supervisor not a member of the queue 403
unknown agent / queue 404

Internal

  • Code-quality toolchain (PR #19): pre-commit orchestrating black, isort, flake8, pyupgrade, mypy and the Wazo copyright check; configuration in pyproject.toml; tox -e linters; and a GitHub Actions CI running the linters and pytest on every PR. The whole codebase was formatted to one consistent style (double-quoted strings).
  • docs/ISSUE-agentd-fresh-login-missing-per-queue-event.md: upstream report that a full agentd login emits no per-queue UserAgentQueueLoggedInEvent, so a standard WDA's queue list only refreshes after a reload.

Full changelog: v2.5.0...v2.6.0