DiamondLightSource / DiamondLightSource/fastcs

Running FastCS demo against the sim fails due to GraphQL transport error

Open
#324 0 comments 1 reaction 0 assignees View on GitHub
bug
Dominant language
Python
Stars
6
Forks
8
Avg merge
2d 12h
Merged PRs (30d)
3

Description

I've encountered problems running up the FastCS demo - the sim launches fine, but 'Temp Controller FastCS' crashes when it tries to make the Strawberry Schema, complaining about
`Unexpected type ''`

Fuller error message:

```
│ /cache/venv-for/scratch/fmq68384/code/FastCS/lib/python3.11/site-packages/graphql/type/definition.py:837 in fields │
│ │
│ 834 │ │ │ fields = resolve_thunk(self._fields) ╭────────────── locals ──────────────╮ │
│ 835 │ │ except Exception as error: │ self = │ │
│ 836 │ │ │ cls = GraphQLError if isinstance(error, GraphQLError) else TypeError ╰────────────────────────────────────╯ │
│ ❱ 837 │ │ │ raise cls(f"{self.name} fields cannot be resolved. {error}") from error │
│ 838 │ │ if not isinstance(fields, Mapping) or not all( │
│ 839 │ │ │ isinstance(key, str) for key in fields │
│ 840 │ │ ): │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
TypeError: Query fields cannot be resolved. Unexpected type ''
```

Gary gave me a workaround which is to comment out the GraphQL transport in controller.yaml. ie.

```
# yaml-language-server: $schema=schema.json
controller:
ip_settings:
ip: "localhost"
port: 25565
num_ramp_controllers: 4
transport:
# - graphql:
# host: localhost
# port: 8083
# log_level: info
- epicsca:
pv_prefix: GARYDEMO
gui:
title: Temperature Controller Demo
output_path: ./demo.bob
```

but this needs addressing properly as the graphql transport should work

## Acceptance Criteria

Able to run up the FastCS demo against the sim without needing to comment out the graphql transport

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.