Commit graph

1164 commits

Author SHA1 Message Date
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
4554655345 Add client version check to about 2026-01-06 20:40:43 -08:00
Adam Brown
a3f9a87d5c
New Crowdin updates (#449)
* New translations strings_desktop.xml (German)

* New translations strings_project_navigation.xml (German)

* New translations strings_project_select_navigation.xml (German)

* New translations strings_projects_list.xml (German)

* New translations messages_en.properties (German)

* New translations strings_timeline.xml (German)
2026-01-06 20:37:27 -08:00
Adam Brown
ee38a2112e
New Crowdin updates (#439)
* 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 strings.xml (French)

* New translations strings.xml (Spanish)

* New translations strings.xml (German)

* New translations strings.xml (Italian)

* New translations strings.xml (Ukrainian)

* New translations strings.xml (Chinese Simplified)

* 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 strings.xml (French)

* New translations strings.xml (Spanish)

* New translations strings.xml (German)

* New translations strings.xml (Italian)

* New translations strings.xml (Ukrainian)

* New translations messages_en.properties (Portuguese, Brazilian)

* New translations strings.xml (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 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_desktop.xml (French)

* New translations strings_desktop.xml (Spanish)

* New translations strings_desktop.xml (German)

* New translations strings_desktop.xml (Italian)

* New translations strings_desktop.xml (Ukrainian)

* New translations strings_desktop.xml (Chinese Simplified)

* New translations strings_desktop.xml (Portuguese, Brazilian)

* New translations strings_drafts.xml (French)

* New translations strings_drafts.xml (Spanish)

* New translations strings_drafts.xml (German)

* New translations strings_drafts.xml (Italian)

* New translations strings_drafts.xml (Ukrainian)

* New translations strings_drafts.xml (Chinese Simplified)

* New translations strings_drafts.xml (Portuguese, Brazilian)

* New translations strings_encyclopedia.xml (French)

* New translations strings_encyclopedia.xml (Spanish)

* New translations strings_encyclopedia.xml (German)

* New translations strings_encyclopedia.xml (Italian)

* New translations strings_encyclopedia.xml (Ukrainian)

* New translations strings_encyclopedia.xml (Chinese Simplified)

* New translations strings_encyclopedia.xml (Portuguese, Brazilian)

* New translations strings_notes.xml (French)

* New translations strings_notes.xml (Spanish)

* New translations strings_notes.xml (German)

* New translations strings_notes.xml (Italian)

* New translations strings_notes.xml (Ukrainian)

* New translations strings_notes.xml (Chinese Simplified)

* New translations strings_notes.xml (Portuguese, Brazilian)

* New translations strings_project_home.xml (French)

* New translations strings_project_home.xml (Spanish)

* New translations strings_project_home.xml (German)

* New translations strings_project_home.xml (Italian)

* New translations strings_project_home.xml (Ukrainian)

* New translations strings_project_home.xml (Chinese Simplified)

* New translations strings_project_home.xml (Portuguese, Brazilian)

* New translations strings_project_navigation.xml (French)

* New translations strings_project_navigation.xml (Spanish)

* New translations strings_project_navigation.xml (German)

* New translations strings_project_navigation.xml (Italian)

* New translations strings_project_navigation.xml (Ukrainian)

* New translations strings_project_navigation.xml (Chinese Simplified)

* New translations strings_project_navigation.xml (Portuguese, Brazilian)

* New translations strings_project_select_navigation.xml (French)

* New translations strings_project_select_navigation.xml (Spanish)

* New translations strings_project_select_navigation.xml (German)

* New translations strings_project_select_navigation.xml (Italian)

* New translations strings_project_select_navigation.xml (Ukrainian)

* New translations strings_project_select_navigation.xml (Chinese Simplified)

* New translations strings_project_select_navigation.xml (Portuguese, Brazilian)

* New translations strings_projects_list.xml (French)

* New translations strings_projects_list.xml (Spanish)

* New translations strings_projects_list.xml (German)

* New translations strings_projects_list.xml (Italian)

* New translations strings_projects_list.xml (Ukrainian)

* New translations strings_projects_list.xml (Chinese Simplified)

* New translations strings_projects_list.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_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 strings_timeline.xml (French)

* New translations strings_timeline.xml (Spanish)

* New translations strings_timeline.xml (German)

* New translations strings_timeline.xml (Italian)

* New translations strings_timeline.xml (Ukrainian)

* New translations strings_timeline.xml (Chinese Simplified)

* New translations strings_timeline.xml (Portuguese, Brazilian)

* New translations strings.xml (French)

* New translations strings.xml (Spanish)

* New translations strings.xml (German)

* New translations strings.xml (Italian)

* New translations strings.xml (Ukrainian)

* New translations strings.xml (Chinese Simplified)

* 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 short_description.txt (French)

* New translations short_description.txt (Spanish)

* New translations short_description.txt (German)

* New translations short_description.txt (Italian)

* New translations short_description.txt (Ukrainian)

* New translations short_description.txt (Chinese Simplified)

* New translations short_description.txt (Portuguese, Brazilian)

* New translations title.txt (French)

* New translations title.txt (Spanish)

* New translations title.txt (German)

* New translations title.txt (Italian)

* New translations title.txt (Ukrainian)

* New translations title.txt (Chinese Simplified)

* New translations title.txt (Portuguese, Brazilian)

* New translations strings.xml (German)

* New translations strings_about_app.xml (German)

* New translations strings_account_settings.xml (German)

* New translations strings.xml (German)

* New translations messages_en.properties (German)

* New translations strings_account_settings.xml (German)

* New translations full_description.txt (German)

* New translations short_description.txt (German)

* New translations strings_about_app.xml (Portuguese, Brazilian)

* New translations short_description.txt (Portuguese, Brazilian)

* New translations strings.xml (Portuguese, Brazilian)

* New translations strings_desktop.xml (Portuguese, Brazilian)

* New translations strings_project_navigation.xml (Portuguese, Brazilian)

* New translations strings_project_select_navigation.xml (Portuguese, Brazilian)

* New translations full_description.txt (Portuguese, Brazilian)

* New translations strings.xml (Portuguese, Brazilian)

* New translations strings_project_home.xml (Portuguese, Brazilian)

* New translations strings.xml (Portuguese, Brazilian)

* New translations strings_notes.xml (Portuguese, Brazilian)

* New translations strings_project_home.xml (Portuguese, Brazilian)

* New translations strings_scene_editor.xml (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_encyclopedia.xml (French)

* New translations strings_encyclopedia.xml (Spanish)

* New translations strings_encyclopedia.xml (German)

* New translations strings_encyclopedia.xml (Italian)

* New translations strings_encyclopedia.xml (Ukrainian)

* New translations strings_encyclopedia.xml (Chinese Simplified)

* New translations strings_encyclopedia.xml (Portuguese, Brazilian)

* New translations strings_notes.xml (French)

* New translations strings_notes.xml (Spanish)

* New translations strings_notes.xml (German)

* New translations strings_notes.xml (Italian)

* New translations strings_notes.xml (Ukrainian)

* New translations strings_notes.xml (Chinese Simplified)

* New translations strings_notes.xml (Portuguese, Brazilian)

* New translations strings_projects_list.xml (French)

* New translations strings_projects_list.xml (Spanish)

* New translations strings_projects_list.xml (German)

* New translations strings_projects_list.xml (Italian)

* New translations strings_projects_list.xml (Ukrainian)

* New translations strings_projects_list.xml (Chinese Simplified)

* New translations strings_projects_list.xml (Portuguese, Brazilian)

* Clean up

* 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)

* New translations strings_notes.xml (French)

* New translations strings_notes.xml (Spanish)

* New translations strings_notes.xml (German)

* New translations strings_notes.xml (Italian)

* New translations strings_notes.xml (Ukrainian)

* New translations strings_notes.xml (Chinese Simplified)

* New translations strings_notes.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 short_description.txt (French)

* New translations short_description.txt (Spanish)

* New translations short_description.txt (German)

* New translations short_description.txt (Italian)

* New translations short_description.txt (Ukrainian)

* New translations title.txt (French)

* New translations title.txt (Spanish)

* New translations title.txt (German)

* New translations title.txt (Italian)

* New translations title.txt (Ukrainian)

* New translations full_description.txt (Chinese Simplified)

* New translations full_description.txt (Portuguese, Brazilian)

* New translations short_description.txt (Chinese Simplified)

* New translations short_description.txt (Portuguese, Brazilian)

* New translations title.txt (Chinese Simplified)

* New translations title.txt (Portuguese, Brazilian)

* Clean up
2026-01-06 00:35:32 -08:00
Adam Brown
5c2c815c2e Implemented backup sharing 2026-01-05 23:37:05 -08:00
Adam Brown
40eaf59fb7 Migrated detail view components to use a unified dropdown menu system.
- Unified how detail cards are presented
2026-01-05 19:48:00 -08:00
Adam Brown
6c4ee9e4a9 No more : 2026-01-05 00:13:20 -08:00
Adam Brown
3861a4c617 New icons! 2026-01-04 23:09:58 -08:00
Adam Brown
c7577a008f Added search and sort to notes 2026-01-04 22:14:42 -08:00
Adam Brown
2ca49ba5df Improved Sync cancellation UX
- All sync coroutines are not parented to the top level job making cancellation more complete
- Hitting the top level X now cancels a sync after confirmation
2026-01-04 20:30:52 -08:00
Adam Brown
a0152c986e Remove now unsupported languages 2026-01-04 01:08:05 -08:00
Adam Brown
037eaee563 Move stats cache to the actual cache dir 2026-01-03 16:15:07 -08:00
Adam Brown
0496cb4840 Styled Backup Manager Dialog
Pulled hard coded strings out
2025-12-30 11:09:50 -08:00
Adam Brown
325516f1c1 Remove : 2025-12-30 01:48:50 -08:00
Adam Brown
79bf620167 Scene editors now load their content async
This leaves the UI more responsive
2025-12-29 23:34:19 -08:00
Adam Brown
c0f4b2df26 Introduce statistics service
Project statistics are now cached, improves startup time
2025-12-29 21:10:26 -08:00
Adam Brown
ba38ffe66c Use the newer ComponentToaster pattern 2025-12-29 15:41:46 -08:00
Adam Brown
e507c8cc5b Added a BackupManager
You can now delete or restore backups from inside the app
2025-12-29 12:22:26 -08:00
Adam Brown
70481e036d Restore backup should remove the old files first 2025-12-29 10:39:30 -08:00
Adam Brown
b5dc27ed64 New backup settings UI 2025-12-29 02:16:35 -08:00
Adam Brown
db91d803df ProjectBackupRepository is now just common code 2025-12-29 01:48:45 -08:00
Adam Brown
cab419f618 Zip file handling rewritten 2025-12-29 01:03:30 -08:00
Adam Brown
34e55f5e89 Focus mode now enabled do-no-disturb on Android 2025-12-27 23:33:09 -08:00
Adam Brown
2156cc207b Allow focus mode to participate in predictive back 2025-12-27 19:20:39 -08:00
Adam Brown
ffa8ce6094 Fix example project crash 2025-12-25 12:21:19 -08:00
Adam Brown
abf7bcfa4b Change /end_sync to POST 2025-12-25 11:44:15 -08:00
Adam Brown
0290168896 Improve Delete project dialog 2025-12-24 19:42:17 -08:00
Adam Brown
9d13dd9d0a Refactor Delete project dialog 2025-12-24 19:29:14 -08:00
Adam Brown
08c9dbb9a6 Improve Project Rename dialog 2025-12-24 19:16:59 -08:00
Adam Brown
f9d482da58 Improve Create Project dialog 2025-12-24 19:14:39 -08:00
Adam Brown
9f57b742e2 Make sure we get an error message during account sync 2025-12-24 02:05:28 -08:00
Adam Brown
923941453e Edited some strings 2025-12-21 20:20:00 -08:00
Adam Brown
9e0d524c27 Fix some string wrapping 2025-12-21 20:02:18 -08:00
Adam Brown
80ea19d074 If projects missing IDs failing to sync
This previously only happened during account level syncing, now Project level syncing can handle it as well
2025-12-21 18:20:32 -08:00
Adam Brown
56dad1bf64 Migrate to Android KMP plugin 2025-12-21 11:51:40 -08:00
Adam Brown
9b75f02155 Validate Max Backups field 2025-12-21 02:00:52 -08:00
Adam Brown
7dcae48f4f Add Scene metadata to conflict resolution UI 2025-12-20 13:21:26 -08:00
Adam Brown
9445c6d450 Fix incorrect string breaks 2025-12-20 13:01:34 -08:00
Adam Brown
a2be3834dd Fix changing state off main thread 2025-12-20 12:20:33 -08:00
Adam Brown
c1016a6115 Syncing Protocol
- Enforce session expiration
- Handle missing project ID more gracefully
- Cleanup syncing protocol doc
2025-12-20 11:21:03 -08:00
Adam Brown
c1d1027573 Fix Draft Compare
Once you pick what to do with your Draft, it now properly updates the editor
2025-12-13 02:53:40 -08:00
Adam Brown
5c5f1f507f Draft naming is now for the current draft
When you start a new draft, you name it right then, not at the end when you're saving it and moving on to the next
2025-12-12 21:45:24 -08:00
Adam Brown
a94b806302 Shortened search field text 2025-12-12 17:21:16 -08:00
Adam Brown
f337821213 Fix project root navigation 2025-12-12 02:51:01 -08:00
Adam Brown
0ab8c2acf6 Add loading indicator 2025-12-12 02:38:53 -08:00
Adam Brown
202d0f3318 Fixed ProjectHome navigation 2025-12-12 01:59:13 -08:00
Adam Brown
bafec38f3d Refined ProjectHome UI 2025-12-12 01:37:11 -08:00
Adam Brown
8ddf4855bd Solved an encyclopedia bug
Where deleting an image, and then adding a new image, would not refresh the image shown in the UI
2025-12-12 00:57:30 -08:00
Adam Brown
0c5f5292ad Change server UI string 2025-12-11 22:57:39 -08:00
Adam Brown
b4968aace6 Converted SVGs to ImageVector 2025-12-11 21:41:55 -08:00