Proposal to support all platforms (including web) while emulating browser caching behavior
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 22/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Ferma
- Stack tecnologico
- dart, flutter
- Ambito
- databases, mobile-dev, web-dev
Direzione di ricerca
Inizia leggendo il progetto http_get_cache collegato e i riferimenti della proposta a Drift, sqflite e fetch_client. Confronta il comportamento previsto di Cache-Control, ETag, Last-Modified, della riverifica, dell’espulsione e dell’archiviazione della piattaforma, quindi verifica che le piattaforme native e web siano coperte da test per il comportamento previsto del browser.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
🏗 Enhancement Proposal
I recently was able to support all native platforms and web with an emulation of how the browser works with saving, revalidating and evicting cache.
https://github.com/rodydavis/http_get_cache
The goal is to support the same way the browser does caching:
- Cache-Control, eTag, Last-Modified headers
- max-age, stale-while-revalidate, stale-if-error, only-if-cached
- Support fetching content updates with head requests for non immutable objects and only after stale and 304 response meaning no update
- Support skipping cache with request headers: no-cache
- Support preventing storing with: no-store
- Use platform cache directory for stored files and database in documents
Pitch
- Update core logic to use Drift instead of sqflite to support all native platforms
- Web will use the fetch_client package and work with browser caching
- New http client for wrapping network requests
- Add tests to test for expected browser behavior
Platforms affected (mark all that apply)
- 📱 iOS
- 🤖 Android
- [+] MacOS
- [+] Windows
- [+] Linux
- [+] Web
- [+] Dart native
- Lingua principale
- Dart
- Stelle
- 810
- Fork
- 510
- Merge medio
- 2g 2h
- PR unite (30g)
- 11
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Baseflow/flutter_cache_manager
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Baseflow/flutter_cache_manager#450 · 9 commenti · 8 reazioni ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 48/100
Baseflow/flutter_cache_manager#507 · 1 commento ·
-
sqflite_android update Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 30/100
Baseflow/flutter_cache_manager#501 · 1 commento · 3 reazioni ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
Baseflow/flutter_cache_manager#500 · 1 commento · 3 reazioni ·
Tutte le issue di Baseflow/flutter_cache_manager
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
AOSSIE-Org/Ell-ena#332 ·
-
ui/ux
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
HemantKArya/BloomeeTunes#489 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
AppFlowy-IO/appflowy-editor#1241 ·
-
error Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100