This website requires JavaScript.
359ab96779
Prototype for an l10n message bundle database
l10n-db
Savanni D'Gerinel
2025-02-21 10:28:41 -0500
11e33eca2f
Set up a shared types library
visions-ui-framework
Savanni D'Gerinel
2025-02-20 09:45:53 -0500
fd3ca9f561
Set up the most basic of authentication clients
Savanni D'Gerinel
2025-02-20 07:39:35 -0500
e8a8a12de3
Start capturing input
Savanni D'Gerinel
2025-02-19 22:39:42 -0500
7f0b7982ec
Switch from println to log from gloo-console
Savanni D'Gerinel
2025-02-18 23:23:46 -0500
5e4fd97aca
Set up some callbacks to handle the login page state
Savanni D'Gerinel
2025-02-18 23:18:23 -0500
1c4894df9a
Start on the client module
Savanni D'Gerinel
2025-02-18 21:36:01 -0500
20b214df10
Start adding some concepts around UI state
Savanni D'Gerinel
2025-02-18 08:25:40 -0500
ca89455d4d
Set up a Yew login page
Savanni D'Gerinel
2025-02-17 23:03:12 -0500
2ff981e28a
Nuke another speculative UI
Savanni D'Gerinel
2025-02-17 21:51:14 -0500
672578b9a9
Add a micro-prototype Yew application
Savanni D'Gerinel
2025-02-17 18:28:18 -0500
fb2fcf4d36
Abortive attempt to set up a trivial web application
Savanni D'Gerinel
2025-02-17 16:19:33 -0500
a1dc573fc5
Adjust all build processes
Savanni D'Gerinel
2025-02-17 15:44:01 -0500
0d39690560
Start rebuilding the typescript config, this time for web components
Savanni D'Gerinel
2025-02-17 15:17:30 -0500
9439cfea34
Purge the Vite/React application
Savanni D'Gerinel
2025-02-17 09:34:26 -0500
1d050f014a
Set up rudimentary state, App, and a test for the App
Savanni D'Gerinel
2025-02-17 08:48:46 -0500
df1dfeaae3
Set up dependencies
Savanni D'Gerinel
2025-02-16 20:50:50 -0500
8ab8cd0684
Set up a package for just the types
Savanni D'Gerinel
2025-02-16 20:22:20 -0500
aa7229eae4
Rename VResponse to AuthResponse and use it only in Authentication
Savanni D'Gerinel
2025-02-16 19:41:05 -0500
0663a70c97
Force the password-reset state to Unauthorized on most auth-required routes
Savanni D'Gerinel
2025-02-16 15:54:34 -0500
41bb21c254
Set up client tests
Savanni D'Gerinel
2025-02-16 14:10:28 -0500
182020e136
Create a typescript client library for the server
Savanni D'Gerinel
2025-02-14 09:53:08 -0500
79af050f53
Make a sample auth endpoint
Savanni D'Gerinel
2025-02-14 09:26:04 -0500
dca9c3c39e
Set up automated testing
Savanni D'Gerinel
2025-02-13 22:58:04 -0500
e9f89e1bdb
Create a tiny server for testing the Fetch API
Savanni D'Gerinel
2025-02-13 22:41:17 -0500
f6534d5d05
Switch to vite instead of typescript
Savanni D'Gerinel
2025-02-13 19:01:21 -0500
151876bcd4
Create the three parts of the app
main
Savanni D'Gerinel
2025-02-13 09:54:09 -0500
9802124822
Convert the current Visions code into a prototype.
Savanni D'Gerinel
2025-02-13 09:39:22 -0500
87b187c8f1
Add the ability to delete a session
Savanni D'Gerinel
2025-02-10 00:25:16 -0500
4a0dc5b87a
Disable a lot of code and start setting up tests for the authentication view
Savanni D'Gerinel
2025-02-10 00:17:28 -0500
0cc170c719
Implement a USB serial example
pico-usb-serial
Savanni D'Gerinel
2025-01-28 22:09:13 -0500
94a821d657
Improve the user profile, create a Modal, and provide a way to create a user
Savanni D'Gerinel
2025-01-26 21:30:05 -0500
dcd5514433
Let the admin see a list of users and the state of each one
Savanni D'Gerinel
2025-01-26 19:58:59 -0500
90224a6841
Be able to authenticate and get back Success, PasswordReset, and Locked
Savanni D'Gerinel
2025-01-20 22:19:16 -0500
84ee790f0b
Create an API-friendly version of the User object
Savanni D'Gerinel
2025-01-20 20:59:40 -0500
ac3a21f3f0
Remove printouts
Savanni D'Gerinel
2025-01-20 19:51:04 -0500
ef0e9f16b8
Update password expiration management
Savanni D'Gerinel
2025-01-20 19:44:04 -0500
06bb0811e0
Fix the core tests
Savanni D'Gerinel
2025-01-11 13:17:58 -0500
b138e6da0a
realign database queries and begin restoring check_password
Savanni D'Gerinel
2025-01-11 12:43:13 -0500
e19d97663d
Change the data types of the internal interfaces, and switch password expiration to an AccountState
Savanni D'Gerinel
2025-01-11 11:43:32 -0500
d0ba8d921d
Create a user expiration time and make new users immediately expired
Savanni D'Gerinel
2025-01-05 17:16:47 -0500
f9e903da54
Expand out the profile to start including a list of characters and games
Savanni D'Gerinel
2025-01-05 00:21:01 -0500
a2cdaef689
Tweak the task file and update the cargo files
Savanni D'Gerinel
2025-01-19 13:59:29 -0500
49c7a37d28
Restore file-service
Savanni D'Gerinel
2025-01-19 13:44:20 -0500
aa155dc090
Update the nix flake build
Savanni D'Gerinel
2025-01-19 13:33:52 -0500
da5144caea
Switch cyberpunk-splash from deprecated glib channels
Savanni D'Gerinel
2025-01-19 13:18:31 -0500
f9e4dcd68a
Resolve warnings in dashboard
Savanni D'Gerinel
2025-01-19 12:58:54 -0500
35abcfcf28
Resolve warnings in screenplay
Savanni D'Gerinel
2025-01-19 12:53:31 -0500
cc4f8c1515
Fix warnings mostly in the SGF parser
Savanni D'Gerinel
2025-01-19 12:31:26 -0500
d5b4d051a5
Remove the deprecated glib channel from the bike lights simulator
Savanni D'Gerinel
2025-01-19 10:32:53 -0500
81143f0b9c
Fix a lot of very simple, easy warnings
Savanni D'Gerinel
2025-01-18 22:38:10 -0500
f59c3544b4
Set up the landing page, which shows the user their profile
Savanni D'Gerinel
2025-01-03 16:50:56 -0500
208083d39e
Authenticate the user and populate AppState with the stored session ID
Savanni D'Gerinel
2025-01-03 16:19:43 -0500
08462388ea
Move the assertNever utility to a utilities file
Savanni D'Gerinel
2025-01-03 11:59:33 -0500
dc8cb834e0
Handle all applications errors in one location
Savanni D'Gerinel
2025-01-02 22:34:10 -0500
4dc7a50000
Get games that the user is GMing in the user profile
Savanni D'Gerinel
2025-01-02 14:45:06 -0500
5bb9f00a0d
Extract the user management handlers
Savanni D'Gerinel
2025-01-02 13:41:05 -0500
f6eb942371
Add the ability to create a game
Savanni D'Gerinel
2025-01-02 11:57:17 -0500
792437af44
Add the ability for a user to set their password
Savanni D'Gerinel
2025-01-01 00:19:12 -0500
d9f1efb8d3
Add the ability to create users and to get profiles
Savanni D'Gerinel
2024-12-31 23:47:40 -0500
b2a7577c9d
Make handlers asynchronous
Savanni D'Gerinel
2024-12-31 16:34:59 -0500
82e41d711b
Extract authentication into a wrapper function
Savanni D'Gerinel
2024-12-31 14:16:44 -0500
822dfe2a13
authenticate an endpoint for getting the user profile
Savanni D'Gerinel
2024-12-31 14:09:21 -0500
a0f1a0b81c
Test user authentication
Savanni D'Gerinel
2024-12-31 12:56:05 -0500
a33b94e5b3
Resolve many warnings
Savanni D'Gerinel
2024-12-31 11:47:24 -0500
a18cdb0710
Create a test for the healthcheck endpoint
Savanni D'Gerinel
2024-12-31 01:12:26 -0500
c31870367f
Switch to Axum and implement the password check
Savanni D'Gerinel
2024-12-30 21:05:31 -0500
e4c5ce0236
Set up a bit of code that rejects requests that have no authorization header
Savanni D'Gerinel
2024-12-29 23:39:43 -0500
085a82776e
Write a macro that eases communication between DbConn and DiskDb
Savanni D'Gerinel
2024-12-27 14:59:24 -0500
2b1a0b99f8
Lots of linting and refactoring
Savanni D'Gerinel
2024-12-27 14:29:07 -0500
fb34d0d965
Move the database into a more complex sub-module
Savanni D'Gerinel
2024-12-27 14:05:41 -0500
d5f4b7cfa5
Add session creation and lookup
Savanni D'Gerinel
2024-12-27 14:02:43 -0500
1d400ce38b
Start wrapping routes into standalone functions
Savanni D'Gerinel
2024-12-24 14:37:37 -0500
e62ff9aa7a
Check username and password
Savanni D'Gerinel
2024-12-22 09:17:00 -0500
2a616ef6c9
Set the admin password on a new server
Savanni D'Gerinel
2024-12-17 23:43:36 -0500
f6a45a9223
Merge the auth state into a tabletop in the AppState provider
Savanni D'Gerinel
2024-12-17 00:50:25 -0500
7d7e6ef300
Start trying to set up providers
Savanni D'Gerinel
2024-12-16 23:46:02 -0500
af0ab5d020
Create a status endpoint that shows the onboarding UI if there's no admin password
Savanni D'Gerinel
2024-12-16 00:27:55 -0500
7ca1581b55
Set up a state provider
Savanni D'Gerinel
2024-12-15 23:20:09 -0500
5e89b8257d
Set up the authentication page
Savanni D'Gerinel
2024-12-15 22:49:53 -0500
7466ef2a6f
Remove the original UI files
Savanni D'Gerinel
2024-12-15 21:42:01 -0500
e505c21bc8
Set up an admin panel that shows the list of users
Savanni D'Gerinel
2024-12-10 22:43:15 -0500
e8bc0590c6
Make the interface to show users in the system
Savanni D'Gerinel
2024-12-01 14:07:37 -0500
5c23f326b6
Add the ability to save users and games. Link games more tightly to characters
Savanni D'Gerinel
2024-12-01 11:14:28 -0500
d7e4293da0
Start using ResultExt to improve error handling
Savanni D'Gerinel
2024-12-01 00:51:08 -0500
afb510d92e
Set up new tables to handle users and roles
Savanni D'Gerinel
2024-11-30 23:03:52 -0500
82c8f3f96e
Clean up the database schema
Savanni D'Gerinel
2024-11-30 18:55:51 -0500
d8ea2aac40
Retrieve the charsheet from the database and render it in the UI
Savanni D'Gerinel
2024-11-30 18:43:20 -0500
995390ae4b
Just make the entire core asynchronous
Savanni D'Gerinel
2024-11-30 15:24:57 -0500
970e957143
Prepopulate the database
Savanni D'Gerinel
2024-11-30 12:20:38 -0500
b506d479d3
Switch all channels to async-std
Savanni D'Gerinel
2024-11-30 12:05:31 -0500
d78a471437
Create a shareable connection to the database
Savanni D'Gerinel
2024-11-30 11:48:35 -0500
341e184947
Set up a database and store a character sheet in it
Savanni D'Gerinel
2024-11-29 23:14:52 -0500
38d76e0048
Update sql-based database dependencies
Savanni D'Gerinel
2024-11-29 17:26:06 -0500
253940c2ae
Add a side panel character sheet
Savanni D'Gerinel
2024-11-28 22:28:41 -0500
d3db9d60c2
Fix asset providing
Savanni D'Gerinel
2024-11-28 21:32:13 -0500
b382c68382
Add role and specialty
Savanni D'Gerinel
2024-11-27 18:40:14 -0500
0202b7bd59
Set up a drive guage for candela drives
Savanni D'Gerinel
2024-11-27 10:56:11 -0500
311cd9c9a5
Set up rendering and formatting for actions and action groups
Savanni D'Gerinel
2024-11-27 09:37:48 -0500
db8e67420f
Start on a Candela Obscura plugin
Savanni D'Gerinel
2024-11-25 08:28:22 -0500