Skip to content

Bug: Missing migrations for Topology 'left zone' and 'hide' options #315

@vhsdream

Description

@vhsdream

Describe the bug
Some people may have chosen 'Netvisor'-y options in the Topology settings (left zone, hide services) - if so, then they receive an error upon attempting to load their saved topology after updating to v0.12.0. I believe this is due to the latest postgres migration not taking into account the fact that 'Netvisor' was one of the options there.

To Reproduce
Steps to reproduce the behavior:

  1. In v0.11.x, choose to 'hide' 'Netvisor' service category
Image
  1. Update to v0.12.x
  2. See error when navigating to topology page.

Expected behavior
The saved topology renders without error.

Screenshots
Image

Image

Environment:

  • Scanopy server & daemon version: v0.12.0
  • Host: Proxmox LXC
  • OS: Debian 13
  • Browser Firefox
  • Version Latest

Additional context
Logs:

Dec 15 16:17:05 netvisor scanopy-server[14934]: 2025-12-15T21:17:05.839195Z  INFO server: 🚀 Scanopy Server v0.12.0
Dec 15 16:17:05 netvisor scanopy-server[14934]: 2025-12-15T21:17:05.839205Z  INFO server: 📊 Web UI: http://<your-ip>:60072
Dec 15 16:17:05 netvisor scanopy-server[14934]: 2025-12-15T21:17:05.839212Z  INFO server: 🔧 API: http://<your-ip>:60072/api
Dec 15 16:17:05 netvisor scanopy-server[14934]: 2025-12-15T21:17:05.840575Z  INFO scanopy::server::discovery::service: Discovery scheduler started with 2 jobs
Dec 15 16:17:11 netvisor scanopy-server[14934]: 2025-12-15T21:17:11.624051Z ERROR scanopy::server::shared::handlers::traits: Failed to fetch entities entity_type="topologies" user_id=88dd68a0-a78a-427e-a4e4-f94105f2b50b error=Failed to deserialize options: unknown variant `Netvisor`, expected one of `NetworkCore`, `NetworkAccess`, `NetworkSecurity`, `Storage`, `Backup`, `Media`, `HomeAutomation`, `Virtualization`, `FileSharing`, `DNS`, `VPN`, `Monitoring`, `AdBlock`, `ReverseProxy`, `Workstation`, `Mobile`, `IoT`, `Printer`, `Web`, `Database`, `Development`, `Dashboard`, `MessageQueue`, `Collaboration`, `Communication`, `IdentityAndAccess`, `Unknown`, `Custom`, `Scanopy`, `OpenPorts`

I tried to fix this at first by deleting the local storage in my browser since I saw it there, but turns out it's in the DB as well.

Not sure if this is the best/safest way, but I messed around and did a

set options = replace(options::text, 'Netvisor', 'Scanopy')::jsonb;

and that seemed to do the trick.

Before submitting
[x] I have reviewed Troubleshooting in the readme

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions