Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
13e3b69
feat: add Firebase Cloud Messaging configuration and setup
AndreaDiazCorreia Nov 3, 2025
152977d
feat: add Firebase Cloud Messaging service
AndreaDiazCorreia Nov 5, 2025
a90123f
feat: add Firebase initialization to app startup
AndreaDiazCorreia Nov 5, 2025
b8eca26
feat: initialize FCM service for push notifications
AndreaDiazCorreia Nov 5, 2025
e6d0f00
feat: add FCM background message handler for push notifications
AndreaDiazCorreia Nov 5, 2025
40c1642
feat: implement FCM background notification processing
AndreaDiazCorreia Nov 5, 2025
b2d3451
feat: migrate FCM to silent push notification approach
AndreaDiazCorreia Nov 5, 2025
11a7b35
feat: add Firebase Cloud Functions infrastructure
AndreaDiazCorreia Nov 5, 2025
82255b8
chore: add WebSocket dependency and implement notification batching
AndreaDiazCorreia Nov 5, 2025
0b6d20a
chore: remove peer dependency flags from package-lock.json fix: bakcg…
AndreaDiazCorreia Nov 10, 2025
f93d269
refactor: migrate FCM from WebSocket listeners to polling-based archi…
AndreaDiazCorreia Nov 13, 2025
297618a
feat: show notification when configured Lightning address is used (#349)
Catrya Nov 10, 2025
d3f29a1
feat: improve countdown timer with order_expires_at and dynamic scali…
Catrya Nov 13, 2025
c6347a6
bumps to v1.0.4
grunch Nov 13, 2025
8e3ba7d
refactor: Change NostrFilter from authors to p tag for gift-wrapped e…
AndreaDiazCorreia Nov 10, 2025
bae799c
chore: update Google Services plugin to version 4.4.4
AndreaDiazCorreia Nov 17, 2025
2664d97
chore: configure APNS headers for background push notifications
AndreaDiazCorreia Nov 17, 2025
dc65149
chore: refactor notification deduplication to use separate database
AndreaDiazCorreia Nov 17, 2025
fbe0160
chore: add error handling and retry support to background notificatio…
AndreaDiazCorreia Nov 18, 2025
528b665
refactor: move FCM event processing from background to foreground iso…
AndreaDiazCorreia Nov 19, 2025
e7c2e85
chore: add error handling for optional FCM initialization during app …
AndreaDiazCorreia Nov 20, 2025
e2038e7
chore: add Firebase configuration files and comprehensive setup docum…
AndreaDiazCorreia Nov 21, 2025
5149167
Merge branch 'main' into andrea/FCM-impl
AndreaDiazCorreia Nov 25, 2025
7f819c0
fvm
AndreaDiazCorreia Nov 25, 2025
07dcf3f
refactor: remove verbose documentation comments from FCM and notifica…
AndreaDiazCorreia Nov 25, 2025
c9c5467
refactor: remove verbose documentation comments from Firebase Cloud F…
AndreaDiazCorreia Nov 25, 2025
2eea02a
refactor: enhance FCM and lifecycle logging with structured markers a…
AndreaDiazCorreia Nov 26, 2025
cb4d8b2
refactor: remove notification state storage and improve event dedupli…
AndreaDiazCorreia Nov 27, 2025
b9ccfaf
refactor: simplify Firebase options documentation comments
AndreaDiazCorreia Nov 27, 2025
3439bba
refactor: improve FCM service cleanup and pending event processing (c…
AndreaDiazCorreia Nov 27, 2025
6b12336
refactor: add platform checks to conditionally initialize Firebase on…
AndreaDiazCorreia Nov 30, 2025
9338e1e
Merge branch 'main' into andrea/FCM-impl
AndreaDiazCorreia Dec 11, 2025
0167e3d
Add comprehensive FCM implementation and testing documentation
AndreaDiazCorreia Dec 11, 2025
e491875
Fix timestamp tracking and add proper resource cleanup in background …
AndreaDiazCorreia Dec 11, 2025
18c4e67
Update FCM polling interval documentation from 5 to 1 minute
AndreaDiazCorreia Dec 11, 2025
906f256
Add clarifying comment about SharedPreferencesAsync behavior in backg…
AndreaDiazCorreia Dec 11, 2025
03a0ab1
Refactor showLocalNotification to return success status and simplify …
AndreaDiazCorreia Dec 11, 2025
2f4d4db
Add timeout and connection cleanup to FCM background notification pro…
AndreaDiazCorreia Dec 11, 2025
da0f62e
Fix grammar in Cloud Functions schedule interval from "minutes" to "m…
AndreaDiazCorreia Dec 11, 2025
8bb5066
Move pending FCM event check from main.dart to app lifecycle observer
AndreaDiazCorreia Dec 11, 2025
2e9405c
Add push notification service with encrypted token registration
AndreaDiazCorreia Dec 19, 2025
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
5 changes: 5 additions & 0 deletions .firebaserc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"projects": {
"default": "mostro-test"
}
}
10 changes: 8 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,9 @@ android/app/upload-keystore.jks
.cxx/

# Firebase and Google Services
android/app/google-services.json
ios/Runner/GoogleService-Info.plist
# Note: google-services.json and GoogleService-Info.plist contain PUBLIC credentials
# These are safe to commit (see lib/firebase_options.dart for security explanation)
# Only PRIVATE service account keys should be kept secret (never in client code)

# Web
web/.dart_tool/
Expand All @@ -71,6 +72,11 @@ chrome/.cxx
chrome/.dart_tool
chrome/.packages

# Cloud Functions
functions/node_modules/
functions/lib/
functions/.runtimeconfig.json

# Misc
*.log
*.lock
Expand Down
3 changes: 3 additions & 0 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
plugins {
id "com.android.application"
// START: FlutterFire Configuration
id 'com.google.gms.google-services'
// END: FlutterFire Configuration
id "kotlin-android"
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id "dev.flutter.flutter-gradle-plugin"
Expand Down
29 changes: 29 additions & 0 deletions android/app/google-services.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"project_info": {
"project_number": "679654468306",
"project_id": "mostro-test",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you remove the test from the name?

"storage_bucket": "mostro-test.firebasestorage.app"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:679654468306:android:eed448d8b546663cbedb0b",
"android_client_info": {
"package_name": "network.mostro.app"
}
},
"oauth_client": [],
"api_key": [
{
"current_key": "AIzaSyBAwF5XEuNOC-TQqhLrFJQhNVzbFYSc1sI"
Copy link
Member

@grunch grunch Nov 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it is safe to publish this key?

}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": []
}
}
}
],
"configuration_version": "1"
}
3 changes: 3 additions & 0 deletions android/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@ pluginManagement {
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.6.0" apply false
// START: FlutterFire Configuration
id "com.google.gms.google-services" version "4.4.4" apply false
// END: FlutterFire Configuration
id "org.jetbrains.kotlin.android" version "2.1.0" apply false
}

Expand Down
Loading