SimpleCloudNotifier/scnserver/TODO.md

97 lines
2.9 KiB
Markdown
Raw Normal View History

2022-11-19 17:09:23 +01:00
2022-11-30 10:35:05 +01:00
TODO
========
2022-11-19 17:09:23 +01:00
2023-01-13 17:17:17 +01:00
#### BEFORE RELEASE
2022-11-21 18:46:55 +01:00
- migration script for existing data
2023-01-15 06:30:30 +01:00
apply local deletion in (my) app
delete excessive dockerwatch messages (directly in db?)
2022-11-19 17:09:23 +01:00
2022-11-21 22:52:44 +01:00
- app-store link in HTML
2022-11-21 18:46:55 +01:00
2022-11-30 10:35:05 +01:00
- route to re-check all pro-token (for me)
2022-11-20 20:34:18 +01:00
- deploy
2023-01-13 17:17:17 +01:00
- error logging as goroutine, gets all errors via channel,
2022-12-23 20:27:21 +01:00
(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
2023-05-30 14:25:55 +02:00
- jobs to clear requests-db to only keep X entries... (logs-db already exists)
- /send endpoint should be compatible with the [ webhook ] notifier of uptime-kuma
(or add another /kuma endpoint)
-> https://webhook.site/
2023-01-15 06:30:30 +01:00
- endpoint to list all servernames of user (distinct select)
2023-01-18 21:56:37 +01:00
- ios purchase verification
2023-04-21 21:45:16 +02:00
- move to KeyToken model
* [X] User can have multiple keys with different permissions
* [X] compat simply uses default-keys
* [X] CRUD routes for keys
* [X] KeyToken.messagecounter
2023-05-27 18:51:20 +02:00
* [x] update old-data migration to create token-keys
* [x] unit tests
2023-04-21 21:45:16 +02:00
- 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?
- TODO-comments
2023-06-06 18:52:03 +02:00
- multistage build
2023-01-13 17:17:17 +01:00
#### PERSONAL
2022-11-30 10:35:05 +01:00
- in my script: use `srvname` for sendername
- switch send script everywhere (we can use the new server, but we need to send correct channels)
2023-05-28 22:27:38 +02:00
- do i need bool2db()? it seems to work for keytokens without them?
2023-01-13 17:17:17 +01:00
#### UNSURE
2022-11-30 10:35:05 +01:00
- (?) default-priority for channels
2022-11-30 10:35:05 +01:00
- (?) ack/read deliveries && return ack-count (? or not, how to query?)
2022-12-14 18:38:30 +01:00
- (?) "login" on website and list/search/filter messages
2022-11-30 10:35:05 +01:00
- (?) 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
2023-01-13 17:17:17 +01:00
#### LATER
- weblogin, webapp, ...
- Pagination for ListChannels / ListSubscriptions / ListClients / ListChannelSubscriptions / ListUserSubscriptions
2023-01-13 17:17:17 +01:00
2023-05-28 22:27:38 +02:00
- Use only single struct for DB|Model|JSON
* needs sq.Converter implementation
* needs to handle joined data
* rfctime.Time...
2023-05-27 23:54:14 +02:00
2023-05-30 14:25:55 +02:00
- use job superclass (copy from isi/bnet/?), reduce duplicate code
- golang ci
- cannot open sqlite in dbbrowsr (cannot parse schema?)
-> https://github.com/sqlitebrowser/sqlitebrowser/issues/292 -> https://github.com/sqlitebrowser/sqlitebrowser/issues/29266
2023-01-13 17:17:17 +01:00
#### FUTURE
2023-04-21 21:45:16 +02:00
- Remove compat, especially do not create compat id for every new message...