comigor/artemis

Flutter 3.7 can't compile

RobertBrunhage opened this issue ยท 5 comments

Before reporting a bug, please test the beta branch!

Bug description

Running all the versions specified in the beta branch but it does not seem to run with Flutter 3.7 because of the dependency versions it uses

Could not build the precompiled application for the device.
Error (Xcode):
../../.pub-cache/hosted/pub.dev/graphql-5.1.1/lib/src/links/websocket_link/websocket_client
.dart:470:7: Error: The non-abstract class 'GraphQLWebSocketChannel' is missing
implementations for these members:

Specs

Using what's in defined in beta readme

Got past this issue by not specifying the version and letting it be set to the highest resolvable which was:
version: "0.14.1-alpha+1672756470474"

Actually I will reopen this and feel free to close/create a new more relevant topic.

But in general this has resulted in very specific versions for packages to get it to work correctly

dependencies:
  flutter:
    sdk: flutter
  artemis: '>=7.0.0 <8.0.0' # only if you're using ArtemisClient!
  json_annotation: 4.7.0
  equatable: 2.0.5
  gql: 0.14.1-alpha+1672756470474
  graphql: 5.1.3

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: 2.0.1 
  build_runner: 2.3.3
  json_serializable: 6.5.4

I would suggest to enable us to use the latest versions without locking us to lower versions of the packages.

Hi @RobertBrunhage
The error is in .pub-cache/hosted/pub.dev/graphql-5.1.1/lib/src/links/websocket_link/websocket_client how does this related to artemis?

This was mainly an issue with how Artemis is using an old version of gql. So was hard to get a later version of graphql. Hence how the latest one that is used is 0.14.1-alpha+1672756470474.

Left it open as I am not sure what the approach is here but it's very hard to keep other dependencies updated when Artemis is "pinned" to old versions.

Artemis using a bunch of stable versions for deps.
I've updated yesterday to all latest stable
https://github.com/comigor/artemis/blob/beta/pubspec.yaml

If it does not compile - this is a responsibility of gql team to manage the package compatibility