SimpleCloudNotifier/scnserver/TODO.md
Mike Schwörer 9d35916280
All checks were successful
Build Docker and Deploy / Build Docker Container (push) Successful in 1m52s
Build Docker and Deploy / Deploy to Server (push) Successful in 7s
Fix missing field in clients struct and non-partial fcmtoken index (also streamline db migrations)
2024-09-17 22:26:45 +02:00

1.9 KiB

TODO

DO DO DO

  • app-store link in HTML

  • ios purchase verification

  • exerr.New | exerr.Wrap

  • (!!!) Run tests in pipeline !!

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...