Project

General

Profile

Actions

Task #18

closed

Task #19: Ensure Compatibility with Flutter Web

Find Replacement Flutter Web Pacakges

Task #18: Find Replacement Flutter Web Pacakges

Added by Fadi Hussein about 2 months ago. Updated about 2 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Milad Khnefes
Target version:
Sunnex - V1.1
Start date:
01/26/2026
Due date:
% Done:

0%

Estimated time:
2:00 h
Spent time:

Description

For each Flutter Package that is not compatible with Flutter Web find replacements whcich are supported and add them as note to this issue in order to decide on which implementation to choose.

Updated by Fadi Hussein about 2 months ago Actions #1

  • Parent task set to #19

Updated by Milad Khnefes about 2 months ago Actions #2

Research Result:

  1. Notifications: flutter_local_notifications โ†’ awesome_notifications

Web Setup Required:
Add service worker file (web/awesome_notifications_sw.js)
Register worker in web/index.html
Handle permission requests

Flutter Setup Required:
Replace old flutter_local_notifications APIs

  1. App Restart: flutter_phoenix โ†’ Keep It (No Changes Needed)

Key Insight:
flutter_phoenix is pure Dart (no platform channels)
Uses GlobalKey to rebuild widget tree - works on all platforms
No replacement required
Alternative Approach: Refactor to use state reset instead of app restart (more Flutter-idiomatic)

  1. Database: sqflite โ†’ drift (formerly moor)

Single API that works on mobile and web
Uses SQLite on Android/iOS via existing sqflite
On web: Uses SQLite compiled to WebAssembly OR IndexedDB
Maintains relational database capabilities

Updated by Milad Khnefes about 2 months ago ยท Edited Actions #3

I'll get rid of flutter_launcher_icons since it's not used directly in the dart and flutter code, only a helper terminal util
I'll also use sqlite3 instead of drift, since it's android, ios, and web-compatible already

Updated by Milad Khnefes about 2 months ago Actions #4

  • Status changed from New to Closed
Actions

Also available in: PDF Atom