Skip to content

Commit b62649e

Browse files
briansmileyclaude
andcommitted
Rollback: revert multi-cohort and all subsequent changes
Reverts commits 7cd390c..c5f4008 (15 commits) to restore the pre-multi-cohort state. Critical event tomorrow — rolling back to last known stable state. Reverted commits: - 7cd390c Multi-cohort support with per-member initial balance (#358) - 1a9259e Allow sudoed admins higher decimal precision (#370) - 612f7e7 Add select all / clear buttons to transfer recipient multiselect (#350) - ec96705 Link cohort members to existing users when added by email (#378) - eed7a73 Consolidate admin page data loading into single /api/admin/overview (#381) - eac92d0 Populate global user display name from id_token on login (ARB-515) (#380) - c5461ee Remove redundant Refresh button from /admin page (#382) - 77168e3 Sync Kinde admin role into global_user.is_admin (ARB-512) (#379) - 685ee0c Remove dead get_market_positions and fix 0.5.0 ImportError (#385) - e9d49f7 Constrain initial balance inputs to numeric values (#383) - 95ff300 Stop overwriting global_user display_name on admin REST calls (#386) - 0163100 Show user email on admin page while editing display name (#387) - 85f2c5f Fix user selection dropdown hover when multiple users have same name (#388) - 3fedb38 Add admins to cohort member list on access (ARB-510) (#389) - c5f4008 Fan out display-name rename to every cohort (ARB-513) (#390) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c5f4008 commit b62649e

88 files changed

Lines changed: 1458 additions & 5363 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.dockerignore

Lines changed: 0 additions & 11 deletions
This file was deleted.

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,4 @@ node_modules
55
backend/uploads
66
.dev-ports
77
.playwright-cli
8-
.claude/worktrees/
9-
.vercel
108
.claude

.vercelignore

Lines changed: 0 additions & 7 deletions
This file was deleted.

AGENTS.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ Copy the appropriate template to `frontend/.env` for your use case:
256256

257257
#### `backend/src/main.rs`
258258
- **Entry point** for the backend server
259-
- Initializes Axum router with per-cohort WebSocket handler at `/api/ws/:cohort_name`, admin/user REST endpoints, and image upload/serving routes
259+
- Initializes Axum router with WebSocket handler at `/api`, image upload/serving routes, and Airtable sync endpoint
260260
- Implements port binding with fallback logic (tries sequential ports if in use)
261261
- Manages uploads directory and request body size limits
262262
- Depends on `lib.rs` for `AppState`, `handle_socket.rs` for WebSocket handling
@@ -266,7 +266,7 @@ Copy the appropriate template to `frontend/.env` for your use case:
266266
- Defines `AppState` struct containing DB connection pool, pub/sub subscriptions, and rate limiters
267267
- Configures separate admin/user rate limit quotas for expensive queries and mutations
268268
- Includes protobuf module generation via `build.rs`
269-
- Declares modules: `websocket_api`, `auth`, `db`, `global_db`, `handle_socket`, `subscriptions`, `convert`, `seed`, `test_utils`
269+
- Declares modules: `websocket_api`, `auth`, `db`, `handle_socket`, `subscriptions`, `airtable_users`, `convert`, `seed`, `test_utils`
270270

271271
#### `backend/src/handle_socket.rs`
272272
- Core WebSocket request/response handler (~1150 lines)
@@ -301,6 +301,11 @@ Copy the appropriate template to `frontend/.env` for your use case:
301301
- Implements `From` trait for all domain types (Portfolio, Market, Order, Trade, Transfer, Account, Auction)
302302
- Converts Rust Decimal to protobuf floats, timestamps to protobuf Timestamp format
303303

304+
#### `backend/src/airtable_users.rs`
305+
- Syncs Airtable student records to Kinde and database
306+
- Creates Kinde accounts and DB entries, assigns initial balances based on product ID
307+
- Caches Kinde API tokens, logs errors back to Airtable
308+
304309
#### `backend/src/seed.rs`
305310
- Development seed data (feature-gated behind `dev-mode`)
306311
- Seeds fresh databases with test accounts (Alice, Bob, Charlie, Admin), markets, orders, and trades

backend/.gitignore

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,3 @@ target/
33
db.sqlite
44
db.sqlite-shm
55
db.sqlite-wal
6-
*.sqlite
7-
*.sqlite-shm
8-
*.sqlite-wal

backend/.sqlx/query-62de5a5e7713956efa9ee7f382a36c1c1646d5f224b97ba88985192518773f92.json renamed to backend/.sqlx/query-0c7c90c8753c66208ee11c0cc2826e7044881937d5d1aadccb5dc412dec9f55a.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/.sqlx/query-c5b871f0027f934fbacb865decf5fdd15baf76d68296c07a3bf00a3f33115f3e.json renamed to backend/.sqlx/query-258bf770e5ae4ba380572b612c2aaa979ff496e650b43498854eb42e2b72848e.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

backend/.sqlx/query-433242ec70fe924887b6fde177112404d773129357a3845da91d0ec752fd143a.json

Lines changed: 0 additions & 26 deletions
This file was deleted.

backend/.sqlx/query-46a626a49c0e079a63e534937feead6335e6f34afa2f9a867b6d08e671feb0d4.json

Lines changed: 0 additions & 20 deletions
This file was deleted.

backend/.sqlx/query-98aba038f48d4dc2f929955a9fa90166defea7deb41560c9bcd35a8c60b7bb59.json renamed to backend/.sqlx/query-573c8349f125b65d642b439cacd5e900b4fad9fb3a396c3a625c2adbfdb30a7f.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)