CasVT
fa9fc6fccb
Improved spacing of reminder entries in UI
2025-09-03 16:14:56 +02:00
CasVT
99eae8f914
Add user option to change username
2025-09-03 15:28:36 +02:00
CasVT
4c33e65784
Updated API docs
2025-08-30 21:28:23 +00:00
CasVT
aef883e0da
Added 2FA in the backend
2025-08-30 23:12:50 +02:00
CasVT
7456561a3a
Fixed bug in migration where NS bindings were lost
...
The migration would recreate the reminders table but by deferring the foreign keys, the entries in the reminder_services table were removed (ON DELETE CASCADE) so no reminder had a notification service selected. Fixed that by completely turning off and on the foreign key system instead of simply deferring them.
2025-08-29 16:16:16 +02:00
CasVT
8e6224fb27
Added link to project board in README
2025-08-28 18:13:46 +02:00
CasVT
597b52e4dd
Added links to articles featuring MIND in README
2025-08-28 18:07:20 +02:00
CasVT
fc5bdba55e
Fixed Discord links
2025-08-28 17:44:20 +02:00
CasVT
4444b007bd
Refined favicon and added PNGs
2025-08-28 17:13:44 +02:00
CasVT
6496220b54
Fixed docstrings in Server class
2025-08-26 17:26:19 +02:00
CasVT
f07dee0400
Refactored MIND.py
2025-08-26 17:07:49 +02:00
CasVT
3d6b57eb88
Refactored api.py endpoint handlers
2025-08-26 16:28:12 +02:00
CasVT
d4d6d0973c
Clean expired API keys every 24h
...
If someone logs in, then never logs back in while the key expires, then the key is stored in the dict and never deleted. So every 24 hours delete all keys that have been expired for more than 24 hours. Avoids a memory leak-like situation.
2025-08-26 02:30:01 +02:00
CasVT
515ef665a2
Changed what's stored in global context vars for API
2025-08-26 01:52:01 +02:00
CasVT
b68284530b
Changed generation and hashing of API keys
...
Moved from generating API keys using os.urandom to secrets.token_hex. Moved from hashing the keys using stdlib.hash to hashlib.sha256.
2025-08-26 00:50:46 +02:00
CasVT
42891f5f32
Moved API inputs to context globals
2025-08-25 23:29:16 +02:00
CasVT
6244aff737
Improved type hinting in api.py
2025-08-25 22:49:35 +02:00
CasVT
2aa1258500
Refactored ui.py
2025-08-25 21:43:01 +02:00
CasVT
b18f305cc5
Run timezone check on startup
2025-08-25 21:11:10 +02:00
CasVT
590c0b25ce
Refactored tz_shifter.py
2025-08-25 20:56:04 +02:00
CasVT
3df51b2cbf
Moved doc string
2025-08-25 20:32:31 +02:00
CasVT
1c0277a552
Updated API docs
2025-08-21 15:54:04 +00:00
CasVT
a369e80ab3
Refactored reminder_handler.py
2025-08-21 17:53:31 +02:00
CasVT
61882e609a
Refactored reminders.py
2025-08-21 16:57:23 +02:00
CasVT
85a2f32dad
Refactored static_reminders.py
2025-08-21 15:52:09 +02:00
CasVT
71c3c9b36c
Fixed docstrings in templates.py
2025-08-21 15:38:28 +02:00
CasVT
1f4ac2d433
Updated docstrings in users.py
2025-08-21 15:30:46 +02:00
CasVT
414eae0614
Refactored templates.py
2025-08-21 15:28:40 +02:00
CasVT
08bd642224
Refactored notification_services.py
2025-08-21 15:15:46 +02:00
CasVT
536d1a0b93
Renamed variables in Users class
2025-08-21 15:10:04 +02:00
CasVT
bafd8abe6a
Refactored users.py
2025-08-18 17:05:35 +02:00
CasVT
6da1d3b2f6
Refactored apprise_parser.py
2025-08-18 16:27:10 +02:00
CasVT
d80dd8c2a0
Moved reminders.py, static_reminders.py and templates.py to implementations folder
2025-08-18 15:29:35 +02:00
CasVT
5bfe6e207d
Supply URL prefix when starting server
...
Before it would be set via a method, but it's more logical for it to just be supplied when starting to run the server, alongside the host and port.
2025-08-18 15:22:29 +02:00
CasVT
c9719ec221
Create Flask app on init of Server class
2025-08-17 16:34:49 +02:00
CasVT
39d5c9e51e
Fixed link to manifest when using url prefix
2025-08-17 16:30:14 +02:00
CasVT
a8ad6712b2
Removed unnecessary call to close DB connection
2025-08-17 16:08:42 +02:00
CasVT
b427c2c1d4
Refactored Flask error handling setup
2025-08-15 16:42:25 +02:00
CasVT
3847e2fa07
Fixed JSON formatting of API responses
2025-08-12 17:56:52 +02:00
CasVT
344214a605
Refactored signaling of restart type on restart
2025-08-12 17:28:28 +02:00
CasVT
b5387a0635
Moved API prefixes from Server to Constants
2025-08-12 16:57:13 +02:00
CasVT
8739e1ab95
Refactored start type handling
2025-08-06 18:46:48 +02:00
CasVT
492674d280
Turned DatabaseBackupHandler methods into classmethods
2025-08-05 12:26:57 +02:00
CasVT
75823c0899
Put closing threads DB connection into own method
2025-08-05 12:18:56 +02:00
CasVT
cc43df13f9
Only allow editing public settings via API
2025-08-04 18:29:02 +02:00
CasVT
129859048d
Split internal settings into separate dataclass
2025-08-03 16:44:27 +02:00
CasVT
258c3db83d
Refactored settings.py
2025-08-03 13:24:06 +02:00
CasVT
1e09ce1510
Copy over last DB backup timestamp on DB import
...
When importing a backup from a long time ago (more than one DB backup interval ago), a backup would be created the moment the import was done, regardless of when the previous backup was made (so even when that was minutes ago). Now the schedule is kept, by copying over the timestamp of the last DB backup from the current DB to the imported DB.
2025-08-03 12:20:49 +02:00
CasVT
40473de47a
Changes made since startup were carried over on DB import
...
The changes made since startup, stored in the wal file, were carried over when importing a database. This was because the database file was replaced with the imported database file, but the changes were stored in the wal file. So now we merge all changes into the main database file before replacing them.
2025-08-02 18:54:28 +02:00
CasVT
9b3b9637a3
Fixed "Keep hosting settings" option in frontend
2025-08-02 18:06:02 +02:00