Skip to content

Commit

Permalink
Analytics: Use a simple post instead of grpc
Browse files Browse the repository at this point in the history
Much easier on the backend side. GRPC is way way more complex than I
expected.
  • Loading branch information
vHanda committed Jun 25, 2022
1 parent 2661eda commit 557a02e
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 133 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ protos:
protoc --dart_out=grpc:lib/generated -Iprotos protos/shared_preferences.proto
protoc --dart_out=grpc:lib/generated -Iprotos protos/builders.proto
protoc --dart_out=grpc:lib/generated -Iprotos protos/core.proto
rm lib/analytics/generated/analytics.pbgrpc.dart
./flutterw format lib/
./flutterw pub run import_sorter:main

Expand Down
59 changes: 0 additions & 59 deletions lib/analytics/generated/analytics.pbgrpc.dart

This file was deleted.

34 changes: 12 additions & 22 deletions lib/analytics/network.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,35 +11,25 @@ import 'package:gitjournal/analytics/generated/analytics.pbgrpc.dart';
import 'package:gitjournal/utils/result.dart';
import 'generated/analytics.pb.dart' as pb;

import 'package:dio/dio.dart';

const _port = 443;
const _timeout = Duration(seconds: 120);

Future<Result<void>> sendAnalytics(pb.AnalyticsMessage msg) async {
final channel = ClientChannel(
Env.analyticsUrl,
port: _port,
options: ChannelOptions(
// credentials: const ChannelCredentials.insecure(),
credentials: const ChannelCredentials.secure(),
codecRegistry: CodecRegistry(codecs: const [
IdentityCodec(),
GzipCodec(),
]),
),
);
var dio = Dio();

final client = AnalyticsServiceClient(channel);
Future<Result<void>> sendAnalytics(pb.AnalyticsMessage msg) async {
try {
var call = client.sendData(
msg,
options: CallOptions(timeout: _timeout),
await dio.post(
Env.analyticsUrl,
data: msg.writeToJson(),
options: Options(
headers: {Headers.contentTypeHeader: "application/json"},
),
);
var _ = await call;
} catch (e, st) {
await channel.shutdown();
return Result.fail(e, st);
} catch (ex, st) {
return Result.fail(ex, st);
}

await channel.shutdown();
return Result(null);
}
7 changes: 7 additions & 0 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.1"
dio:
dependency: "direct main"
description:
name: dio
url: "https://pub.dartlang.org"
source: hosted
version: "4.0.6"
dots_indicator:
dependency: "direct main"
description:
Expand Down
100 changes: 48 additions & 52 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,116 +9,112 @@ environment:
publish_to: none

dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
dart_git:
git: https://github.com/GitJournal/dart-git.git
# path: ../gitjournal/dart-git
git_bindings:
# path: ../gitjournal/git_bindings
git: https://github.com/GitJournal/git_bindings.git
icloud_documents_path:
git: https://github.com/GitJournal/icloud_documents_path.git
android_external_storage: ^0.1.0
auto_size_text: ^3.0.0-nullsafety.0
auto_updater: ^0.1.2
background_fetch: ^1.0.3
badges: ^2.0.1
carousel_slider: ^4.0.0
collection: ^1.15.0-nullsafety.4
community_material_icon: ^5.9.55
connectivity_plus: ^2.2.0
cryptography: ^2.0.5
d3_force_flutter:
git: https://github.com/MathGaps/d3-force-flutter.git
dart_date: ^1.1.1
dart_git:
git: https://github.com/GitJournal/dart-git.git
device_info_plus: ^2.1.0
dio: ^4.0.6
dots_indicator: ^2.0.0
easy_localization: ^3.0.0
easy_localization_loader: ^1.0.0
email_validator: ^2.0.1
equatable: ^2.0.0
fast_immutable_collections: ^7.1.2
file_picker: ^4.0.2
filesystem_picker: ^2.0.0-nullsafety.0 # for directories
filesystem_picker: ^2.0.0-nullsafety.0
fimber: ^0.6.1
flex_color_scheme: ^4.2.0
flutter:
sdk: flutter
flutter_cache_manager: ^3.0.1
flutter_email_sender: ^5.0.2
flutter_emoji: ^2.4.0
flutter_localizations:
sdk: flutter
flutter_login: ^3.2.0
flutter_markdown: ^0.6.1
flutter_runtime_env: ^0.0.4
flutter_staggered_grid_view: ^0.4.1
flutter_svg: ^0.21.0+1
flutter_tex_js: ^1.2.15
font_awesome_flutter: ^9.0.0
fs_shim: ^2.0.1+2
function_types: ^0.1.0
git_bindings:
git: https://github.com/GitJournal/git_bindings.git
google_api_availability: ^3.0.1
google_fonts: ^2.1.0
grpc: ^3.0.0
http: ^0.13.1
icloud_documents_path:
git: https://github.com/GitJournal/icloud_documents_path.git
image_picker: ^0.8.4+1
in_app_purchase: ^0.5.2
intl: ^0.17.0
language_picker: ^0.4.1
launch_review: ^3.0.1
mutex: ^3.0.0
nested: ^1.0.0
openssh_ed25519:
path: packages/openssh_ed25519
org_flutter: ^1.4.0
package_info_plus: ^1.0.4
path: ^1.8.0
permission_handler: ^8.3.0
photo_view: ^0.13.0
protobuf: ^2.0.0
provider: ^6.0.1
quick_actions: ^0.6.0+3
recase: ^4.0.0
receive_sharing_intent: ^1.4.5
sentry_flutter: ^6.5.1
share_plus: ^2.1.4
shared_preferences: ^2.0.5
#ssh_key: ^0.6.0
sprintf: ^6.0.0
stack_trace: ^1.10.0
supabase_flutter: ^0.3.1+1
synchronized: ^3.0.0
table_calendar: ^3.0.3
time: ^2.0.0
timeago: ^3.1.0
timeline_tile: ^2.0.0
universal_io: ^2.0.4
url_launcher: ^6.0.3
uuid: ^3.0.4
yaml: ^3.1.0
yaml_serializer: ^0.0.12
collection: ^1.15.0-nullsafety.4
flex_color_scheme: ^4.2.0
fs_shim: ^2.0.1+2
grpc: ^3.0.0
protobuf: ^2.0.0
universal_io: ^2.0.4
sprintf: ^6.0.0
recase: ^4.0.0
supabase_flutter: ^0.3.1+1
nested: ^1.0.0
language_picker: ^0.4.1
flutter_login: ^3.2.0
android_external_storage: ^0.1.0
background_fetch: ^1.0.3
timeline_tile: ^2.0.0
community_material_icon: ^5.9.55
google_api_availability: ^3.0.1
carousel_slider: ^4.0.0
table_calendar: ^3.0.3
openssh_ed25519:
path: packages/openssh_ed25519
d3_force_flutter:
git: https://github.com/MathGaps/d3-force-flutter.git
flutter_tex_js: ^1.2.15
dart_date: ^1.1.1
fast_immutable_collections: ^7.1.2
auto_updater: ^0.1.2

dev_dependencies:
#flutter_driver:
# sdk: flutter
flutter_test:
sdk: flutter
benchmark_harness: ^2.0.0
build_runner: ^2.1.2
dart_code_metrics: ^4.10.1
dashbook: ^0.1.3
# bonsoir: ^1.0.0
flutter_launcher_icons:
git: https://github.com/dirkbo/flutter_launcher_icons
flutter_lints: ^1.0.4
flutter_test:
sdk: flutter
hive_generator: ^1.1.0
# flutter_webview_plugin: ^0.3.11
import_sorter: ^4.6.0
junitreport: ^2.0.2
process_run: ^0.12.3+2
# multicast_dns: ^0.3.0
#screenshots: ^2.1.1
test: ^1.16.5
build_runner: ^2.1.2
dashbook: ^0.1.3
dart_code_metrics: ^4.10.1
hive_generator: ^1.1.0
flutter_lints: ^1.0.4
process_run: ^0.12.3+2
junitreport: ^2.0.2

flutter:
uses-material-design: true
Expand Down
Binary file modified secrets/env.json
Binary file not shown.

0 comments on commit 557a02e

Please sign in to comment.