From 4b411107f74f048e6f3d571845590a5d29720ac3 Mon Sep 17 00:00:00 2001 From: Jagandeep Brar Date: Thu, 8 Sep 2022 00:14:21 -0400 Subject: [PATCH] feat(web): enable service worker processing of notifications [skip ci] --- .github/workflows/prepare.yml | 6 ++++++ .github/workflows/release.yml | 1 + lib/firebase/core.dart | 4 +--- lib/firebase/firestore.dart | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/prepare.yml b/.github/workflows/prepare.yml index e4ac627b..245dcf01 100644 --- a/.github/workflows/prepare.yml +++ b/.github/workflows/prepare.yml @@ -25,6 +25,8 @@ on: value: ${{ jobs.build-details.outputs.build-version }} secrets: + FIREBASE_SERVICE_WORKER: + required: true FIREBASE_TOKEN: required: true SENTRY_DSN: @@ -142,6 +144,9 @@ jobs: - name: Generate Changelog run: dart ${{github.workspace }}/scripts/generate_changelog.dart ${{ needs.build-details.outputs.build-flavor }} + - name: Generate Firebase Service Worker + run: echo ${{ secrets.FIREBASE_SERVICE_WORKER }} | base64 --decode > web/firebase-messaging-sw.js + - name: Generate Build Runner Files run: flutter packages pub run build_runner build @@ -154,3 +159,4 @@ jobs: ${{ github.workspace }}/assets/localization ${{ github.workspace }}/lib/**/*.g.dart ${{ github.workspace }}/lib/system/environment.dart + ${{ github.workspace }}/web/firebase-messaging-sw.js diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9b55eb64..7f464efa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,6 +24,7 @@ jobs: with: flavor: ${{ inputs.flavor }} secrets: + FIREBASE_SERVICE_WORKER: ${{ secrets.FIREBASE_SERVICE_WORKER }} FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }} SENTRY_DSN: ${{ secrets.SENTRY_DSN }} diff --git a/lib/firebase/core.dart b/lib/firebase/core.dart index 3a24e72e..668ecfd8 100644 --- a/lib/firebase/core.dart +++ b/lib/firebase/core.dart @@ -1,8 +1,6 @@ import 'package:firebase_core/firebase_core.dart'; import 'package:lunasea/system/platform.dart'; - -// ignore: always_use_package_imports -import 'options.dart'; +import 'package:lunasea/firebase/options.dart'; class LunaFirebase { static bool get isSupported { diff --git a/lib/firebase/firestore.dart b/lib/firebase/firestore.dart index eb30c6fa..6ca9ffea 100644 --- a/lib/firebase/firestore.dart +++ b/lib/firebase/firestore.dart @@ -7,7 +7,7 @@ import 'package:lunasea/firebase/types.dart'; class LunaFirebaseFirestore { /// Returns an instance of [FirebaseFirestore]. /// - /// Throws an errof if [LunaFirebase.initialize] has not been called. + /// Throws an error if [LunaFirebase.initialize] has not been called. static FirebaseFirestore get instance => FirebaseFirestore.instance; /// Add a backup entry to Firestore. Returns true if successful, and false on any error.