When user tries to save a new laptime that is worse than a previously saved one, the following message is given: "An error occured while saving data. Please retry". It should instead report something more useful
Whenever the SSR function is triggered, the following error is thrown:
ERROR { Error: Uncaught (in promise): Error: StaticInjectorError(AppServerModule)[FirebaseuiAngularLibraryComponent -> AngularFireAuth]:
StaticInjectorError(Platform: core)[FirebaseuiAngularLibraryComponent -> AngularFireAuth]:
NullInjectorError: No provider for AngularFireAuth!
Error: StaticInjectorError(AppServerModule)[FirebaseuiAngularLibraryComponent -> AngularFireAuth]:
StaticInjectorError(Platform: core)[FirebaseuiAngularLibraryComponent -> AngularFireAuth]:
NullInjectorError: No provider for AngularFireAuth!
at NullInjector.get (/srv/dist/server.js:34394:19)
at resolveToken (/srv/dist/server.js:34639:24)
at tryResolveToken (/srv/dist/server.js:34583:16)
at StaticInjector.get (/srv/dist/server.js:34480:20)
at resolveToken (/srv/dist/server.js:34639:24)
at tryResolveToken (/srv/dist/server.js:34583:16)
at StaticInjector.get (/srv/dist/server.js:34480:20)
at resolveNgModuleDep (/srv/dist/server.js:50950:29)
at _createClass (/srv/dist/server.js:50999:29)
at _createProviderInstance (/srv/dist/server.js:50967:26)
at resolvePromise (/srv/dist/server.js:29329:31)
at resolvePromise (/srv/dist/server.js:29286:17)
at /srv/dist/server.js:29388:17
at ZoneDelegate.invokeTask (/srv/dist/server.js:28936:31)
at Object.onInvokeTask (/srv/dist/server.js:47313:33)
at ZoneDelegate.invokeTask (/srv/dist/server.js:28935:36)
at Zone.runTask (/srv/dist/server.js:28703:47)
at drainMicroTaskQueue (/srv/dist/server.js:29110:35)
at ZoneTask.invokeTask (/srv/dist/server.js:29015:21)
at ZoneTask.invoke (/srv/dist/server.js:29000:48)
App functionality is not affected, but it's not "clean"
As is now, debugging is very hard on mobile if an error occurs when saving a new LapTime.
Add some more logging (using the logging service) to make it easier
Having the client using the Firebase library wouldn't make application scalable enough as the number of concurrent access from different location is limited
Add a link to the firebase.rules.json in firebase.json, adding the following code "database": { "rules": "database.rules.bolt" },
in the root of the JSON object