AgoraIO-Extensions / Agora-Flutter-SDK

Flutter plugin of Agora RTC SDK for Android/iOS/macOS/Windows
https://pub.dev/packages/agora_rtc_engine
MIT License
725 stars 380 forks source link

Agora service doesn't start on web with Flutter 3.22.1 #1798

Closed Silfalion closed 2 months ago

Silfalion commented 3 months ago

Version of the agora_rtc_engine

6.3.1

Platforms affected

Steps to reproduce

  1. Copy the example in the github
  2. Run it with flutter 3.22.1 on web

Expected results

That the service starts

Actual results

returns an error:

require.js:143 Uncaught Error: Mismatched anonymous define() module: function () {
    return function () {
        var e = {
            3221: function (e, t, n) {
                e.exports = function () {
                    "use strict"; function e(e, t) { return t.forEach((function (t) { t && "string" != typeof t && !Array.isArray(t) && Object.keys(t).forEach((function (n) { if ("default" !== n && !(n in e)) { var i = Object.getOwnPropertyDescriptor(t, n); Object.defineProperty(e, n, i.get ? i : { enumerable: !0, get: function () { return t[n] } }) } })) })), Object.freeze(e) } var t = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : void 0 !== n.g ? n.g : "undefined" != typeof self ? self : {}; function i(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e } var r = function (e) { try { return !!e() } catch (e) { return !0 } }, o = !r((function () { var e = function () { }.bind(); return "function" != typeof e || e.hasOwnProperty("prototype") })), s = o, a = Function.prototype, c = a.call, E = s && a.bind.bind(c, c), d = s ? E : function (e) { return function () { return c.apply(e, arguments) } }, _ = d({}.isPrototypeOf), l = function (e) { return e && e.Math == Math && e }, u = l("object" == typeof globalThis && globalThis) || l("object" == typeof window && window) || l("object" == typeof self && self) || l("object" == typeof t && t) || function () { return this }() || t || Function("return this")(), R = o, h = Function.prototype, T = h.apply, p = h.call, I = "object" == typeof Reflect && Reflect.apply || (R ? p.bind(T) : function () { return p.apply(T, arguments) }), A = d, O = A({}.toString), C = A("".slice), S = function (e) { return C(O(e), 8, -1) }, N = S, g = d, f = function (e) { if ("Function" === N(e)) return g(e) }, m = "object" == typeof document && document.all, D = { all: m, IS_HTMLDDA: void 0 === m && void 0 !== m }, P = D.all, v = D.IS_HTMLDDA ? function (e) { return "function" == typeof e || e === P } : function (e) { return "function" == typeof e }, L = {}, b = !r((function () { return 7 != Object.defineProperty({}, 1, { get: function () { return 7 } })[1] })), y = o, M = Function.prototype.call, w = y ? M.bind(M) : function () { return M.apply(M, arguments) }, U = {}, k = {}.propertyIsEnumerable, V = Object.getOwnPropertyDescriptor, G = V && !k.call({ 1: 2 }, 1); U.f = G ? function (e) { var t = V(this, e); return !!t && t.enumerable } : k; var F, x, B = function (e, t) { return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t } }, H = r, Y = S, j = Object, W = d("".split), K = H((function () { return !j("z").propertyIsEnumerable(0) })) ? function (e) { return "String" == Y(e) ? W(e, "") : j(e) } : j, X = function (e) { return null == e }, J = X, q = TypeError, z = function (e) { if (J(e)) throw q("Can't call method on " + e); return e }, Q = K, Z = z, $ = function (e) { return Q(Z(e)) }, ee = v, te = D.all, ne = D.IS_HTMLDDA ? function (e) { return "object" == typeof e ? null !== e : ee(e) || e === te } : function (e) { return "object" == typeof e ? null !== e : ee(e) }, ie = {}, re = ie, oe = u, se = v, ae = function (e) { return se(e) ? e : void 0 }, ce = function (e, t) { return arguments.length < 2 ? ae(re[e]) || ae(oe[e]) : re[e] && re[e][t] || oe[e] && oe[e][t] }, Ee = "undefined" != typeof navigator && String(navigator.userAgent) || "", de = u, _e = Ee, le = de.process, ue = de.Deno, Re = le && le.versions || ue && ue.version, he = Re && Re.v8; he && (x = (F = he.split("."))[0] > 0 && F[0] < 4 ? 1 : +(F[0] + F[1])), !x && _e && (!(F = _e.match(/Edge\/(\d+)/)) || F[1] >= 74) && (F = _e.match(/Chrome\/(\d+)/)) && (x = +F[1]); var Te = x, pe = Te, Ie = r, Ae = u.String, Oe = !!Object.getOwnPropertySymbols && !Ie((function () { var e = Symbol(); return !Ae(e) || !(Object(e) instanceof Symbol) || !Symbol.sham && pe && pe < 41 })), Ce = Oe && !Symbol.sham && "symbol" == typeof Symbol.iterator, Se = ce, Ne = v, ge = _, fe = Object, me = Ce ? function (e) { return "symbol" == typeof e } : function (e) { var t = Se("Symbol"); return Ne(t) && ge(t.prototype, fe(e)) }, De = String, Pe = function (e) { try { return De(e) } catch (e) { return "Object" } }, ve = v, Le = Pe, be = TypeError, ye = function (e) { if (ve(e)) return e; throw be(Le(e) + " is not a function") }, Me = ye, we = X, Ue = function (e, t) { var n = e[t]; return we(n) ? void 0 : Me(n) }, ke = w, Ve = v, Ge = ne, Fe = TypeError, xe = { exports: {} }, Be = u, He = Object.defineProperty, Ye = function (e, t) { try { He(Be, e, { value: t, configurable: !0, writable: !0 }) } catch (i) { Be[e] = t } return t }, je = "__core-js_shared__", We = u[je] || Ye(je, {}), Ke = We; (xe.exports = function (e, t) { return Ke[e] || (Ke[e] = void 0 !== t ? t : {}) })("versions", []).push({ version: "3.31.1", mode: "pure", copyright: "© 2014-2023 Denis Pushkarev (zloirock.ru)", license: "https://github.com/zloirock/core-js/blob/v3.31.1/LICENSE", source: "https://github.com/zloirock/core-js" }); var Xe = xe.exports, Je = z, qe = Object, ze = function (e) { return qe(Je(e)) }, Qe = ze, Ze = d({}.hasOwnProperty), $e = Object.hasOwn |/*! formdata-polyfill. MIT License. Jimmy W?rting <https://jimmy.warting.se/opensource> */!function () { var e; function n(e) { var t = 0; return function () { return t < e.length ? { done: !1, value: e[t++] } : { done: !0 } } } var i, r = "function" == typeof Object.defineProperties ? Object.defineProperty : function (e, t, n) { return e == Array.prototype || e == Object.prototype || (e[t] = n.value), e }, o = function (e) { e = ["object" == typeof globalThis && globalThis, e, "object" == typeof window && window, "object" == typeof self && self, "object" == typeof t && t]; for (var n = 0; n < e.length; ++n) { var i = e[n]; if (i && i.Math == Math) return i } throw Error("Cannot find global object") }(this); function s(e, t) { if (t) e: { var n = o; e = e.split("."); for (var i = 0; i < e.length - 1; i++) { var s = e[i]; if (!(s in n)) break e; n = n[s] } (t = t(i = n[e = e[e.length - 1]])) != i && null != t && r(n, e, { configurable: !0, writable: !0, value: t }) } } function a(e) { return (e = { next: e })[Symbol.iterator] = function () { return this }, e } function c(e) { var t = "undefined" != typeof Symbol && Symbol.iterator && e[Symbol.iterator]; return t ? t.call(e) : { next: n(e) } } if (s("Symbol", (function (e) { function t(e, t) { this.A = e, r(this, "description", { configurable: !0, writable: !0, value: t }) } if (e) return e; t.prototype.toString = function () { return this.A }; var n = "jscomp_symbol_" + (1e9 * Math.random() >>> 0) + "_", i = 0; return function e(r) { if (this instanceof e) throw new TypeError("Symbol is not a constructor"); return new t(n + (r || "") + "_" + i++, r) } })), s("Symbol.iterator", (function (e) { if (e) return e; e = Symbol("Symbol.iterator"); for (var t = "Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "), i = 0; i < t.length; i++) { var s = o[t[i]]; "function" == typeof s && "function" != typeof s.prototype[e] && r(s.prototype, e, { configurable: !0, writable: !0, value: function () { return a(n(this)) } }) } return e })), "function" == typeof Object.setPrototypeOf) i = Object.setPrototypeOf; else { var E; e: { var d = {}; try { d.__proto__ = { a: !0 }, E = d.a; break e } catch (e) { } E = !1 } i = E ? function (e, t) { if (e.__proto__ = t, e.__proto__ !== t) throw new TypeError(e + " is not extensible"); return e } : null } var _ = i; function l() { this.m = !1, this.j = null, this.v = void 0, this.h = 1, this.u = this.C = 0, this.l = null } function u(e) { if (e.m) throw new TypeError("Generator is already running"); e.m = !0 } function R(e, t) { return e.h = 3, { value: t } } function h(e) { this.g = new l, this.G = e } function T(e, t, n, i) { try { var r = t.call(e.g.j, n); if (!(r instanceof Object)) throw new TypeError("Iterator result " + r + " is not an object"); if (!r.done) return e.g.m = !1, r; var o = r.value } catch (t) { return e.g.j = null, e.g.s(t), p(e) } return e.g.j = null, i.call(e.g, o), p(e) } function p(e) { for (; e.g.h;)try { var t = e.G(e.g); if (t) return e.g.m = !1, { value: t.value, done: !1 } } catch (t) { e.g.v = void 0, e.g.s(t) } if (e.g.m = !1, e.g.l) { if (t = e.g.l, e.g.l = null, t.F) throw t.D; return { value: t.return, done: !0 } } return { value: void 0, done: !0 } } function I(e) { this.next = function (t) { return e.o(t) }, this.throw = function (t) { return e.s(t) }, this.return = function (t) { return function (e, t) { u(e.g); var n = e.g.j; return n ? T(e, "return" in n ? n.return : function (e) { return { value: e, done: !0 } }, t, e.g.return) : (e.g.return(t), p(e)) }(e, t) }, this[Symbol.iterator] = function () { return this } } function A(e, t) { return t = new I(new h(t)), _ && e.prototype && _(t, e.prototype), t } if (l.prototype.o = function (e) { this.v = e }, l.prototype.s = function (e) { this.l = { D: e, F: !0 }, this.h = this.C || this.u }, l.prototype.return = function (e) { this.l = { return: e }, this.h = this.u }, h.prototype.o = function (e) { return u(this.g), this.g.j ? T(this, this.g.j.next, e, this.g.o) : (this.g.o(e), p(this)) }, h.prototype.s = function (e) { return u(this.g), this.g.j ? T(this, this.g.j.throw, e, this.g.o) : (this.g.s(e), p(this)) }, s("Array.prototype.entries", (function (e) { return e || function () { return function (e, t) { e instanceof String && (e += ""); var n = 0, i = !1, r = { next: function () { if (!i && n < e.length) { var r = n++; return { value: t(r, e[r]), done: !1 } } return i = !0, { done: !0, value: void 0 } } }; return r[Symbol.iterator] = function () { return r }, r }(this, (function (e, t) { return [e, t] })) } })), "undefined" != typeof Blob && ("undefined" == typeof FormData || !FormData.prototype.keys)) { var O = function (e, t) { for (var n = 0; n < e.length; n++)t(e[n]) }, C = function (e) { return e.replace(/\r?\n|\r/g, "\r\n") }, S = function (e, t, n) { return t instanceof Blob ? (n = void 0 !== n ? String(n + "") : "string" == typeof t.name ? t.name : "blob", t.name ==                }()
            }, 2964: function (e, t) { "use strict"; var n, i, r, o, s, a, c, E, d, _, l, u, R, h, T, p, I, A, O, C, S, N, g, f, m, D, P, v, L, b, y, M, w, U, k, V, G, F, x, B, H, Y, j, W, K, X, J, q, z, Q, Z, $, ee, te, ne, ie, re, oe, se, ae, ce, Ee, de, _e, le, ue, Re, he, Te, pe, Ie, Ae, Oe, Ce, Se, Ne, ge, fe, me, De, Pe, ve, Le, be, ye, Me, we, Ue, ke, Ve, Ge, Fe, xe, Be, He, Ye, je, We, Ke, Xe, Je; Object.defineProperty(t, "__esModule", { value: !0 }), t.QUALITY_ADAPT_INDICATION = t.CLIENT_ROLE_TYPE = t.RtcStats = t.WatermarkOptions = t.WatermarkRatio = t.Rectangle = t.SimulcastStreamConfig = t.SIMULCAST_STREAM_MODE = t.DataStreamConfig = t.VideoEncoderConfiguration = t.CodecCapInfo = t.CodecCapLevels = t.CODEC_CAP_MASK = t.VIDEO_MIRROR_MODE_TYPE = t.AdvanceOptions = t.ENCODING_PREFERENCE = t.COMPRESSION_PREFERENCE = t.EncodedVideoFrameInfo = t.MAX_USER_ACCOUNT_LENGTH_TYPE = t.VideoSubscriptionOptions = t.VIDEO_STREAM_TYPE = t.H264PacketizeMode = t.AudioPcmDataInfo = t.EncodedAudioFrameInfo = t.EncodedAudioFrameAdvancedSettings = t.WATERMARK_FIT_MODE = t.AUDIO_ENCODING_TYPE = t.AUDIO_CODEC_TYPE = t.SenderOptions = t.TCcMode = t.VIDEO_CODEC_TYPE = t.VIDEO_CODEC_CAPABILITY_LEVEL = t.SCREEN_CAPTURE_FRAMERATE_CAPABILITY = t.VideoDimensions = t.DEGRADATION_PREFERENCE = t.ORIENTATION_MODE = t.VIDEO_FRAME_TYPE = t.FRAME_HEIGHT = t.FRAME_WIDTH = t.FRAME_RATE = t.VIDEO_ORIENTATION = t.FIT_MODE_TYPE = t.QUALITY_TYPE = t.INTERFACE_ID_TYPE = t.USER_OFFLINE_REASON_TYPE = t.AUDIO_SESSION_OPERATION_RESTRICTION = t.LICENSE_ERROR_TYPE = t.ERROR_CODE_TYPE = t.WARN_CODE_TYPE = t.CHANNEL_PROFILE_TYPE = void 0, t.WLACC_MESSAGE_REASON = t.CLIENT_ROLE_CHANGE_FAILED_REASON = t.CONNECTION_CHANGED_REASON_TYPE = t.LastmileProbeResult = t.LastmileProbeOneWayResult = t.LASTMILE_PROBE_RESULT_STATE = t.LastmileProbeConfig = t.VIDEO_TRANSCODER_ERROR = t.LocalTranscoderConfiguration = t.TranscodingVideoStream = t.LiveTranscoding = t.TranscodingUser = t.CONNECTION_STATE_TYPE = t.LiveStreamAdvancedFeature = t.RtcImage = t.RTMP_STREAMING_EVENT = t.RTMP_STREAM_PUBLISH_REASON = t.RTMP_STREAM_PUBLISH_STATE = t.LocalAudioStats = t.AUDIO_CODEC_PROFILE_TYPE = t.VIDEO_CODEC_PROFILE_TYPE = t.VIDEO_CODEC_TYPE_FOR_STREAM = t.AUDIO_SAMPLE_RATE_TYPE = t.Packet = t.DeviceInfo = t.AudioVolumeInfo = t.REMOTE_VIDEO_DOWNSCALE_LEVEL = t.VideoTrackInfo = t.REMOTE_USER_STATE = t.REMOTE_VIDEO_STATE_REASON = t.REMOTE_VIDEO_STATE = t.REMOTE_AUDIO_STATE_REASON = t.REMOTE_AUDIO_STATE = t.LOCAL_VIDEO_STREAM_REASON = t.LOCAL_VIDEO_STREAM_STATE = t.LOCAL_AUDIO_STREAM_REASON = t.LOCAL_AUDIO_STREAM_STATE = t.CAPTURE_BRIGHTNESS_LEVEL_TYPE = t.VIDEO_QOE_PREFERENCE_TYPE = t.VIDEO_APPLICATION_SCENARIO_TYPE = t.SCREEN_SCENARIO_TYPE = t.VIDEO_CONTENT_HINT = t.VideoFormat = t.AUDIO_SCENARIO_TYPE = t.AUDIO_PROFILE_TYPE = t.AUDIO_AINS_MODE = t.EXPERIENCE_POOR_REASON = t.EXPERIENCE_QUALITY_TYPE = t.ClientRoleOptions = t.AUDIENCE_LATENCY_LEVEL_TYPE = void 0, t.EAR_MONITORING_FILTER_TYPE = t.UserInfo = t.EchoTestConfiguration = t.STREAM_PUBLISH_STATE = t.STREAM_SUBSCRIBE_STATE = t.PERMISSION_TYPE = t.UPLOAD_ERROR_REASON = t.ENCRYPTION_ERROR_TYPE = t.EncryptionConfig = t.ENCRYPTION_MODE = t.DownlinkNetworkInfo = t.PeerDownlinkInfo = t.UplinkNetworkInfo = t.ChannelMediaRelayConfiguration = t.ChannelMediaInfo = t.CHANNEL_MEDIA_RELAY_STATE = t.CHANNEL_MEDIA_RELAY_ERROR = t.AREA_CODE_EX = t.AREA_CODE = t.AudioEncodedFrameObserverConfig = t.AudioRecordingConfiguration = t.AUDIO_ENCODED_FRAME_OBSERVER_POSITION = t.AUDIO_FILE_RECORDING_TYPE = t.AUDIO_RECORDING_QUALITY_TYPE = t.ScreenCaptureParameters = t.HEADPHONE_EQUALIZER_PRESET = t.VOICE_CONVERSION_PRESET = t.AUDIO_EFFECT_PRESET = t.VOICE_BEAUTIFIER_PRESET = t.AudioTrackConfig = t.AUDIO_TRACK_TYPE = t.SegmentationProperty = t.SEG_MODEL_TYPE = t.VirtualBackgroundSource = t.BACKGROUND_BLUR_DEGREE = t.BACKGROUND_SOURCE_TYPE = t.ColorEnhanceOptions = t.VideoDenoiserOptions = t.VIDEO_DENOISER_LEVEL = t.VIDEO_DENOISER_MODE = t.LowlightEnhanceOptions = t.LOW_LIGHT_ENHANCE_LEVEL = t.LOW_LIGHT_ENHANCE_MODE = t.BeautyOptions = t.LIGHTENING_CONTRAST_LEVEL = t.VideoCanvas = t.VIDEO_VIEW_SETUP_MODE = t.NETWORK_TYPE = t.WlAccStats = t.WLACC_SUGGEST_ACTION = void 0, t.VideoLayout = t.SpatialAudioParams = t.RecorderStreamInfo = t.LocalAccessPointConfiguration = t.AdvancedConfigInfo = t.LogUploadServerInfo = t.LOCAL_PROXY_MODE = t.CONFIG_FETCH_TYPE = t.VideoRenderingTracingInfo = t.MEDIA_TRACE_EVENT = t.ScreenCaptureParameters2 = t.ScreenAudioParameters = t.ScreenVideoParameters = t.THREAD_PRIORITY_TYPE = void 0, function (e) { e[e.CHANNEL_PROFILE_COMMUNICATION = 0] = "CHANNEL_PROFILE_COMMUNICATION", e[e.CHANNEL_PROFILE_LIVE_BROADCASTING = 1] = "CHANNEL_PROFILE_LIVE_BROADCASTING", e[e.CHANNEL_PROFILE_GAME = 2] = "CHANNEL_PROFILE_GAME", e[e.CHANNEL_PROFILE_CLOUD_GAMING = 3] = "CHANNEL_PROFILE_CLOUD_GAMING", e[e.CHANNEL_PROFILE_COMMUNICATION_1v1 = 4] = "CHANNEL_PROFILE_COMMUNICATION_1v1" }(n || (t.CHANNEL_PROFILE_TYPE = n = {})), function (e) { e[e.W        }, t = {}; function n(i) { var r = t[i]; if (void 0 !== r) return r.exports; var o = t[i] = { exports: {} }; return e[i].call(o.exports, o, o.exports, n), o.exports } return n.g = function () { if ("object" == typeof globalThis) return globalThis; try { return this || new Function("return this")() } catch (e) { if ("object" == typeof window) return window } }(), n(5352)
    }()
}
http://requirejs.org/docs/errors.html#mismatch
    at makeError (require.js:168:17)
    at intakeDefines (require.js:1254:36)
    at Object.localRequire [as require] (require.js:1446:21)
    at requirejs (require.js:1797:24)
    at req.config (require.js:1805:16)
    at main_module.bootstrap.js:3:9

Code sample

Code sample ```dart import 'dart:async'; import 'package:agora_rtc_engine/agora_rtc_engine.dart'; import 'package:flutter/material.dart'; import 'package:permission_handler/permission_handler.dart'; const appId = ""; const token = ""; const channel = ""; void main() => runApp(const MaterialApp(home: MyApp())); class MyApp extends StatefulWidget { const MyApp({super.key}); @override State createState() => _MyAppState(); } class _MyAppState extends State { int? _remoteUid; bool _localUserJoined = false; late RtcEngine _engine; @override void initState() { super.initState(); initAgora(); } Future initAgora() async { // retrieve permissions await [Permission.microphone, Permission.camera].request(); //create the engine _engine = createAgoraRtcEngine(); await _engine.initialize(const RtcEngineContext( appId: appId, channelProfile: ChannelProfileType.channelProfileLiveBroadcasting, )); _engine.registerEventHandler( RtcEngineEventHandler( onJoinChannelSuccess: (RtcConnection connection, int elapsed) { debugPrint("local user ${connection.localUid} joined"); setState(() { _localUserJoined = true; }); }, onUserJoined: (RtcConnection connection, int remoteUid, int elapsed) { debugPrint("remote user $remoteUid joined"); setState(() { _remoteUid = remoteUid; }); }, onUserOffline: (RtcConnection connection, int remoteUid, UserOfflineReasonType reason) { debugPrint("remote user $remoteUid left channel"); setState(() { _remoteUid = null; }); }, onTokenPrivilegeWillExpire: (RtcConnection connection, String token) { debugPrint( '[onTokenPrivilegeWillExpire] connection: ${connection.toJson()}, token: $token'); }, ), ); await _engine.setClientRole(role: ClientRoleType.clientRoleBroadcaster); await _engine.enableVideo(); await _engine.startPreview(); await _engine.joinChannel( token: token, channelId: channel, uid: 0, options: const ChannelMediaOptions(), ); } @override void dispose() { super.dispose(); _dispose(); } Future _dispose() async { await _engine.leaveChannel(); await _engine.release(); } // Create UI with local view and remote view @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Agora Video Call'), ), body: Stack( children: [ Center( child: _remoteVideo(), ), Align( alignment: Alignment.topLeft, child: SizedBox( width: 100, height: 150, child: Center( child: _localUserJoined ? AgoraVideoView( controller: VideoViewController( rtcEngine: _engine, canvas: const VideoCanvas(uid: 0), ), ) : const CircularProgressIndicator(), ), ), ), ], ), ); } // Display remote user's video Widget _remoteVideo() { if (_remoteUid != null) { return AgoraVideoView( controller: VideoViewController.remote( rtcEngine: _engine, canvas: VideoCanvas(uid: _remoteUid), connection: const RtcConnection(channelId: channel), ), ); } else { return const Text( 'Please wait for remote user to join', textAlign: TextAlign.center, ); } } } ``` ```html agora_test_next_version ```

Screenshots or Video

Screenshots / Video demonstration [Upload media here]

Logs

Logs ```console [Paste your logs here] ```

Flutter Doctor output

Doctor output ```console Doctor summary (to see all details, run flutter doctor -v): [✓] Flutter (Channel stable, 3.22.1, on Ubuntu 23.10 6.5.7-060507-generic, locale en_US.UTF-8) [✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) [✓] Chrome - develop for the web [✓] Linux toolchain - develop for Linux desktop [✓] Android Studio (version 2023.1) [✓] VS Code (version 1.89.1) [✓] Connected device (3 available) [✓] Network resources • No issues found! ```
littleGnAl commented 3 months ago

I tested it on Flutter SDK 3.22.1 on macOS and it works fine, our tests have run against the Flutter SDK 3.22.x on Linux and it works fine too. https://github.com/AgoraIO-Extensions/Agora-Flutter-SDK/blob/main/.github/workflows/build.yml#L567

Can you share a reproducible demo?

Silfalion commented 3 months ago

Sorry, it seems that it's working now? For the example, I was using the wrong entry point, but I don't know what changed on the project itself. Either way it's working great now, thank you for taking the time to answer and sorry.

github-actions[bot] commented 2 months ago

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. If you find this problem please file a new issue with the same description, what happens, logs and the output. All system setups can be slightly different so it's always better to open new issues and reference the related ones. Thanks for your contribution.

github-actions[bot] commented 2 months ago

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please raise a new issue.