Comments (4)
I'm not sure where the original rationale came from to refresh the token upon app start. I think it might make sense to keep that to e.g. have a smooth experience when there are external changes to your account.
But I agree, we should aim for getting the Account details ready faster (at least partially, e.g., it might take a while to load the user details from an external storage provider. Otherwise, we could choose to cache that on disk as well.)
from spezitemplateapplication.
@Supereg We have resolved this in the TBI app by adding the Firebase configuration module as a dependency of the Standard
and manually using the Firebase functions to obtain a cached user.
It would be good to explore how we might automate that setup that Spezi Firebase Auth code and Account injection somehow is guaranteed to run before a HealthKit data type could arrive?
from spezitemplateapplication.
So what you are doing in TBI is directly accessing Auth.auth().currentUser
which is present from the start?
What we currently do in SpeziFirebase is to force refresh the auth token upon app startup. This code was kept from the original version of SpeziAccount/SpeziFirebase. We could choose to remove that altogether, which should improve configuration time of the SpeziFirebase module. I assume, Firebase would automatically refresh the token before you do the next request.
from spezitemplateapplication.
Yes, that is the current approach we follow in TBI.
I think it is good to inject the account as early as possible. We can still do the token refresh once we already set the user as signed in and provided all the information right on the startup?
from spezitemplateapplication.
Related Issues (19)
- Logout Button Allows to Skip Account Setup HOT 4
- Skip the HealthKit Permissions View if the Permissions Are Already Provided HOT 1
- Add Xcode Preview to All Views HOT 2
- Local Mock Mode & Cloud Storage Independence HOT 3
- Add an Open-Source Contributions Screen
- Improve UI Testing Setup
- Update Template App to Spezi 0.7.0 HOT 1
- Use String Catalogues
- Schedule View doesn't update Tasks when opening through notification. HOT 3
- Internal change: Re-add CodeQL job as soon as CodeQL supports Swift 5.9
- Create a script for renaming the project HOT 2
- Use Codable for Firestore HOT 2
- Template Application always uses English localization HOT 3
- Documentation Improvements HOT 1
- Reset user context on account logout
- Move the License Information Logic And Views Into a Separate Spezi License Swift Package
- Remove Mock Web Service HOT 1
- Complete Concurrency Checking
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spezitemplateapplication.