Commit Graph

164 Commits

Author SHA1 Message Date
CactusBlue
1ffd1e3e5b
User permissions (#573)
<!-- ELLIPSIS_HIDDEN -->


> [!IMPORTANT]
> Adds user permissions management, including models, API endpoints, and
tests, alongside existing team permissions.
> 
>   - **Behavior**:
> - Adds user permissions alongside team permissions, allowing for
user-specific permission management.
> - Introduces `ProjectUserDirectPermission` model in `schema.prisma`
for direct user permissions.
>     - Updates `PermissionScope` enum from `GLOBAL` to `USER`.
>   - **API**:
> - Adds CRUD endpoints for user permissions in `user-permissions` and
`user-permission-definitions`.
> - Updates existing team permission endpoints to support user
permissions.
>   - **Tests**:
> - Adds e2e tests for user permissions in `user-permissions.test.ts`
and `user-permission-definitions.test.ts`.
> - Updates existing tests to include user permissions where applicable.
>   - **Misc**:
> - Updates `adminInterface.ts` and `server-app-impl.ts` to handle user
permissions.
> - Modifies `known-errors.tsx` to include `UserPermissionRequired`
error.
> - Adjusts `project-configs` and `projects` to include user default
permissions.
> 
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for 8b73e668e2. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->
2025-03-25 02:20:53 +01:00
Moritz Schneider
6776af30fd
Active Sessions Page (#528)
<img width="1443" alt="image"
src="https://github.com/user-attachments/assets/611ede72-4d46-41dc-adea-9546c04b199a"
/>

Adds new active sessions page to settings

<!-- ELLIPSIS_HIDDEN -->


----

> [!IMPORTANT]
> Adds an active sessions page to settings, enabling users to view and
manage their sessions, with backend support for session listing and
deletion.
> 
>   - **Active Sessions Page**:
> - Adds `ActiveSessionsPage` component in `account-settings.tsx` to
display active sessions.
> - Allows revoking individual sessions or all sessions except the
current one.
>   - **Backend Changes**:
> - Adds `sessionsCrudHandlers` in `crud.tsx` for session management
(list, delete).
> - Updates `ProjectUserRefreshToken` model in `schema.prisma` to
include `id` and `isImpersonation` fields.
> - Implements session listing and deletion in `serverInterface.ts` and
`client-app-impl.ts`.
>   - **Error Handling**:
> - Introduces `CannotDeleteCurrentSession` error in `known-errors.tsx`.
>   - **Testing**:
> - Adds tests for session management in
`endpoints/api/v1/auth/sessions` tests.
> 
> <sup>This description was created by </sup>[<img alt="Ellipsis"
src="https://img.shields.io/badge/Ellipsis-blue?color=175173">](https://www.ellipsis.dev?ref=stack-auth%2Fstack-auth&utm_source=github&utm_medium=referral)<sup>
for ba78df0928. It will automatically
update as commits are pushed.</sup>


<!-- ELLIPSIS_HIDDEN -->

---------

Co-authored-by: TheCactusBlue <thecactusblue@gmail.com>
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-03-12 22:35:32 +01:00
Konstantin Wohlwend
5ae3603f5e Demo page now centers sign in component 2025-03-12 10:07:43 -07:00
Konsti Wohlwend
b41681d1e4
Reduce test flakeyness (#517)
Some checks failed
All good? / all-good (push) Has been cancelled
Update pull request branches / Update pull request branches (push) Has been cancelled
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
Docker Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Test / docker (push) Has been cancelled
Runs E2E API Tests / build (20.x) (push) Has been cancelled
Runs E2E API Tests / build (22.x) (push) Has been cancelled
Runs E2E API Tests / build (latest) (push) Has been cancelled
Lint & build / lint_and_build (20.x) (push) Has been cancelled
Lint & build / lint_and_build (22.x) (push) Has been cancelled
Mirror main branch to main-mirror-for-wdb / lint_and_build (push) Has been cancelled
Publish Docs / run (push) Has been cancelled
Dev Environment Test / test (push) Has been cancelled
Run setup tests / test (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
2025-03-07 13:34:50 -08:00
Konstantin Wohlwend
3754ee3370 Fix tests 2025-03-02 21:34:49 -08:00
Konsti Wohlwend
5239c10ebf
Split stack-app.ts file into multiple files (#492) 2025-03-02 21:20:42 -08:00
Konstantin Wohlwend
f1c722a6e2 Make 10% of all transactions serializable 2025-03-02 17:15:20 -08:00
devin-ai-integration[bot]
9a76d10c2a
[DEVIN: Konsti] Add in-source unit tests to stack-shared utilities (#485)
* Add in-source unit tests to stack-shared utilities

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix type checking and linting issues

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix lint errors in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix remaining lint errors in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix lint warnings in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix wait function mocking in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix retry function test in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix React.forwardRef mock in react.tsx test

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix trailing spaces in react.tsx and results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Revert to DependenciesMap and wrap rejected promise in ignoreUnhandledRejection

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix

* Revert changes to known-errors.tsx constructor

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Make rotateRight call rotateLeft per review feedback

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Remove redundant @ts-expect-error directive in known-errors.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix import order in promises.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Fix

* Fix CI failures: add back @ts-expect-error in known-errors.tsx and revert mapResult implementation in results.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Remove unused @ts-expect-error directive in known-errors.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Add back @ts-expect-error directive with explanation in known-errors.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* Change @ts-expect-error to @ts-ignore in known-errors.tsx

Co-Authored-By: Konstantin Wohlwend <n2d4xc@gmail.com>

* be honest

* vocabulary

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
2025-02-28 01:47:37 +00:00
devin-ai-integration[bot]
e63d41408d
Add inline unit tests to utility functions in stack-shared (#467)
Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
2025-02-26 16:11:30 -08:00
Zai Shi
ef7e666656
JS lib docs (#444) 2025-02-20 00:48:05 +01:00
Zai Shi
9a75d60f99 added writeFileSyncIfChanged to all the codegen 2025-02-19 12:11:17 -08:00
Konstantin Wohlwend
6c62888360 Fix STACK-SERVER-QP 2025-02-17 11:12:34 -08:00
CactusBlue
816d64c850
In-source unit tests (#429)
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2025-02-14 11:47:52 -08:00
Zai Shi
a444e13342
Local emulator fixes (#437) 2025-02-14 02:02:24 +01:00
Zai Shi
e55b42f848
Local emulator (#422) 2025-02-13 18:57:02 +01:00
Konstantin Wohlwend
c280f35d4f Fix urlString function for multiple arguments 2025-02-12 14:35:15 -08:00
CactusBlue
afe9c52a87
Fix how URL concatenation works (#419)
* use urlString helper

* Update packages/stack-shared/src/utils/urls.tsx

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>

* add import back again

* revert isLocalHost back to its original impl

---------

Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2025-02-11 14:23:56 -08:00
CactusBlue
84ffe3b4f1
User page redesign (#405)
* Squash

* fixes

* change router

* correct it again

---------

Co-authored-by: Konstantin Wohlwend <n2d4xc@gmail.com>
2025-02-09 20:57:55 -08:00
Konsti Wohlwend
f2f1b9df82
Tenancies (#418)
Co-authored-by: Zai Shi <zaishi00@outlook.com>
2025-02-07 22:54:04 -08:00
Konsti Wohlwend
3c013cc105
nicify(...) now formats multiline strings nicely (#415)
Some checks failed
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
Docker Build and Push / Docker Build and Push Server (push) Has been cancelled
Docker Test / docker (push) Has been cancelled
Runs E2E API Tests / build (20.x) (push) Has been cancelled
Lint & build / lint_and_build (20.x) (push) Has been cancelled
Lint & build / lint_and_build (22.x) (push) Has been cancelled
Run setup tests / test (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
2025-02-02 19:22:06 -08:00
Konsti Wohlwend
447eee0def
Migrations toolkit (#409) 2025-02-01 17:46:21 -08:00
Zai Shi
ef1c693121 removed unused 2025-01-31 10:54:53 -08:00
CactusBlue
e27f7746c2
User ID Search, Again (#414) 2025-01-31 19:54:16 +01:00
Konstantin Wohlwend
02fa7f7dfa Fix cache error for static pages 2025-01-07 10:11:13 -08:00
Konsti Wohlwend
cf95bb707f
Raw project query (#382) 2024-12-28 11:47:09 -08:00
Konsti Wohlwend
8ce7c9f079
Raw SQL query for fetching users (#381) 2024-12-27 11:31:12 -08:00
Konstantin Wohlwend
a183bcca07 Address TODO next-release comments 2024-12-23 20:03:50 -08:00
CactusBlue
cd35e8cdc4
Dashboard Metrics (#361)
Co-authored-by: Konsti Wohlwend <n2d4xc@gmail.com>
2024-12-22 12:02:21 -08:00
Zai Shi
c1416ba727
Added sign out lock (#374) 2024-12-20 18:38:04 +01:00
Konstantin Wohlwend
45bfdfb759 Remove unnecessary console.log statements 2024-12-19 15:59:26 -08:00
Konstantin Wohlwend
4e251311b6 Don't fetch users table twice 2024-12-18 22:45:56 -08:00
Konstantin Wohlwend
9f73738d12 Forgiving caches 2024-12-18 22:24:07 -08:00
Konstantin Wohlwend
eae6bc34d8 Improved error capturing
Some checks failed
Ensure Prisma migrations are in sync with the schema / check_prisma_migrations (22.x) (push) Has been cancelled
Docker Build and Push / Docker Build and Push Server (push) Has been cancelled
Runs E2E API Tests / build (20.x) (push) Has been cancelled
Lint & build / lint_and_build (20.x) (push) Has been cancelled
Lint & build / lint_and_build (22.x) (push) Has been cancelled
Mirror main branch to main-mirror-for-wdb / lint_and_build (push) Has been cancelled
Publish Docs / run (push) Has been cancelled
TOC Generator / TOC Generator (push) Has been cancelled
2024-12-14 15:49:15 -08:00
Konstantin Wohlwend
a80a3b241c Don't retry transactions during development 2024-12-12 13:48:18 -08:00
Konstantin Wohlwend
c33ce8ab4f Retry Prisma transactions automatically 2024-12-12 13:34:42 -08:00
Konstantin Wohlwend
0db15d63b0 Disallow kid audience 2024-12-12 09:41:37 -08:00
Konstantin Wohlwend
46b8777e38 Better specs for Docker GH Action 2024-12-11 19:02:49 -08:00
Konstantin Wohlwend
f145e597c0 Increase Sentry maxValueLength 2024-12-11 18:56:42 -08:00
Konstantin Wohlwend
49445378eb Retry on Svix rate limits 2024-12-11 17:56:07 -08:00
Konstantin Wohlwend
b0db0a5f78 StackAssertion cause is now in extraData 2024-12-11 17:36:43 -08:00
Konstantin Wohlwend
62989f9783 Better email retries 2024-12-11 16:15:58 -08:00
Konstantin Wohlwend
032bc7c63a Browser compat debug info 2024-12-11 15:31:19 -08:00
Konstantin Wohlwend
6bf2c2b33d Fix USER_AUTHENTICATION_REQUIRED error on signout 2024-12-11 14:46:17 -08:00
Konsti Wohlwend
22676c563b
Neon project provision (#358) 2024-12-08 11:44:35 -08:00
Konstantin Wohlwend
27914c15ce Retry on INFINITE_LOOP_DETECTED error 2024-12-05 20:18:30 -08:00
Konstantin Wohlwend
b8b4ab98c1 Neon OAuth "Create new project" flow 2024-12-05 19:54:59 -08:00
Zai Shi
918f205bd9
Self-host docker (#353) 2024-12-01 15:57:51 +01:00
Konstantin Wohlwend
496f6e459b Force dynamic 2024-12-01 01:31:22 -08:00
Konstantin Wohlwend
89b00bb352 Update node-http socket 2024-12-01 01:12:26 -08:00
Konsti Wohlwend
cec718f542
Identity Provider/External OAuth (#323)
Co-authored-by: moritz <moritsch@student.ethz.ch>
2024-11-30 23:27:55 -08:00