SimpleCloudNotifier/scnserver/TODO.md
Mike Schwörer 5da4c3d3b9
All checks were successful
Build Docker and Deploy / Build Docker Container (push) Successful in 1m48s
Build Docker and Deploy / Deploy to Server (push) Successful in 5s
Fix dbConverter error when unmarshalling (failed) deliveries
2024-09-16 17:55:13 +02:00

2.4 KiB

TODO

DO DO DO

  • app-store link in HTML

  • ios purchase verification

  • exerr.New | exerr.Wrap

  • Properly handle UNREGISTERED firebase error (remove token from client?) WRN logic/application.go:284 > FCM Delivery failed error="FCM-Request returned 404: { "error": {\n "code": 404,\n "message": "Requested entity was not found.",\n "status": "NOT_FOUND",\n "details": [\n {\n "@type": "type.googleapis.com/google.firebase.fcm.v1.FcmError",\n "errorCode": "UNREGISTERED"\n }\n ]\n }\n}\n" ClientID=CLNGOSVIaCnm5cQmCI0pC5kR MessageID=MSG8w7NvVRm0OtJERnJlEe3C

UNSURE

  • (?) default-priority for channels

  • (?) "login" on website and list/search/filter messages

  • (?) make channels deleteable (soft-delete) (what do with messages in channel?)

  • (?) desktop client for notifications

  • (?) add querylog (similar to requestlog/errorlog) - only for main-db

  • (?) specify 'type' of message (debug, info, warn, error, fatal) -> distinct from priority

LATER

  • do i need bool2db()? it seems to work for keytokens without them?

  • We no longer have a route to reshuffle all keys (previously in updateUser), add a /user/:uid/keys/reset ? Would delete all existing keys and create 3 new ones?

  • error logging as goroutine, gets all errors via channel, (channel buffered - nonblocking send, second channel that gets a message when sender failed ) (then all errors end up in second sqlite table) due to message channel etc everything is non blocking and cant fail in main

  • => implement proper error logging in goext, kinda combines zerolog and wrapped-errors copy basic code from bringman, but remove all bm specific stuff and make it abstract Register(ErrType) methods, errtypes then as structs log.xxx package with same interface as zerolog

  • jobs to clear error-db to only keep X entries... (requests-db already exists)

  • route to re-check all pro-token (for me)

  • endpoint to list all servernames of user (distinct select)

  • weblogin, webapp, ...

  • Pagination for ListChannels / ListSubscriptions / ListClients / ListChannelSubscriptions / ListUserSubscriptions

  • use job superclass (copy from isi/bnet/?), reduce duplicate code

  • admin panel (especially errors and requests)

  • cli app (?)

FUTURE

  • Remove compat, especially do not create compat id for every new message...