Skip to content

update dependencies #95

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -80,8 +80,8 @@ build/
# Scratchpad
scratchpad.dart

# pubspec.lock
pubspec.lock
#


# test_coverage generated files
coverage
20 changes: 12 additions & 8 deletions acceptance_tests/lib/src/hooks/mock_server_hook.dart
Original file line number Diff line number Diff line change
@@ -13,13 +13,17 @@ class MockServerHook extends Hook {
Iterable<Tag> tags,
) async {
try {
var tagParts = tags.firstWhere((element) => element.name.startsWith('@contract=')).name.split('=');
var tagParts = tags
.firstWhere((element) => element.name.startsWith('@contract='))
.name
.split('=');

var contract = tagParts.skip(1).first;

// await Future.delayed(Duration(seconds: 3));

var res = await http.get(Uri.parse('http://localhost:8090/init?__contract__script__=$contract'));
var res = await http.get(Uri.parse(
'http://localhost:8090/init?__contract__script__=$contract'));

// check for 200 response and fail scenario if not 200

@@ -35,8 +39,8 @@ class MockServerHook extends Hook {
int myData = 0;

@override
Future<StepResult?> onAfterStep(
covariant PubNubWorld world, ScenarioRunnable scenario, String step, StepResult stepResult) async {
Future<StepResult?> onAfterStep(covariant PubNubWorld world,
ScenarioRunnable scenario, String step, StepResult stepResult) async {
// print(
// 'Hook step: $step, result: ${stepResult.result} ${stepResult.resultReason}');

@@ -58,12 +62,12 @@ class MockServerHook extends Hook {
// '[Hook] x ${failedExp.length}, . ${pendingExp.length}, v ${succeededExp.length}');

if (failedExp.isNotEmpty) {
return StepResult(
stepResult.elapsedMilliseconds, StepExecutionResult.fail, 'Failed expectations: $failedExp.');
return StepResult(stepResult.elapsedMilliseconds,
StepExecutionResult.fail, 'Failed expectations: $failedExp.');
}
} catch (e) {
return StepResult(
stepResult.elapsedMilliseconds, StepExecutionResult.error, 'Unable to verify expectations: $e.');
return StepResult(stepResult.elapsedMilliseconds,
StepExecutionResult.error, 'Unable to verify expectations: $e.');
}
}

3 changes: 2 additions & 1 deletion acceptance_tests/lib/src/reporter.dart
Original file line number Diff line number Diff line change
@@ -142,6 +142,7 @@ class PubNubReporter extends Reporter {
print('');
print(' $scenarioCount scenarios executed');
print('${Color.PASS}✓${Color.RESET} $passedScenarioCount scenarios passed');
print('${Color.FAIL}x${Color.RESET} ${scenarioCount - passedScenarioCount} scenarios failed');
print(
'${Color.FAIL}x${Color.RESET} ${scenarioCount - passedScenarioCount} scenarios failed');
}
}
477 changes: 477 additions & 0 deletions acceptance_tests/pubspec.lock

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions acceptance_tests/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ version: 1.0.0
publish_to: none

environment:
sdk: ">=2.17.0 <3.0.0"
sdk: ">=3.0.0 <4.0.0"

dependencies:
glob: ^2.0.1
@@ -14,7 +14,7 @@ dependencies:
archive: ^3.1.2
dotenv: ^4.0.1
gherkin:
git:
git:
url: https://github.com/are/dart_gherkin.git
ref: "5735740"
test: ^1.15.0
4 changes: 4 additions & 0 deletions acceptance_tests/pubspec_overrides.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# melos_managed_dependency_overrides: pubnub
dependency_overrides:
pubnub:
path: ..\\pubnub
437 changes: 437 additions & 0 deletions pubnub/pubspec.lock

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions pubnub/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: pubnub
description: PubNub SDK v5 for Dart lang (with Flutter support) that allows you to create real-time applications
version: 4.2.2
homepage: https://www.pubnub.com/docs/sdks/dart
version: 4.1.4
homepage: https://www.pubnub.com/docs

environment:
sdk: ">=2.17.0 <3.0.0"
sdk: ">=3.0.0 <4.0.0"

scripts:
test:
7 changes: 5 additions & 2 deletions pubnub/test/unit/net/utils.dart
Original file line number Diff line number Diff line change
@@ -8,13 +8,16 @@ void main() {
expect(isHeaderForbidden('Content-Length'), equals(true));
});

test('isHeaderForbidden should return true for any Sec- or Proxy- header', () {
test('isHeaderForbidden should return true for any Sec- or Proxy- header',
() {
expect(isHeaderForbidden('Sec-Test-1'), equals(true));
expect(isHeaderForbidden('Sec-Random-2'), equals(true));
expect(isHeaderForbidden('Proxy-Whatever'), equals(true));
});

test('isHeaderForbidden should return false for any other header not specified', () {
test(
'isHeaderForbidden should return false for any other header not specified',
() {
expect(isHeaderForbidden('X-Custom-Header'), equals(false));
expect(isHeaderForbidden('Content-Type'), equals(false));
});
11 changes: 6 additions & 5 deletions pubnub_flutter/lib/src/provider.dart
Original file line number Diff line number Diff line change
@@ -10,17 +10,18 @@ class PubNubProvider extends InheritedWidget {
final Widget child;

PubNubProvider(
{Key key, @required this.instance, @required this.child, this.cache})
: assert(child != null),
assert(instance != null),
super(key: key, child: child);
{Key? key,
required this.instance,
required this.child,
required this.cache})
: super(key: key, child: child);

static PubNubProvider of(BuildContext context) {
var provider = context.dependOnInheritedWidgetOfExactType<PubNubProvider>();

assert(provider != null);

return provider;
return provider!;
}

bool get cacheEnabled => cache != null;
16 changes: 8 additions & 8 deletions pubnub_flutter/lib/src/widgets/channel_builder.dart
Original file line number Diff line number Diff line change
@@ -49,10 +49,10 @@ class ChannelBuilder extends StatefulWidget {
final bool withPresence;

ChannelBuilder({
@required this.channel,
@required this.builder,
this.keyset,
this.using,
required this.channel,
required this.builder,
required this.keyset,
required this.using,
this.disableCache = false,
this.disableHistory = false,
this.disableSubscription = false,
@@ -105,8 +105,8 @@ class ChannelSnapshot {

class _ChannelBuilderState extends State<ChannelBuilder>
with SubscriptionMemory, DidInitState {
PubNubProvider provider;
Keyset keyset;
late PubNubProvider provider;
late Keyset keyset;

bool get cacheEnabled => provider.cacheEnabled && !widget.disableCache;
String get cacheKey =>
@@ -115,8 +115,8 @@ class _ChannelBuilderState extends State<ChannelBuilder>
final List<ChannelMessage> localMessages = [];
List<ChannelMessage> cachedMessages = [];

PaginatedChannelHistory history;
Subscription subscription;
late PaginatedChannelHistory history;
late Subscription subscription;

List<ChannelMessage> get messages => [
if (cacheEnabled && history.messages.isEmpty) ...cachedMessages,
Original file line number Diff line number Diff line change
@@ -15,8 +15,7 @@ class ChannelOccupancyBuilder extends StatefulWidget {

final ChannelOccupancyWidgetBuilder builder;

ChannelOccupancyBuilder(
{@required this.subscription, @required this.builder});
ChannelOccupancyBuilder({required this.subscription, required this.builder});

@override
_ChannelOccupancyBuilderState createState() =>
@@ -41,7 +40,7 @@ class ChannelOccupancySnapshot {

class _ChannelOccupancyBuilderState extends State<ChannelOccupancyBuilder>
with SubscriptionMemory, DidInitState {
PubNub pubnub;
late PubNub pubnub;

Set<String> uuids = {};
int occupancy = 0;
@@ -61,11 +60,11 @@ class _ChannelOccupancyBuilderState extends State<ChannelOccupancyBuilder>

switch (event.action) {
case PresenceAction.join:
uuids.add(event.uuid.value);
uuids.add(event.uuid!.value);
break;
case PresenceAction.leave:
case PresenceAction.timeout:
uuids.remove(event.uuid.value);
uuids.remove(event.uuid!.value);
break;
case PresenceAction.stateChange:
break;
38 changes: 19 additions & 19 deletions pubnub_flutter/lib/src/widgets/presence_widget.dart
Original file line number Diff line number Diff line change
@@ -51,9 +51,9 @@ class PresenceWidget extends StatefulWidget {
final Set<String> channelGroups;

PresenceWidget({
this.child,
this.keyset,
this.using,
required this.child,
required this.keyset,
required this.using,
this.online = true,
this.announceLeave = false,
this.heartbeatInterval = 200,
@@ -66,8 +66,8 @@ class PresenceWidget extends StatefulWidget {
}

class PresenceWidgetState extends State<PresenceWidget> with DidInitState {
Timer timer;
PubNub _pubnub;
Timer? timer;
PubNub? _pubnub;

@override
void dispose() {
@@ -101,7 +101,7 @@ class PresenceWidgetState extends State<PresenceWidget> with DidInitState {

void _cancelTimer() {
if (timer != null) {
timer.cancel();
timer?.cancel();
timer = null;
}
}
@@ -116,36 +116,36 @@ class PresenceWidgetState extends State<PresenceWidget> with DidInitState {
}

Future<void> _sendHeartbeat(Timer timer) async {
var keyset = widget.keyset ?? _pubnub.keysets[widget.using];
var keyset = widget.keyset ?? _pubnub?.keysets[widget.using];

var channels =
widget.channels ?? _pubnub.getSubscribedChannelsForUUID(keyset.uuid);
widget.channels ?? _pubnub?.getSubscribedChannelsForUUID(keyset!.uuid);
var channelGroups = widget.channelGroups ??
_pubnub.getSubscribedChannelGroupsForUUID(keyset.uuid);
_pubnub?.getSubscribedChannelGroupsForUUID(keyset!.uuid);

await _pubnub.announceHeartbeat(
await _pubnub?.announceHeartbeat(
heartbeat: widget.heartbeatInterval,
channels: channels,
channelGroups: channelGroups,
channels: channels!,
channelGroups: channelGroups!,
keyset: widget.keyset,
using: widget.using,
);
}

Future<void> _announceLeave() async {
if (widget.announceLeave) {
var keyset = widget.keyset ?? _pubnub.keysets[widget.using];
var keyset = widget.keyset ?? _pubnub?.keysets[widget.using];

var channels =
widget.channels ?? _pubnub.getSubscribedChannelsForUUID(keyset.uuid);
var channels = widget.channels ??
_pubnub?.getSubscribedChannelsForUUID(keyset!.uuid);
var channelGroups = widget.channelGroups ??
_pubnub.getSubscribedChannelGroupsForUUID(keyset.uuid);
_pubnub?.getSubscribedChannelGroupsForUUID(keyset!.uuid);

await _pubnub.announceLeave(
await _pubnub?.announceLeave(
keyset: widget.keyset,
using: widget.using,
channels: channels,
channelGroups: channelGroups,
channels: channels!,
channelGroups: channelGroups!,
);
}
}
22 changes: 11 additions & 11 deletions pubnub_flutter/lib/src/widgets/stored_value.dart
Original file line number Diff line number Diff line change
@@ -31,10 +31,10 @@ class StoredValue<T> extends StatefulWidget {
final bool disableCache;

StoredValue(
{@required this.channel,
@required this.builder,
this.keyset,
this.using,
{required this.channel,
required this.builder,
required this.keyset,
required this.using,
this.disableCache = false,
this.disableHistory = false});

@@ -44,9 +44,9 @@ class StoredValue<T> extends StatefulWidget {

class _StoredValueState<T> extends State<StoredValue<T>>
with SubscriptionMemory, DidInitState {
PubNubProvider provider;
Keyset keyset;
Stream<T> stream;
late PubNubProvider provider;
late Keyset keyset;
late Stream<T> stream;

bool get cacheEnabled => provider.cacheEnabled && !widget.disableCache;
String get cacheKey =>
@@ -63,8 +63,8 @@ class _StoredValueState<T> extends State<StoredValue<T>>
));

stream = StreamGroup.mergeBroadcast([
if (!widget.disableHistory) _fetchLatest().asStream(),
subscription.messages.map((envelope) => envelope.payload)
if (!widget.disableHistory) _fetchLatest().asStream().cast<T>(),
subscription.messages.map((envelope) => envelope.payload).cast<T>()
]);

if (cacheEnabled) {
@@ -73,15 +73,15 @@ class _StoredValueState<T> extends State<StoredValue<T>>
}

@override
void didUpdateWidget(covariant StoredValue oldWidget) {
void didUpdateWidget(covariant StoredValue<T> oldWidget) {
super.didUpdateWidget(oldWidget);

forget();

didInitState();
}

Future<T> _fetchLatest() async {
Future<T?> _fetchLatest() async {
var result = await provider.instance
.channel(widget.channel, keyset: keyset)
.history(chunkSize: 1)
275 changes: 275 additions & 0 deletions pubnub_flutter/pubspec.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,275 @@
# Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile
packages:
args:
dependency: transitive
description:
name: args
sha256: c372bb384f273f0c2a8aaaa226dad84dc27c8519a691b888725dec59518ad53a
url: "https://pub.dev"
source: hosted
version: "2.4.1"
asn1lib:
dependency: transitive
description:
name: asn1lib
sha256: ab96a1cb3beeccf8145c52e449233fe68364c9641623acd3adad66f8184f1039
url: "https://pub.dev"
source: hosted
version: "1.4.0"
async:
dependency: "direct main"
description:
name: async
sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
url: "https://pub.dev"
source: hosted
version: "2.11.0"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
url: "https://pub.dev"
source: hosted
version: "2.1.1"
cbor:
dependency: transitive
description:
name: cbor
sha256: "1e0094d5f034c9dfc23f46cf8f8550da1d537c6f5c4ca196a7e02de80d7bbd55"
url: "https://pub.dev"
source: hosted
version: "4.1.0"
characters:
dependency: transitive
description:
name: characters
sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605"
url: "https://pub.dev"
source: hosted
version: "1.3.0"
clock:
dependency: transitive
description:
name: clock
sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf
url: "https://pub.dev"
source: hosted
version: "1.1.1"
collection:
dependency: transitive
description:
name: collection
sha256: "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c"
url: "https://pub.dev"
source: hosted
version: "1.17.1"
convert:
dependency: transitive
description:
name: convert
sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
url: "https://pub.dev"
source: hosted
version: "3.1.1"
crypto:
dependency: transitive
description:
name: crypto
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
url: "https://pub.dev"
source: hosted
version: "3.0.3"
encrypt:
dependency: transitive
description:
name: encrypt
sha256: "4fd4e4fdc21b9d7d4141823e1e6515cd94e7b8d84749504c232999fba25d9bbb"
url: "https://pub.dev"
source: hosted
version: "5.0.1"
fake_async:
dependency: transitive
description:
name: fake_async
sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78"
url: "https://pub.dev"
source: hosted
version: "1.3.1"
flutter:
dependency: "direct main"
description: flutter
source: sdk
version: "0.0.0"
flutter_test:
dependency: "direct dev"
description: flutter
source: sdk
version: "0.0.0"
form_data:
dependency: transitive
description:
name: form_data
sha256: "33fcc5b356ec75f4698653479c4e3880ba88fe2b39b235ccdaacdc2d9a54d758"
url: "https://pub.dev"
source: hosted
version: "1.0.0-nullsafety.1"
js:
dependency: transitive
description:
name: js
sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
url: "https://pub.dev"
source: hosted
version: "0.6.7"
matcher:
dependency: transitive
description:
name: matcher
sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb"
url: "https://pub.dev"
source: hosted
version: "0.12.15"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724
url: "https://pub.dev"
source: hosted
version: "0.2.0"
meta:
dependency: transitive
description:
name: meta
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
url: "https://pub.dev"
source: hosted
version: "1.9.1"
path:
dependency: transitive
description:
name: path
sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
url: "https://pub.dev"
source: hosted
version: "1.8.3"
pedantic:
dependency: transitive
description:
name: pedantic
sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602"
url: "https://pub.dev"
source: hosted
version: "1.11.1"
petitparser:
dependency: transitive
description:
name: petitparser
sha256: cb3798bef7fc021ac45b308f4b51208a152792445cce0448c9a4ba5879dd8750
url: "https://pub.dev"
source: hosted
version: "5.4.0"
pointycastle:
dependency: transitive
description:
name: pointycastle
sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c"
url: "https://pub.dev"
source: hosted
version: "3.7.3"
pool:
dependency: transitive
description:
name: pool
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
url: "https://pub.dev"
source: hosted
version: "1.5.1"
pubnub:
dependency: "direct main"
description:
path: "../pubnub"
relative: true
source: path
version: "4.1.4"
sky_engine:
dependency: transitive
description: flutter
source: sdk
version: "0.0.99"
source_span:
dependency: transitive
description:
name: source_span
sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250
url: "https://pub.dev"
source: hosted
version: "1.9.1"
stack_trace:
dependency: transitive
description:
name: stack_trace
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
url: "https://pub.dev"
source: hosted
version: "1.11.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
url: "https://pub.dev"
source: hosted
version: "2.1.1"
string_scanner:
dependency: transitive
description:
name: string_scanner
sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
url: "https://pub.dev"
source: hosted
version: "1.2.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
url: "https://pub.dev"
source: hosted
version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb
url: "https://pub.dev"
source: hosted
version: "0.5.1"
typed_data:
dependency: transitive
description:
name: typed_data
sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
url: "https://pub.dev"
source: hosted
version: "1.3.2"
vector_math:
dependency: transitive
description:
name: vector_math
sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803"
url: "https://pub.dev"
source: hosted
version: "2.1.4"
xml:
dependency: transitive
description:
name: xml
sha256: "5bc72e1e45e941d825fd7468b9b4cc3b9327942649aeb6fc5cdbf135f0a86e84"
url: "https://pub.dev"
source: hosted
version: "6.3.0"
sdks:
dart: ">=3.0.0 <4.0.0"
5 changes: 2 additions & 3 deletions pubnub_flutter/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -6,8 +6,7 @@ homepage: https://www.pubnub.com/docs/platform/home
publish_to: none

environment:
sdk: ">=2.7.0 <3.0.0"
flutter: ">=1.17.0 <2.0.0"
sdk: ">=3.0.0 <4.0.0"

scripts:
test:
@@ -25,4 +24,4 @@ dependencies:

dev_dependencies:
flutter_test:
sdk: flutter
sdk: flutter
4 changes: 4 additions & 0 deletions pubnub_flutter/pubspec_overrides.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# melos_managed_dependency_overrides: pubnub
dependency_overrides:
pubnub:
path: ..\\pubnub
198 changes: 0 additions & 198 deletions pubnub_flutter/test/_fake_net.dart

This file was deleted.

30 changes: 0 additions & 30 deletions pubnub_flutter/test/_utils.dart

This file was deleted.

116 changes: 0 additions & 116 deletions pubnub_flutter/test/presence_widget_test.dart

This file was deleted.