Commit graph

288 commits

Author SHA1 Message Date
Adam Brown
f3ee1440e9 Add Microsoft Store download option 2026-01-20 20:05:05 -08:00
Adam Brown
2d27b0fe2e
New Crowdin updates (#462)
* New translations messages_en.properties (Portuguese, Brazilian)

* New translations full_description.txt (Portuguese, Brazilian)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations full_description.txt (Portuguese, Brazilian)

* New translations full_description.txt (Portuguese, Brazilian)
2026-01-18 10:54:09 -08:00
Adam Brown
dea2beed02 Implement HTTP caching for the web-frontend 2026-01-15 17:16:33 -08:00
Adam Brown
c41375a851
New Crowdin updates (#459)
* New translations messages_en.properties (French)

* New translations messages_en.properties (Spanish)

* New translations messages_en.properties (German)

* New translations messages_en.properties (Italian)

* New translations messages_en.properties (Ukrainian)

* New translations messages_en.properties (Chinese Simplified)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations strings_account_settings.xml (French)

* New translations strings_account_settings.xml (Spanish)

* New translations strings_account_settings.xml (German)

* New translations strings_account_settings.xml (Italian)

* New translations strings_account_settings.xml (Ukrainian)

* New translations strings_account_settings.xml (Chinese Simplified)

* New translations strings_account_settings.xml (Portuguese, Brazilian)
2026-01-14 22:58:07 -08:00
Adam Brown
cb7aa60718 Add Snapcraft option to downloads 2026-01-14 00:01:15 -08:00
Adam Brown
b2e2500f81
New Crowdin updates (#457)
* New translations messages_en.properties (French)

* New translations messages_en.properties (Spanish)

* New translations messages_en.properties (German)

* New translations messages_en.properties (Italian)

* New translations messages_en.properties (Ukrainian)

* New translations messages_en.properties (Chinese Simplified)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations messages_en.properties (French)

* New translations messages_en.properties (Spanish)

* New translations messages_en.properties (German)

* New translations messages_en.properties (Italian)

* New translations messages_en.properties (Ukrainian)

* New translations messages_en.properties (Chinese Simplified)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations strings_timeline.xml (Portuguese, Brazilian)

* New translations strings_drafts.xml (Portuguese, Brazilian)

* New translations strings_encyclopedia.xml (Portuguese, Brazilian)

* New translations strings_timeline.xml (Portuguese, Brazilian)

* New translations strings.xml (Portuguese, Brazilian)

* New translations strings_about_app.xml (Portuguese, Brazilian)

* New translations strings_scene_editor.xml (Portuguese, Brazilian)

* New translations messages_en.properties (French)

* New translations messages_en.properties (Spanish)

* New translations messages_en.properties (German)

* New translations messages_en.properties (Italian)

* New translations messages_en.properties (Ukrainian)

* New translations messages_en.properties (Chinese Simplified)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations strings.xml (Portuguese, Brazilian)

* New translations strings_account_settings.xml (Portuguese, Brazilian)

* New translations strings_drafts.xml (Portuguese, Brazilian)

* New translations strings_encyclopedia.xml (Portuguese, Brazilian)

* New translations strings_project_home.xml (Portuguese, Brazilian)

* New translations strings_projects_list.xml (Portuguese, Brazilian)

* New translations strings_scene_list.xml (Portuguese, Brazilian)

* New translations strings.xml (Portuguese, Brazilian)

* New translations messages_en.properties (French)

* New translations messages_en.properties (Spanish)

* New translations messages_en.properties (German)

* New translations messages_en.properties (Italian)

* New translations messages_en.properties (Ukrainian)

* New translations messages_en.properties (Chinese Simplified)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations strings_account_settings.xml (Portuguese, Brazilian)

* New translations strings_encyclopedia.xml (Portuguese, Brazilian)

* New translations strings_notes.xml (Portuguese, Brazilian)

* New translations strings_project_home.xml (Portuguese, Brazilian)

* New translations strings_projects_list.xml (Portuguese, Brazilian)

* New translations strings_scene_editor.xml (Portuguese, Brazilian)

* New translations strings.xml (Portuguese, Brazilian)

* New translations full_description.txt (French)

* New translations full_description.txt (Spanish)

* New translations full_description.txt (German)

* New translations full_description.txt (Italian)

* New translations full_description.txt (Ukrainian)

* New translations full_description.txt (Chinese Simplified)

* New translations full_description.txt (Portuguese, Brazilian)

* New translations strings_account_settings.xml (French)

* New translations strings_account_settings.xml (Spanish)

* New translations strings_account_settings.xml (German)

* New translations strings_account_settings.xml (Italian)

* New translations strings_account_settings.xml (Ukrainian)

* New translations strings_account_settings.xml (Chinese Simplified)

* New translations strings_account_settings.xml (Portuguese, Brazilian)

* New translations strings_scene_editor.xml (French)

* New translations strings_scene_editor.xml (Spanish)

* New translations strings_scene_editor.xml (German)

* New translations strings_scene_editor.xml (Italian)

* New translations strings_scene_editor.xml (Ukrainian)

* New translations strings_scene_editor.xml (Chinese Simplified)

* New translations strings_scene_editor.xml (Portuguese, Brazilian)

* New translations strings_scene_list.xml (French)

* New translations strings_scene_list.xml (Spanish)

* New translations strings_scene_list.xml (German)

* New translations strings_scene_list.xml (Italian)

* New translations strings_scene_list.xml (Ukrainian)

* New translations strings_scene_list.xml (Chinese Simplified)

* New translations strings_scene_list.xml (Portuguese, Brazilian)

* New translations strings_notes.xml (Portuguese, Brazilian)

* New translations strings_scene_editor.xml (Portuguese, Brazilian)

* New translations strings_scene_list.xml (Portuguese, Brazilian)

* New translations strings_sync.xml (French)

* New translations strings_sync.xml (Spanish)

* New translations strings_sync.xml (German)

* New translations strings_sync.xml (Italian)

* New translations strings_sync.xml (Ukrainian)

* New translations strings_sync.xml (Chinese Simplified)

* New translations strings_sync.xml (Portuguese, Brazilian)

* New translations messages_en.properties (French)

* New translations messages_en.properties (Spanish)

* New translations messages_en.properties (German)

* New translations messages_en.properties (Italian)

* New translations messages_en.properties (Ukrainian)

* New translations messages_en.properties (Chinese Simplified)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations strings_scene_editor.xml (French)

* New translations strings_scene_editor.xml (Spanish)

* New translations strings_scene_editor.xml (German)

* New translations strings_scene_editor.xml (Italian)

* New translations strings_scene_editor.xml (Ukrainian)

* New translations strings_scene_editor.xml (Chinese Simplified)

* New translations strings_scene_editor.xml (Portuguese, Brazilian)
2026-01-13 23:53:15 -08:00
Adam Brown
3933be40ed Add a specific message if patreon is enabled 2026-01-13 23:50:47 -08:00
Adam Brown
cd1c491c0b Improved Server setup error messaging
Add client-side validation for email, password, and URL, along with shared validation utilities

Server error messages can now properly bubble up to the UI
2026-01-13 23:50:47 -08:00
Adam Brown
5b2f393d57 Add a dev indicator on the web frontend
Lets you know if you're in production or not
2026-01-12 19:32:36 -08:00
Adam Brown
729e97834b Add sorting controls to the admin user page 2026-01-12 18:42:46 -08:00
Adam Brown
1796772684 Show if a whitelist entry has an account 2026-01-12 17:17:29 -08:00
Adam Brown
1a27e24468 Add sorting to whitelist UI 2026-01-12 17:02:45 -08:00
Adam Brown
98da3e7b20 Remove the old Filesystem based storage approach on the server 2026-01-12 16:33:23 -08:00
Adam Brown
2cbf1be2f1 Fixed archived not being hashed
setup a test to catch this in the future
2026-01-12 15:18:38 -08:00
Adam Brown
4ada7b3f14 Sync protocol can now heal stale server data 2026-01-12 14:26:40 -08:00
Adam Brown
a5b57ca23d Implement scene archiving!
Also dramatically improve test fidelity around client sync code
2026-01-11 21:41:06 -08:00
Adam Brown
184e748742 Improve some UX around Whitelist & Patreon integration 2026-01-11 15:46:44 -08:00
Adam Brown
2fde2589ba Don't show whitelist if patreon isn't enabled. 2026-01-11 15:42:47 -08:00
Adam Brown
6976ac8bd1 WhiteList: Add edit for reason 2026-01-11 14:29:55 -08:00
Adam Brown
d8852d2c32 Add more Email services 2026-01-11 01:57:45 -08:00
Adam Brown
949ce4debd publish snap only after publish-google-play 2026-01-11 00:56:43 -08:00
Adam Brown
99aaba215e
New Crowdin updates (#456)
* New translations messages_en.properties (French)

* New translations messages_en.properties (Spanish)

* New translations messages_en.properties (German)

* New translations messages_en.properties (Italian)

* New translations messages_en.properties (Ukrainian)

* New translations messages_en.properties (Chinese Simplified)

* New translations messages_en.properties (Portuguese, Brazilian)
2026-01-10 22:43:01 -08:00
Adam Brown
731ff830fb Security Hardening
- All user-generated Markdown content is now sanitized
- story passwords are not URL encoded
2026-01-10 18:06:13 -08:00
Adam Brown
4f196d06e0 Rework header nav to include our new destinations
- Improve community callout with live data
2026-01-10 18:06:13 -08:00
Adam Brown
d49a8d9715 Rework header nav to include our new destinations
- Improve community callout with live data
2026-01-10 18:06:13 -08:00
Adam Brown
6b0ff43c48 Implement the new Community server feature 2026-01-10 18:06:13 -08:00
Adam Brown
8a401b466b Introduce a setup mode for when a server has no admin account yet 2026-01-10 18:06:13 -08:00
Adam Brown
61348d54c4 Add "community_member" to database
for future features
2026-01-09 14:58:40 -08:00
Adam Brown
a30a47c627 Change from string based HTML element construction to DSL based 2026-01-09 14:46:40 -08:00
Adam Brown
f1f7041187 Reorganize the admin page code into smaller files 2026-01-09 14:32:36 -08:00
Adam Brown
eb571bfaa1
New Crowdin updates (#455)
* New translations messages_en.properties (Spanish)

* New translations strings.xml (Spanish)

* New translations messages_en.properties (Spanish)
2026-01-09 14:15:30 -08:00
Adam Brown
adcaee600c
New Crowdin updates (#452)
* New translations messages_en.properties (French)

* New translations messages_en.properties (Spanish)

* New translations messages_en.properties (German)

* New translations messages_en.properties (Italian)

* New translations messages_en.properties (Ukrainian)

* New translations messages_en.properties (Chinese Simplified)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations strings_about_app.xml (French)

* New translations strings_about_app.xml (Spanish)

* New translations strings_about_app.xml (German)

* New translations strings_about_app.xml (Italian)

* New translations strings_about_app.xml (Ukrainian)

* New translations strings_about_app.xml (Chinese Simplified)

* New translations strings_about_app.xml (Portuguese, Brazilian)

* New translations messages_en.properties (French)

* New translations messages_en.properties (Spanish)

* New translations messages_en.properties (German)

* New translations messages_en.properties (Italian)

* New translations messages_en.properties (Ukrainian)

* New translations messages_en.properties (Chinese Simplified)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations messages_en.properties (French)

* New translations messages_en.properties (Spanish)

* New translations messages_en.properties (German)

* New translations messages_en.properties (Italian)

* New translations messages_en.properties (Ukrainian)

* New translations messages_en.properties (Chinese Simplified)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations messages_en.properties (French)

* New translations messages_en.properties (Spanish)

* New translations messages_en.properties (German)

* New translations messages_en.properties (Italian)

* New translations messages_en.properties (Ukrainian)

* New translations messages_en.properties (Chinese Simplified)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations strings_sync.xml (French)

* New translations strings_sync.xml (Spanish)

* New translations strings_sync.xml (German)

* New translations strings_sync.xml (Italian)

* New translations strings_sync.xml (Ukrainian)

* New translations strings_sync.xml (Chinese Simplified)

* New translations strings_sync.xml (Portuguese, Brazilian)
2026-01-09 00:03:10 -08:00
Adam Brown
d77d8573dd Security hardening with some sensible headers 2026-01-08 22:34:50 -08:00
Adam Brown
798189ab64 Server Security
Auth Tokens are now stored hashed in the database
2026-01-08 21:37:07 -08:00
Adam Brown
b6e4a67634 Increase Argon2 parameters 2026-01-08 21:04:25 -08:00
Adam Brown
669238a7a8 Add email_verified on server
it's not used yet, but we've got it if we need it
2026-01-08 21:03:30 -08:00
Adam Brown
e19b1aec24 Improved the masthead 2026-01-08 20:53:05 -08:00
Adam Brown
aa63ed57f3 Lots of polish around Login and Server Setup
Explanitory callouts and such
2026-01-08 18:38:43 -08:00
Adam Brown
d89d2422f2 Server migration fixes 2026-01-08 18:18:50 -08:00
Adam Brown
d3ddceaa4d Fix migration, DROP columns isn't supported I guess 2026-01-08 00:56:06 -08:00
Adam Brown
7bacbdf49a Fix for whitelist migration 2026-01-08 00:26:37 -08:00
Adam Brown
917e013ac3 Changed password hash to argon2 2026-01-07 23:51:00 -08:00
Adam Brown
9ed9681a34 Changed password hash to argon2 2026-01-07 22:08:21 -08:00
Adam Brown
45eeed7d5c Implemented a Password Reset system 2026-01-07 21:17:22 -08:00
Adam Brown
52ff3693cd Implemented an Email system 2026-01-07 19:18:22 -08:00
Adam Brown
28059ba5af Add the ability to load PEM certificate chain and private key files
This makes using certificates from Let's Encrypt much easier
2026-01-07 00:38:46 -08:00
Adam Brown
8106901f9b Added patreon to whtielist
User's can be automatically added to the whitelist by subscribing to the whitelist
2026-01-06 23:42:40 -08:00
Adam Brown
19f598e836 Add Server About page 2026-01-06 20:40:43 -08:00
Adam Brown
72920e83f7 Set ktor mode 2026-01-06 20:40:43 -08:00
Adam Brown
4964bfcd74 Add "Server About Page" to the back end server admin 2026-01-06 20:40:43 -08:00